--- acidlab-0.9.6b20.orig/acid_stat_iplink.php +++ acidlab-0.9.6b20/acid_stat_iplink.php @@ -55,9 +55,11 @@ $qs->AddValidAction("ag_by_id"); $qs->AddValidAction("ag_by_name"); + $qs->AddValidAction("add_new_ag"); $qs->AddValidAction("del_alert"); $qs->AddValidAction("email_alert"); $qs->AddValidAction("email_alert2"); + $qs->AddValidAction("csv_alert"); $qs->AddValidAction("archive_alert"); $qs->AddValidAction("archive_alert2"); --- acidlab-0.9.6b20.orig/acid_qry_form.php +++ acidlab-0.9.6b20/acid_qry_form.php @@ -4,40 +4,40 @@ * * Author: Roman Danyliw , * - * Copyright (C) 2000, 2001 Carnegie Mellon University + * Copyright (C) 2000, 2001, 2002 Carnegie Mellon University * (see the file 'acid_main.php' for license details) * * Purpose: renders the HTML form to gather search criteria * */ -if ( $submit == "TCP" ) { $layer4 = "TCP"; } -if ( $submit == "UDP" ) { $layer4 = "UDP"; } -if ( $submit == "ICMP" ) { $layer4 = "ICMP"; } -if ( $submit == "no layer4" ) { $layer4 = ""; } - -if ( $submit == "ADD Time" && $time_cnt < $MAX_ROWS) - AddCriteriaFormRow($submit, $layer4, $time_cnt, $time, TIME_CFCNT); -if ( $submit == "ADD Addr" && $ip_addr_cnt < $MAX_ROWS) - AddCriteriaFormRow($submit, $layer4, $ip_addr_cnt, $ip_addr, IPADDR_CFCNT); -if ( $submit == "ADD IP Field" && $ip_field_cnt < $MAX_ROWS) - AddCriteriaFormRow($submit, $layer4, $ip_field_cnt, $ip_field, PROTO_CFCNT); +if ( $submit == "TCP" ) { $cs->criteria['layer4']->Set("TCP"); } +if ( $submit == "UDP" ) { $cs->criteria['layer4']->Set("UDP"); } +if ( $submit == "ICMP" ) { $cs->criteria['layer4']->Set("ICMP"); } +if ( $submit == "no layer4" ) { $cs->criteria['layer4']->Set(""); } + +if ( $submit == "ADD Time" && $cs->criteria['time']->GetFormItemCnt() < $MAX_ROWS) + $cs->criteria['time']->AddFormItem($submit, $cs->criteria['layer4']->Get()); +if ( $submit == "ADD Addr" && $cs->criteria['ip_addr']->GetFormItemCnt() < $MAX_ROWS) + $cs->criteria['ip_addr']->AddFormItem($submit, $cs->criteria['layer4']->Get()); +if ( $submit == "ADD IP Field" && $cs->criteria['ip_field']->GetFormItemCnt() < $MAX_ROWS) + $cs->criteria['ip_field']->AddFormItem($submit, $cs->criteria['layer4']->Get()); /*if ( $submit == "ADD IP Option Field" && $ip_opt_cnt < $MAX_ROWS) { $submit = $layer4; $ip_opt_cnt++; }*/ -if ( $submit == "ADD TCP Port" && $tcp_port_cnt < $MAX_ROWS) - AddCriteriaFormRow($submit, $layer4, $tcp_port_cnt, $tcp_port, TCPPORT_CFCNT); -if ( $submit == "ADD TCP Field" && $tcp_field_cnt < $MAX_ROWS) - AddCriteriaFormRow($submit, $layer4, $tcp_field_cnt, $tcp_field, PROTO_CFCNT); +if ( $submit == "ADD TCP Port" && $cs->criteria['tcp_port']->GetFormItemCnt() < $MAX_ROWS) + $cs->criteria['tcp_port']->AddFormItem($submit, $cs->criteria['layer4']->Get()); +if ( $submit == "ADD TCP Field" && $cs->criteria['tcp_field']->GetFormItemCnt() < $MAX_ROWS) + $cs->criteria['tcp_field']->AddFormItem($submit, $cs->criteria['layer4']->Get()); /*if ( $submit == "ADD TCP Option Field" && $tcp_opt_cnt < $MAX_ROWS) { $submit = $layer4; $tcp_opt_cnt++; } */ -if ( $submit == "ADD UDP Port" && $udp_port_cnt < $MAX_ROWS) - AddCriteriaFormRow($submit, $layer4, $udp_port_cnt, $udp_port, PROTO_CFCNT); -if ( $submit == "ADD UDP Field" && $udp_field_cnt < $MAX_ROWS) - AddCriteriaFormRow($submit, $layer4, $udp_field_cnt, $udp_field, PROTO_CFCNT); -if ( $submit == "ADD ICMP Field" && $icmp_field_cnt < $MAX_ROWS) - AddCriteriaFormRow($submit, $layer4, $icmp_field_cnt, $icmp_field, PROTO_CFCNT); -if ( $submit == "ADD Payload" && $data_cnt < $MAX_ROWS) - AddCriteriaFormRow($submit, $layer4, $data_cnt, $data, PAYLOAD_CFCNT); +if ( $submit == "ADD UDP Port" && $cs->criteria['udp_port']->GetFormItemCnt() < $MAX_ROWS) + $cs->criteria['udp_port']->AddFormItem($submit, $cs->criteria['layer4']->Get()); +if ( $submit == "ADD UDP Field" && $cs->criteria['udp_field']->GetFormItemCnt() < $MAX_ROWS) + $cs->criteria['udp_field']->AddFormItem($submit, $cs->criteria['layer4']->Get()); +if ( $submit == "ADD ICMP Field" && $cs->criteria['icmp_field']->GetFormItemCnt() < $MAX_ROWS) + $cs->criteria['icmp_field']->AddFormItem($submit, $cs->criteria['layer4']->Get()); +if ( $submit == "ADD Payload" && $cs->criteria['data']->GetFormItemCnt() < $MAX_ROWS) + $cs->criteria['data']->AddFormItem($submit, $cs->criteria['layer4']->Get()); echo ' @@ -50,93 +50,25 @@ '; + Sensor: '; + $cs->criteria['sensor']->PrintForm(); + + echo 'Alert Group: '; + $cs->criteria['ag']->PrintForm(); + echo ''; echo ''; @@ -144,55 +76,8 @@ echo '
- Sensor: -    - Alert Group: -   
Signature: '; - echo ''; - - echo ' -
Alert Time: '; - - for ( $i = 0; $i < $time_cnt; $i++ ) - { - echo ''; - echo ''; - - echo ''; - echo ''; - echo ''; - - echo ':'; - echo ':'; - echo ''; - - echo ''; - echo ''; - - - if ( $i == $time_cnt-1 ) - echo ' '; - echo '
'; - } + $cs->criteria['time']->PrintForm(); + echo '
'; @@ -208,73 +93,13 @@ '; echo '
Address:'; echo ' '; - for ( $i = 0; $i < $ip_addr_cnt; $i++ ) - { - echo ' '; - echo ' '; - echo ' .'; - echo ' .'; - echo ' .'; - echo ' '; - } - echo ' '; - echo ' '; - if ( $i == $ip_addr_cnt-1 ) - echo ' '; - echo '
'; - } + + $cs->criteria['ip_addr']->PrintForm(); echo '
Misc:'; echo ' '; - for ( $i = 0; $i < $ip_field_cnt; $i++ ) - { - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo ' '; - if ( $i == $ip_field_cnt-1 ) - echo ' '; - echo '
'; - } + + $cs->criteria['ip_field']->PrintForm(); /* echo '
Option:'; echo ' '; @@ -306,30 +131,13 @@ echo '
Layer-4: '; - if ( $layer4 != "" ) - echo '  '; - if ( $layer4 == "TCP" ) - echo ' -   - '; - else if ( $layer4 == "UDP" ) - echo ' -   - '; - else if ( $layer4 == "ICMP" ) - echo ' -   - '; - else - echo ' -   - - '; + + $cs->criteria['layer4']->PrintForm(); echo '
'; -if ( $layer4 == "TCP" ) +if ( $cs->criteria['layer4']->Get() == "TCP" ) { echo ' @@ -344,79 +152,16 @@ echo 'Port:'; echo ' '; - for ( $i = 0; $i < $tcp_port_cnt; $i++ ) - { - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo ' '; - if ( $i == $tcp_port_cnt-1 ) - echo ' '; - echo '
'; - } + $cs->criteria['tcp_port']->PrintForm(); echo ' Flags:'; - echo ''; - echo ' '; - echo ' [RSV1]  '; - echo ' [RSV0]  '; - echo ' [URG]  '; - echo ' [ACK]  '; - echo ' [PSH]  '; - echo ' [RST]  '; - echo ' [SYN]  '; - echo ' [FIN]  '; - echo ' '; + $cs->criteria['tcp_flags']->PrintForm(); echo 'Misc:'; echo ' '; - for ( $i = 0; $i < $tcp_field_cnt; $i++ ) - { - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo ' '; - if ( $i == $tcp_field_cnt-1 ) - echo ' '; - echo '
'; - } + $cs->criteria['tcp_field']->PrintForm(); /* echo 'Option:'; echo ' '; @@ -449,7 +194,7 @@ '; } -if ( $layer4 == "UDP" ) +if ( $cs->criteria['layer4']->Get() == "UDP" ) { echo ' @@ -464,64 +209,17 @@ echo 'Port:'; echo ' '; - for ( $i = 0; $i < $udp_port_cnt; $i++ ) - { - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo ' '; - if ( $i == $udp_port_cnt-1 ) - echo ' '; - echo '
'; - } + $cs->criteria['udp_port']->PrintForm(); echo 'Misc:'; echo ' '; - for ( $i = 0; $i < $udp_field_cnt; $i++ ) - { - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo ' '; - if ( $i == $udp_field_cnt-1 ) - echo ' '; - echo '
'; - } - + $cs->criteria['udp_field']->PrintForm(); echo' '; } -if ( $layer4 == "ICMP" ) +if ( $cs->criteria['layer4']->Get() == "ICMP" ) { echo ' @@ -537,35 +235,7 @@ echo 'Misc:'; echo ' '; - for ( $i = 0; $i < $icmp_field_cnt; $i++ ) - { - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo ' '; - if ( $i == $icmp_field_cnt-1 ) - echo ' '; - echo '
'; - } + $cs->criteria['icmp_field']->PrintForm(); echo ' '; } @@ -581,37 +251,9 @@ -
Input Criteria Encoding Type:'; - echo ''; - echo 'Convert To (when searching):'; - echo ''; - echo '
'; - - for ( $i = 0; $i < $data_cnt; $i++ ) - { - echo ''; - echo ''; - - echo ''; - - echo ''; - echo ''; +
'; + $cs->criteria['data']->PrintForm(); - if ( $i == $data_cnt-1 ) - echo ' '; - echo '
'; - } echo '
'; --- acidlab-0.9.6b20.orig/acid_state_common.inc +++ acidlab-0.9.6b20/acid_state_common.inc @@ -4,20 +4,30 @@ * * Author: Roman Danyliw , * - * Copyright (C) 2000, 2001 Carnegie Mellon University + * Copyright (C) 2000-2002 Carnegie Mellon University * (see the file 'acid_main.php' for license details) * * Purpose: routines to manipulate shared state (session * information) * */ - +/* *********************************************************************** + * Function: InitArray() + * + * @doc Defines an initializes a 1 or 2 dimensional PHP array. + * + * @param $a (in/out) array to initialize + * @param $dim1 number of elements of first dimension + * @param $dim2 number of elements of second dimension + * @param $value default value + * + ************************************************************************/ function InitArray(&$a, $dim1, $dim2, $value) { $a = ""; /* determine the number of dimensions in the array */ if ( $dim2 == 0 ) /* 1-dim */ - for ( $i = 0; $i < $dim2; $i++ ) + for ( $i = 0; $i < $dim1; $i++ ) $a[$i] = $value; else /* 2-dim */ for ( $i = 0; $i < $dim1; $i++ ) @@ -25,236 +35,245 @@ $a[$i][$j] = $value; } -function InitGlobalState() -{ - GLOBAL $time, $time_cnt, $sig, $sig_class, $sensor, $ag, - $ip_addr, $ip_addr_cnt, $ip_field, $ip_field_cnt, - $tcp_port, $tcp_port_cnt, $tcp_flags, $tcp_field, $tcp_field_cnt, - $udp_port, $udp_port_cnt, $udp_field, $udp_field_cnt, - $icmp_field, $icmp_field_cnt, - $have_meta, $have_ip, $have_tcp, $have_udp, $have_icmp, $have_data, - $layer4, $data, $data_cnt, $data_encode, $save_criteria, - $join_sql, $where_sql, $criteria_sql, $sql, $debug_mode, - $back_list, $back_list_cnt; - GLOBAL $MAX_ROWS; - - $caller = ""; - $layer4 = ""; - - InitArray($back_list, 1, 3, ""); - $back_list_cnt = 0; - - $ag = ""; - $sensor = ""; - InitArray($sig, 3, 0, ""); - $sig_class = ""; - InitArray($time, $MAX_ROWS, TIME_CFCNT, ""); - $time_cnt = 0; - - InitArray($ip_addr, $MAX_ROWS, IPADDR_CFCNT, ""); - $ip_addr_cnt = 0; - InitArray($ip_field, $MAX_ROWS, PROTO_CFCNT, ""); - $ip_field_cnt = 0; - - InitArray($tcp_port, $MAX_ROWS, PROTO_CFCNT, ""); - $tcp_port_cnt = 0; - InitArray($tcp_flags, $MAX_ROWS, TCPFLAGS_CFCNT, ""); - InitArray($tcp_field, $MAX_ROWS, PROTO_CFCNT, ""); - $tcp_field_cnt = 0; - - InitArray($udp_port, $MAX_ROWS, PROTO_CFCNT, ""); - $udp_port_cnt = 0; - InitArray($udp_field, $MAX_ROWS, PROTO_CFCNT, ""); - $udp_field_cnt = 0; - - InitArray($icmp_field, $MAX_ROWS, PROTO_CFCNT, ""); - $icmp_field_cnt = 0; - - InitArray($data_encode, 2, 0, ""); - InitArray($data, $MAX_ROWS, PAYLOAD_CFCNT, ""); - $data_cnt = 0; -} - +/* *********************************************************************** + * Function: RegisterGlobalState() + * + * @doc Application-specific wrapper for PHP session_start(). It performs + * a couple of additional configuration checks (notably for custom + * PHP session handlers). + * + ************************************************************************/ function RegisterGlobalState() { - GLOBAL $time, $time_cnt, $sig, $sensor, $ag, - $ip_addr, $ip_addr_cnt, $ip_field, $ip_field_cnt, - $tcp_port, $tcp_port_cnt, $tcp_flags, $tcp_field, $tcp_field_cnt, - $udp_port, $udp_port_cnt, $udp_field, $udp_field_cnt, - $icmp_field, $icmp_field_cnt, - $have_meta, $have_ip, $have_tcp, $have_udp, $have_icmp, $have_data, - $layer4, $data, $data_cnt, $data_encode, $save_criteria, - $join_sql, $where_sql, $criteria_sql, $sql, $debug_mode, - $back_list, $back_list_cnt; - - GLOBAL $MAX_ROWS; + /* Deal with user specified session handlers */ + if (session_module_name() == "user" ) + { + if ( $GLOBALS['use_user_session'] != 1 ) + { + ErrorMessage("PHP ERROR: A custom (user) PHP session have been detected. However, ACID has not been ". + "set to explicitly use this custom handler. Set use_user_session=1 in ". + "acid_conf.php"); + die(); + } + else if ( $GLOBALS['user_session_path'] != "" ) + { + if ( is_file($GLOBALS['user_session_path']) ) + { + include_once($GLOBALS['user_session_path']); + if ( $GLOBALS['user_session_function'] != "" ) + $GLOBALS['user_session_function'](); + } + else + { + ErrorMessage("PHP ERROR: A custom (user) PHP session hander has been configured, but the supplied ". + "hander code specified in user_session_path is invalid."); + die(); + } + } + else + { + ErrorMessage("PHP ERROR: A custom (user) PHP session handler has been configured, but the implementation ". + "of this handler has not been specified in ACID. If a custom session handler is desired, ". + "set the user_session_path variable in acid_conf.php."); + die(); + } + } session_start(); - session_register('back_list'); - session_register('back_list_cnt'); - session_register('layer4'); - - session_register('ag'); - session_register('sig_type'); - session_register('sig'); - session_register('sig_class'); - session_register('sensor'); - session_register('time'); - session_register('time_cnt'); - - session_register('ip_addr'); - session_register('ip_addr_cnt'); - session_register('ip_field'); - session_register('ip_field_cnt'); - - session_register('tcp_port'); - session_register('tcp_port_cnt'); - session_register('tcp_flags'); - session_register('tcp_field'); - session_register('tcp_field_cnt'); - - session_register('udp_port'); - session_register('udp_port_cnt'); - session_register('udp_field'); - session_register('udp_field_cnt'); - - session_register('icmp_field'); - session_register('icmp_field_cnt'); - - session_register('data_encode'); - session_register('data'); - session_register('data_cnt'); - - if ( $debug_mode > 0 ) + if ( $GLOBALS['debug_mode'] > 0 ) echo 'Session Registered
'; } -function ImportGlobalState() +/* *********************************************************************** + * Function: CleanVariables() + * + * @doc Removes invalid characters/data from a variable based on a + * specified mask of acceptable data or a list of explicit values. + * + * Note: only the mask or explicit list can be used a a time + * + * @param item variable to scrub + * @param valid_data mask of valid characters + * @param exception array with explicit values to match + * + * @return a sanitized version of the passed variable + * + ************************************************************************/ +function CleanVariable($item, $valid_data, $exception = "") { - GLOBAL $time, $time_cnt, $sig, $sig_type, $sig_class, $sensor, $ag, - $ip_addr, $ip_addr_cnt, $ip_field, $ip_field_cnt, - $tcp_port, $tcp_port_cnt, $tcp_flags, $tcp_field, $tcp_field_cnt, - $udp_port, $udp_port_cnt, $udp_field, $udp_field_cnt, - $icmp_field, $icmp_field_cnt, - $have_meta, $have_ip, $have_tcp, $have_udp, $have_icmp, $have_data, - $layer4, $data, $data_cnt, $data_encode, $save_criteria, - $join_sql, $where_sql, $criteria_sql, $sql, $debug_mode, - $caller, $layer4, $back_list, $back_list_cnt, $HTTP_SESSION_VARS; + return $item; - $ip_addr = SetSessionVar('ip_addr', $ip_addr); - $ip_addr_cnt = SetSessionVar('ip_addr_cnt', $ip_addr_cnt); + /* Check the exception value list first */ + if ( $exception != "" ) + { + if ( in_array($item, $exception) ) + return $item; + else + return ""; + } - /* expand IP into octets */ - for ( $i = 0; $i < $ip_addr_cnt; $i++ ) - { - if ( (isset ($ip_addr[$i][3])) && - (ereg("([0-9]*)\.([0-9]*)\.([0-9]*)\.([0-9]*)", $ip_addr[$i][3])) ) - { - $tmp_ip_str = $ip_addr[$i][7] = $ip_addr[$i][3]; - $ip_addr[$i][3] = strtok($tmp_ip_str, "."); - $ip_addr[$i][4] = strtok("."); - $ip_addr[$i][5] = strtok("."); - $ip_addr[$i][6] = strtok("/"); - $ip_addr[$i][10] = strtok(""); - } - } - - //$back_list = $HTTP_SESSION_VARS["back_list"]; - //$back_list_cnt = $HTTP_SESSION_VARS["back_list_cnt"]; - - $ag = SetSessionVar("ag", $ag); - $sig = SetSessionVar("sig", $sig); - $sig_type = SetSessionVar("sig_type", $sig_type); - $sig_class = SetSessionVar("sig_class", $sig_class); - $sensor = SetSessionVar('sensor', $sensor); - $time = SetSessionVar('time', $time); - $time_cnt = SetSessionVar('time_cnt', $time_cnt); - - $ip_field = SetSessionVar('ip_field', $ip_field); - $ip_field_cnt = SetSessionVar('ip_field_cnt', $ip_field_cnt); - - $tcp_port = SetSessionVar('tcp_port', $tcp_port); - $tcp_port_cnt = SetSessionVar('tcp_port_cnt', $tcp_port_cnt); - $tcp_flags = SetSessionVar('tcp_flags', $tcp_flags); - $tcp_field = SetSessionVar('tcp_field', $tcp_field); - $tcp_field_cnt = SetSessionVar('tcp_field_cnt', $tcp_field_cnt); - - $udp_port = SetSessionVar('udp_port', $udp_port); - $udp_port_cnt = SetSessionVar('udp_port_cnt', $udp_port_cnt); - $udp_field = SetSessionVar('udp_field', $udp_field); - $udp_field_cnt = SetSessionVar('udp_field_cnt', $udp_field_cnt); - - $icmp_field = SetSessionVar('icmp_field', $icmp_field); - $icmp_field_cnt = SetSessionVar('icmp_field_cnt', $icmp_field_cnt); - - $data_encode = SetSessionVar('data_encode', $data_encode); - $data = SetSessionVar('data', $data); - $data_cnt = SetSessionVar('data_cnt', $data_cnt); - - $layer4 = SetSessionVar('layer4', $layer4); - //$caller = SetSessionVar('caller', $caller); - // $sort_order = SetSessionVar('sort_order', $sort_order); -} + if ( $valid_data == "" ) + return $item; -function SanitizeVariable($item, $validchars) -{ - $len = strlen($item); + $regex_mask = ""; - for ( $i = 0; $i < $len; $i++ ); - -} + if ( ($valid_data & VAR_DIGIT) > 0 ) + $regex_mask = $regex_mask . "0-9"; -function CleanVariable($item, $method) -{ - return $item; - switch ($method) - { - case 0: /* only numbers */ - return ereg_replace ("^0123456789", "", $item); + if ( ($valid_data & VAR_LETTER) > 0 ) + $regex_mask = $regex_mask . "A-Za-z"; - case 1: /* IP address */ - return ereg_replace ("^0123456789\.", "", $item); - } + if ( ($valid_data & VAR_ULETTER) > 0 ) + $regex_mask = $regex_mask . "A-Z"; + + if ( ($valid_data & VAR_LLETTER) > 0 ) + $regex_mask = $regex_mask . "a-z"; + if ( ($valid_data & VAR_ALPHA) > 0 ) + $regex_mask = $regex_mask . "0-9A-Za-z"; + + if ( ($valid_data & VAR_SPACE) > 0 ) + $regex_mask = $regex_mask . "\ "; + + if ( ($valid_data & VAR_PERIOD) > 0 ) + $regex_mask = $regex_mask . "\."; + + if ( ($valid_data & VAR_OPAREN) > 0 ) + $regex_mask = $regex_mask . "\("; + + if ( ($valid_data & VAR_CPAREN) > 0 ) + $regex_mask = $regex_mask . "\)"; + + if ( ($valid_data & VAR_BOOLEAN) > 0 ) + $regex_mask = $regex_mask . "\)"; + + if ( ($valid_data & VAR_OPERATOR) > 0 ) + $regex_mask = $regex_mask . "\)"; + + if ( ($valid_data & VAR_PUNC) > 0 ) + $regex_mask = $regex_mask . "\!\#\$\%\^\&\*\_\-\=\+\:\;\,\?\ \(\))"; + + if ( ($valid_data & VAR_USCORE) > 0 ) + $regex_mask = $regex_mask . "\_"; + + if ( ($valid_data & VAR_AT) > 0 ) + $regex_mask = $regex_mask . "\@"; + + return ereg_replace("[^".$regex_mask."]", "", $item); } -function SetSessionVar($var_name, $old_value) +/* *********************************************************************** + * Function: SetSessionVar() + * + * @doc Handles retrieving and updating persistant session (criteria) + * data. This routine handles the details of checking for criteria + * updates passed through POST/GET and resolving this with values + * that may already have been set and stored in the session. + * + * All criteria variables need invoke this function before they are + * used for the first time to extract their previously stored values, + * and process potential updates to their value. + * + * Note: Validation of user input is not performed by this routine. + * + * @param $var_name name of the persistant session variable to retrieve + * + * @return the updated value of the persistant session variable named + * by $var_name + * + ************************************************************************/ +function SetSessionVar($var_name) { - GLOBAL $HTTP_POST_VARS, $HTTP_GET_VARS, $debug_mode; + GLOBAL $HTTP_POST_VARS, $HTTP_GET_VARS, $HTTP_SESSION_VARS; if ( isset($HTTP_POST_VARS[$var_name]) ) { - if ( $debug_mode > 0 ) echo "importing POST var '$var_name'
"; + if ( $GLOBALS['debug_mode'] > 0 ) echo "importing POST var '$var_name'
"; return $HTTP_POST_VARS[$var_name]; } else if ( isset($HTTP_GET_VARS[$var_name]) ) { - if ( $debug_mode > 0 ) echo "importing GET var '$var_name'
"; + if ( $GLOBALS['debug_mode'] > 0 ) echo "importing GET var '$var_name'
"; return $HTTP_GET_VARS[$var_name]; } + else if ( isset($HTTP_SESSION_VARS[$var_name]) ) + { + if ( $GLOBALS['debug_mode'] > 0 ) echo "importing SESSION var '$var_name'
"; + return $HTTP_SESSION_VARS[$var_name]; + } else - return $old_value; + return ""; } -function ImportHTTPVar($var_name) +/* *********************************************************************** + * Function: ImportHTTPVar() + * + * @doc Handles retrieving temporary state variables needed to present a + * given set of results (e.g., sort order, current record). The + * values of these variables are never persistantly stored. Rather, + * they are passed as HTTP POST and GET parameters. + * + * All temporary variables need invoke this function before they are + * used for the first time to extract their value. + * + * Optionally, sanitization parameters can be set, ala CleanVariable() + * syntax to validate the user input. + * + * @param $var_name name of the temporary state variable to retrieve + * @param $valid_data (optional) list of valid character types + * (see CleanVariable) + * @param $exception (optional) array of explicit values the imported + * variable must be set to + * + * @see CleanVariable + * + * @return the sanitized value of the temporary state variable named + * by $var_name + * + ************************************************************************/ +function ImportHTTPVar($var_name, $valid_data = "", $exception = "") { GLOBAL $HTTP_POST_VARS, $HTTP_GET_VARS, $debug_mode; + $tmp = ""; + if ( isset($HTTP_POST_VARS[$var_name]) ) { //if ( $debug_mode > 0 ) echo "importing POST var '$var_name'
"; - return $HTTP_POST_VARS[$var_name]; + $tmp = $HTTP_POST_VARS[$var_name]; } else if ( isset($HTTP_GET_VARS[$var_name]) ) { //if ( $debug_mode > 0 ) echo "importing GET var '$var_name'
"; - return $HTTP_GET_VARS[$var_name]; + $tmp = $HTTP_GET_VARS[$var_name]; } else - return ""; + $tmp = ""; + + return CleanVariable($tmp, $valid_data, $exception); } +/* *********************************************************************** + * Function: ExportHTTPVar() + * + * @doc Handles export of a temporary state variables needed to present a + * given set of results (e.g., sort order, current record). This + * routine creates a hidden HTML form variable. + * + * Note: The user is responsible for generating the appropriate HTML + * form code. + * + * Security Note: Only, temporary variables should make use of this + * function. These values are exposed in HTML to the + * user; he is free to modify them. + * + * @param $var_name name of the temporary state variable to export + * @param $var_value value of the temporary state variable + * + * @see ImportHTTPVar + * + ************************************************************************/ function ExportHTTPVar ($var_name, $var_value) { echo "\n"; --- acidlab-0.9.6b20.orig/create_acid_tbls_mssql_extra.sql +++ acidlab-0.9.6b20/create_acid_tbls_mssql_extra.sql @@ -0,0 +1,68 @@ +-- Copyright (C) 2002 Carnegie Mellon University +-- +-- Author: Roman Danyliw +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 2 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program; if not, write to the Free Software +-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +-- +-- - Purpose: +-- Add referential integrity to the database schema + +ALTER TABLE acid_event + ADD CONSTRAINT acid_event_fkey_sid_cid + FOREIGN KEY (sid,cid) REFERENCES event (sid,cid) + ON DELETE CASCADE + ON UPDATE CASCADE; + +ALTER TABLE acid_ag_alert + ADD CONSTRAINT acid_ag_alert_fkey_sid_cid + FOREIGN KEY (ag_sid,ag_cid) REFERENCES event (sid,cid) + ON DELETE CASCADE + ON UPDATE CASCADE; + +ALTER TABLE iphdr + ADD CONSTRAINT iphdr_fkey_sid_cid + FOREIGN KEY (sid,cid) REFERENCES event (sid,cid) + ON DELETE CASCADE + ON UPDATE CASCADE; + +ALTER TABLE tcphdr + ADD CONSTRAINT tcphdr_fkey_sid_cid + FOREIGN KEY (sid,cid) REFERENCES event (sid,cid) + ON DELETE CASCADE + ON UPDATE CASCADE; + +ALTER TABLE udphdr + ADD CONSTRAINT udphdr_fkey_sid_cid + FOREIGN KEY (sid,cid) REFERENCES event (sid,cid) + ON DELETE CASCADE + ON UPDATE CASCADE; + +ALTER TABLE icmphdr + ADD CONSTRAINT icmphdr_fkey_sid_cid + FOREIGN KEY (sid,cid) REFERENCES event (sid,cid) + ON DELETE CASCADE + ON UPDATE CASCADE; + +ALTER TABLE opt + ADD CONSTRAINT opt_fkey_sid_cid + FOREIGN KEY (sid,cid) REFERENCES event (sid,cid) + ON DELETE CASCADE + ON UPDATE CASCADE; + +ALTER TABLE data + ADD CONSTRAINT data_fkey_sid_cid + FOREIGN KEY (sid,cid) REFERENCES event (sid,cid) + ON DELETE CASCADE + ON UPDATE CASCADE; --- acidlab-0.9.6b20.orig/create_acid_tbls_pgsql_extra.sql +++ acidlab-0.9.6b20/create_acid_tbls_pgsql_extra.sql @@ -0,0 +1,68 @@ +-- Copyright (C) 2002 Carnegie Mellon University +-- +-- Author: Roman Danyliw +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 2 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program; if not, write to the Free Software +-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +-- +-- - Purpose: +-- Add referential integrity to the database schema + +ALTER TABLE acid_event + ADD CONSTRAINT acid_event_fkey_sid_cid + FOREIGN KEY (sid,cid) REFERENCES event (sid,cid) + ON DELETE CASCADE + ON UPDATE CASCADE; + +ALTER TABLE acid_ag_alert + ADD CONSTRAINT acid_ag_alert_fkey_sid_cid + FOREIGN KEY (ag_sid,ag_cid) REFERENCES event (sid,cid) + ON DELETE CASCADE + ON UPDATE CASCADE; + +ALTER TABLE iphdr + ADD CONSTRAINT iphdr_fkey_sid_cid + FOREIGN KEY (sid,cid) REFERENCES event (sid,cid) + ON DELETE CASCADE + ON UPDATE CASCADE; + +ALTER TABLE tcphdr + ADD CONSTRAINT tcphdr_fkey_sid_cid + FOREIGN KEY (sid,cid) REFERENCES event (sid,cid) + ON DELETE CASCADE + ON UPDATE CASCADE; + +ALTER TABLE udphdr + ADD CONSTRAINT udphdr_fkey_sid_cid + FOREIGN KEY (sid,cid) REFERENCES event (sid,cid) + ON DELETE CASCADE + ON UPDATE CASCADE; + +ALTER TABLE icmphdr + ADD CONSTRAINT icmphdr_fkey_sid_cid + FOREIGN KEY (sid,cid) REFERENCES event (sid,cid) + ON DELETE CASCADE + ON UPDATE CASCADE; + +ALTER TABLE opt + ADD CONSTRAINT opt_fkey_sid_cid + FOREIGN KEY (sid,cid) REFERENCES event (sid,cid) + ON DELETE CASCADE + ON UPDATE CASCADE; + +ALTER TABLE data + ADD CONSTRAINT data_fkey_sid_cid + FOREIGN KEY (sid,cid) REFERENCES event (sid,cid) + ON DELETE CASCADE + ON UPDATE CASCADE; --- acidlab-0.9.6b20.orig/acid_cache.inc +++ acidlab-0.9.6b20/acid_cache.inc @@ -89,7 +89,7 @@ $sql = "SELECT signature, timestamp, ip_src, ip_dst, ip_proto FROM event ". "LEFT JOIN iphdr ON (event.sid=iphdr.sid AND event.cid = iphdr.cid) ". - "WHERE (event.sid=".$sid." AND event.cid=".$cid.") ORDER BY event.cid"; + "WHERE (event.sid='".$sid."' AND event.cid='".$cid."') ORDER BY event.cid"; $result = $db->acidExecute($sql); @@ -106,7 +106,7 @@ if ( $ip_proto == TCP ) { $result = $db->acidExecute("SELECT tcp_sport, tcp_dport FROM - tcphdr WHERE sid=".$sid." AND cid=".$cid); + tcphdr WHERE sid='".$sid."' AND cid='".$cid."'"); $row = $result->acidFetchRow(); if ( $row ) { @@ -119,7 +119,7 @@ else if ( $ip_proto == UDP ) { $result = $db->acidExecute("SELECT udp_sport, udp_dport FROM - udphdr WHERE sid=".$sid." AND cid=".$cid); + udphdr WHERE sid='".$sid."' AND cid='".$cid."'"); $row = $result->acidFetchRow(); if ( $row ) { @@ -134,10 +134,10 @@ if ( $db->acidGetDBVersion() >= 103 ) $result = $db->acidExecute("SELECT sig_name, sig_class_id, sig_priority ". " FROM signature ". - "WHERE sig_id = ".$signature); + "WHERE sig_id = '".$signature."'"); else $result = $db->acidExecute("SELECT sig_name FROM signature ". - "WHERE sig_id = ".$signature); + "WHERE sig_id = '".$signature."'"); $row = $result->acidFetchRow(); if ( $row ) { @@ -344,13 +344,13 @@ $sid = $sid_row[0]; /* Get highest CID for a given sensor */ - $cid_lst = $db->acidExecute("SELECT MAX(cid) FROM event WHERE sid=".$sid); + $cid_lst = $db->acidExecute("SELECT MAX(cid) FROM event WHERE sid='".$sid."'"); $cid_row = $cid_lst->acidFetchRow(); $cid = $cid_row[0]; if ( $cid == NULL ) $cid = 0; /* Get highest CID for a given sensor in the cache */ - $ccid_lst = $db->acidExecute("SELECT MAX(cid) FROM acid_event WHERE sid=".$sid); + $ccid_lst = $db->acidExecute("SELECT MAX(cid) FROM acid_event WHERE sid='".$sid."'"); $ccid_row = $ccid_lst->acidFetchRow(); $ccid = $ccid_row[0]; if ( $ccid == NULL ) $ccid = 0; @@ -367,7 +367,7 @@ CacheSensor($sid, $ccid, $db); $updated_cache_cnt += EventCntBySensor($sid, $db) - $before_cnt; - //$uncached_sql = "SELECT cid FROM event WHERE (sid=".$sid." AND cid > ".$ccid.")". + //$uncached_sql = "SELECT cid FROM event WHERE (sid='".$sid."' AND cid > '".$ccid."')". " ORDER BY sid, cid"; //echo $uncached_sql; //$uncached_lst = $db->acidExecute($uncached_sql); --- acidlab-0.9.6b20.orig/create_acid_tbls_pgsql.sql +++ acidlab-0.9.6b20/create_acid_tbls_pgsql.sql @@ -57,8 +57,8 @@ CREATE TABLE acid_ag ( ag_id SERIAL NOT NULL, ag_name TEXT, ag_desc TEXT, - ag_ctime DATETIME, - ag_ltime DATETIME, + ag_ctime TIMESTAMP, + ag_ltime TIMESTAMP, PRIMARY KEY (ag_id) ); @@ -73,8 +73,8 @@ CREATE TABLE acid_ip_cache( ipc_ip INT8 NOT NULL, ipc_fqdn TEXT, - ipc_dns_timestamp DATETIME, + ipc_dns_timestamp TIMESTAMP, ipc_whois TEXT, - ipc_whois_timestamp DATETIME, + ipc_whois_timestamp TIMESTAMP, PRIMARY KEY (ipc_ip) ); --- acidlab-0.9.6b20.orig/acid_output_query.inc +++ acidlab-0.9.6b20/acid_output_query.inc @@ -134,9 +134,9 @@ echo ''; } -function qroPrintEntry($value) +function qroPrintEntry($value, $halign="center", $valign="top", $passthru="") { - echo "\n". + echo "\n". "   \n". " $value\n". "   \n". --- acidlab-0.9.6b20.orig/acid_qry_alert.php +++ acidlab-0.9.6b20/acid_qry_alert.php @@ -4,7 +4,7 @@ * * Author: Roman Danyliw , * - * Copyright (C) 2001 Carnegie Mellon University + * Copyright (C) 2001,2002 Carnegie Mellon University * (see the file 'acid_main.php' for license details) * * Purpose: displays a single alert @@ -55,7 +55,7 @@ * to the history. */ $submit = ImportHTTPVar("submit"); - $QUERY_STRING = "submit=".rawurlencode($submit); + $HTTP_SERVER_VARS["QUERY_STRING"] = "submit=".rawurlencode($submit); $et = new EventTiming($debug_time_mode); $cs = new CriteriaState("acid_qry_alert.php"); @@ -79,6 +79,7 @@ $qs->AddValidAction("ag_by_id"); $qs->AddValidAction("ag_by_name"); + $qs->AddValidAction("add_new_ag"); $qs->AddValidAction("del_alert"); $qs->AddValidAction("email_alert"); $qs->AddValidAction("email_alert2"); @@ -205,7 +206,7 @@ $sql4 = "SELECT acid_ag_alert.ag_id, ag_name, ag_desc ". "FROM acid_ag_alert LEFT JOIN acid_ag ON acid_ag_alert.ag_id = acid_ag.ag_id ". - "WHERE ag_sid=".$sid." AND ag_cid=".$cid; + "WHERE ag_sid='".$sid."' AND ag_cid='".$cid."'"; $result4 = $db->acidExecute($sql4); $num = $result4->acidRecordCount(); @@ -540,11 +541,16 @@ $work = str_replace("\n","",$myrow2[0]); /* - * depending on how the packet logged, 32-bits of NULL padding after - * the checksum may still be present. + * - depending on how the packet logged, 32-bits of NULL padding after + * the checksum may still be present. */ if ( substr($work, 0, 8) == "00000000" ) $offset = 8; + /* for dest. unreachable, frag needed and DF bit set indent the padding + * of MTU of next hop + */ + else if ( ($ICMPitype == "3") && ($ICMPicode == "4") ) + $offset += 8; $icmp_src = hexdec($work[24+$offset].$work[25+$offset]).".". hexdec($work[26+$offset].$work[27+$offset]).".". @@ -556,7 +562,7 @@ hexdec($work[38+$offset].$work[39+$offset]); $icmp_proto = hexdec($work[18+$offset].$work[19+$offset]); - $hdr_offset = ($work[$offset+1]) * 8 + offset; + $hdr_offset = ($work[$offset+1]) * 8 + $offset; $icmp_src_port = hexdec($work[$hdr_offset].$work[$hdr_offset+1].$work[$hdr_offset+2].$work[$hdr_offset+3]); $icmp_dst_port = hexdec($work[$hdr_offset+4].$work[$hdr_offset+5].$work[$hdr_offset+6].$work[$hdr_offset+7]); --- acidlab-0.9.6b20.orig/acid_state_citems.inc +++ acidlab-0.9.6b20/acid_state_citems.inc @@ -0,0 +1,1462 @@ +, + * + * Copyright (C) 2002 Carnegie Mellon University + * (see the file 'acid_main.php' for license details) + * + * Purpose: individual criteria classes + * + */ + +class BaseCriteria +{ + var $criteria; + var $export_name; + + var $db; + var $cs; + + function BaseCriteria($db, $cs, $name) + { + $this->db = &$db; + $this->cs = &$cs; + + $this->export_name = $name; + $this->criteria = NULL; + } + + function Init() + { + } + + function Import() + { + /* imports criteria from POST, GET, or the session */ + } + + function Clear() + { + /* clears the criteria */ + } + + function Sanitize() + { + /* clean/validate the criteria */ + } + + function SanitizeElement() + { + /* clean/validate the criteria */ + } + + function PrintForm() + { + /* prints the HTML form to input the criteria */ + } + + function AddFormItem() + { + /* adding another item to the HTML form */ + } + + function GetFormItemCnt() + { + /* returns the number of items in this form element */ + } + + function SetFormItemCnt() + { + /* sets the number of items in this form element */ + } + + function Set($value) + { + /* set the value of this criteria */ + } + + function Get() + { + /* returns the value of this criteria */ + } + + function ToSQL() + { + /* convert this criteria to SQL */ + } + + function Description() + { + /* generate human-readable description of this criteria */ + } + + function isEmpty() + { + /* returns if the criteria is empty */ + } +}; + +class SingleElementCriteria extends BaseCriteria +{ + function Import() + { + GLOBAL $HTTP_SESSION_VARS; + + $this->criteria = SetSessionVar($this->export_name); + + $HTTP_SESSION_VARS[$this->export_name] = &$this->criteria; + } + + function Sanitize() + { + $this->SanitizeElement(); + } + + function GetFormItemCnt() + { + return -1; + } + + function Set($value) + { + $this->criteria = $value; + } + + function Get() + { + return $this->criteria; + } + function isEmpty() + { + if ( $this->criteria == "" ) + return true; + else + return false; + } +}; + +class MultipleElementCriteria extends BaseCriteria +{ + var $element_cnt; + var $criteria_cnt; + var $valid_field_list; + + function MultipleElementCriteria($db, $cs, $export_name, $element_cnt, $field_list = NULL) + { + $this->BaseCriteria(&$db, &$cs, $export_name); + + $this->element_cnt = $element_cnt; + $this->criteria_cnt = 0; + $this->valid_field_list = $field_list; + } + + function Init() + { + GLOBAL $HTTP_SESSION_VARS; + + InitArray($this->criteria, $GLOBALS['MAX_ROWS'], $this->element_cnt, ""); + $this->criteria_cnt = 1; + + $HTTP_SESSION_VARS[$this->export_name."_cnt"] = &$this->criteria_cnt; + } + + function Import() + { + GLOBAL $HTTP_SESSION_VARS; + + $this->criteria = SetSessionVar($this->export_name); + $this->criteria_cnt = SetSessionVar($this->export_name."_cnt"); + + $HTTP_SESSION_VARS[$this->export_name] = &$this->criteria; + $HTTP_SESSION_VARS[$this->export_name."_cnt"] = &$this->criteria_cnt; + } + + function Sanitize() + { + if ( in_array("criteria", array_keys(get_object_vars($this))) ) + //if ( isset($this->criteria) ) + { + for($i=0; $i < $this->element_cnt; $i++) + { + if ( isset($this->criteria[$i]) ) + $this->SanitizeElement($i); + } + } + } + + function SanitizeElement($i) + { + } + + function GetFormItemCnt() + { + return $this->criteria_cnt; + } + + function SetFormItemCnt($value) + { + $this->criteria_cnt = $value; + } + + function AddFormItem(&$submit, $submit_value) + { + AddCriteriaFormRow($submit, $submit_value, &$this->criteria_cnt, $this->criteria, $this->element_cnt); + } + + function Set($value) + { + $this->criteria = $value; + } + + function Get() + { + return $this->criteria; + } + + function isEmpty() + { + if ( $this->criteria_cnt == 0 ) + return true; + else + return false; + } + + function PrintForm($field_list, $blank_field_string, $add_button_string) + { + for ( $i = 0; $i < $this->criteria_cnt; $i++ ) + { + echo ' '; + + echo ' '; + + echo ' '; + + echo ' '; + + echo ' '; + + echo ' '; + if ( $i == $this->criteria_cnt-1 ) + echo ' '; + echo '
'; + } + } + + function Compact() + { + GLOBAL $HTTP_SESSION_VARS; + + if ( $this->isEmpty() ) + { + $this->criteria = ""; + $HTTP_SESSION_VARS[$this->export_name] = &$this->criteria; + } + } +}; + +class ProtocolFieldCriteria extends MultipleElementCriteria +{ + function SanitizeElement($i) + { + $this->criteria[$i][0] = CleanVariable($this->criteria[$i][0], VAR_OPAREN); + $this->criteria[$i][1] = CleanVariable($this->criteria[$i][1], "", array_keys($this->valid_field_list)); + $this->criteria[$i][2] = CleanVariable($this->criteria[$i][2], "", array("=", "!=", "<", "<=", ">", ">=")); + $this->criteria[$i][3] = CleanVariable($this->criteria[$i][3], VAR_DIGIT); + $this->criteria[$i][4] = CleanVariable($this->criteria[$i][4], VAR_OPAREN | VAR_CPAREN); + $this->criteria[$i][5] = CleanVariable($this->criteria[$i][5], "", array("AND", "OR")); + } + + function Description($human_fields) + { + $tmp = ""; + for ( $i = 0; $i < $this->criteria_cnt; $i++ ) + { + if ($this->criteria[$i][1] != " " && $this->criteria[$i][3] != "" ) + $tmp = $tmp.$this->criteria[$i][0].$human_fields[($this->criteria[$i][1])].' '. + $this->criteria[$i][2].' '.$this->criteria[$i][3].$this->criteria[$i][4].' '.$this->criteria[$i][5]; + } + if ( $tmp != "" ) + $tmp = $tmp.$this->cs->GetClearCriteriaString($this->export_name); + + return $tmp; + } +} + +class SignatureCriteria extends SingleElementCriteria +{ +/* + * $sig[3]: stores signature + * - [0] : exactly, roughly [1] : signature + * - [2] : =, != + */ + + var $sig_type; + + function SignatureCriteria($db, $cs, $export_name) + { + $this->BaseCriteria(&$db, &$cs, $export_name); + + $this->sig_type = ""; + } + + function Init() + { + InitArray($this->criteria, 3, 0, ""); + $this->sig_type = ""; + } + + function Import() + { + GLOBAL $HTTP_SESSION_VARS; + + parent::Import(); + + $this->sig_type = SetSessionVar("sig_type"); + + $HTTP_SESSION_VARS['sig_type'] = &$this->sig_type; + } + + function Clear() + { + } + + function SanitizeElement() + { + $this->criteria[0] = CleanVariable($this->criteria[0], "", array(" ", "=", "LIKE")); + $this->criteria[1] = CleanVariable($this->criteria[1], VAR_ALPHA | VAR_SPACE); + $this->criteria[2] = CleanVariable($this->criteria[2], "", array("=", "!=")); + } + + function PrintForm() + { + echo ''; + + echo ''; + + echo '
'; + + if ( $GLOBALS['use_sig_list'] > 0) + { + $temp_sql = "SELECT DISTINCT sig_name FROM signature"; + if ($GLOBALS['use_sig_list'] == 1) + { + $temp_sql = $temp_sql." WHERE sig_name NOT LIKE '%SPP\_%'"; + } + + $temp_sql = $temp_sql." ORDER BY sig_name"; + $tmp_result = $this->db->acidExecute($temp_sql); + echo '
'; + } + } + + function ToSQL() + { + } + + function Description() + { + $tmp = $tmp_human = ""; + + if ( (isset($this->criteria[0])) && ($this->criteria[0] != " ") && + (isset($this->criteria[1])) && ($this->criteria[1] != "") ) + { + if ( $this->criteria[0] == '=' && $this->criteria[2] == '!=' ) + $tmp_human = '!='; + else if ( $this->criteria[0] == '=' && $this->criteria[2] == '=' ) + $tmp_human = '='; + else if ( $this->criteria[0] == 'LIKE' && $this->criteria[2] == '!=' ) + $tmp_human = ' does not contain '; + else if ( $this->criteria[0] == 'LIKE' && $this->criteria[2] == '=' ) + $tmp_human = ' contains '; + + $tmp = $tmp.'Signature '.$tmp_human.' "'; + if ( ($this->db->acidGetDBVersion() >= 100) && $this->sig_type == 1 ) + $tmp = $tmp.BuildSigByID($this->criteria[1], $this->db).'" '.$this->cs->GetClearCriteriaString($this->export_name); + else + $tmp = $tmp.$this->criteria[1].'"'.$this->cs->GetClearCriteriaString($this->export_name); + + $tmp = $tmp.'
'; + } + + return $tmp; + } +}; /* SignatureCriteria */ + +class SignatureClassificationCriteria extends SingleElementCriteria +{ + function Init() + { + $this->criteria = ""; + } + + function Clear() + { + /* clears the criteria */ + } + + function SanitizeElement() + { + $this->criteria = CleanVariable($this->criteria, VAR_DIGIT, array("null")); + } + + function PrintForm() + { + if ( $this->db->acidGetDBVersion() >= 103 ) + { + echo '  '; + } + } + + function ToSQL() + { + /* convert this criteria to SQL */ + } + + function Description() + { + $tmp = ""; + + if ( $this->db->acidGetDBVersion() >= 103 ) + { + if ( $this->criteria != " " && $this->criteria != "" ) + { + if ( $this->criteria == "null") + $tmp = $tmp.'Signature Classification = '. + 'unclassified
'; + else + $tmp = $tmp.'Signature Classification = '. + GetSigClassName($this->criteria, $this->db). + $this->cs->GetClearCriteriaString($this->export_name).'
'; + } + } + + return $tmp; + } +}; /* SignatureClassificationCriteria */ + +class SignaturePriorityCriteria extends SingleElementCriteria +{ + function Init() + { + $this->criteria = ""; + } + + function Clear() + { + /* clears the criteria */ + } + + function SanitizeElement() + { + $this->criteria[0] = CleanVariable($this->criteria[0], "", array("=", "!=", "<", "<=", ">", ">=")); + $this->criteria[1] = CleanVariable($this->criteria[1], VAR_DIGIT, array("null")); + } + + function PrintForm() + { + if ( $this->db->acidGetDBVersion() >= 103 ) + { + echo ''; + + echo '  '; + } + } + + function ToSQL() + { + /* convert this criteria to SQL */ + } + + function Description() + { + $tmp = ""; + + if ( $this->db->acidGetDBVersion() >= 103 ) + { + if ( $this->criteria[1] != " " && $this->criteria[1] != "" ) + { + if ( $this->criteria[1] == null) + $tmp = $tmp.'Signature Priority = '. + 'none
'; + else + $tmp = $tmp.'Signature Priority '.$this->criteria[0]." ".$this->criteria[1]. + $this->cs->GetClearCriteriaString($this->export_name).'
'; + } + } + + return $tmp; + } + }; /* SignaturePriorityCriteria */ + +class AlertGroupCriteria extends SingleElementCriteria +{ + function Init() + { + $this->criteria = ""; + } + + function Clear() + { + /* clears the criteria */ + } + + function SanitizeElement() + { + $this->criteria = CleanVariable($this->criteria, VAR_DIGIT); + } + + function PrintForm() + { + echo '  '; + } + + function ToSQL() + { + /* convert this criteria to SQL */ + } + + function Description() + { + $tmp = ""; + + if ( $this->criteria != " " && $this->criteria != "" ) + $tmp = $tmp.'Alert Group = ['.$this->criteria.'] '.GetAGNameByID($this->criteria, $this->db). + $this->cs->GetClearCriteriaString($this->export_name).'
'; + + return $tmp; + } +}; /* AlertGroupCriteria */ + +class SensorCriteria extends SingleElementCriteria +{ + function Init() + { + $this->criteria = ""; + } + + function Clear() + { + /* clears the criteria */ + } + + function SanitizeElement() + { + $this->criteria = CleanVariable($this->criteria, VAR_DIGIT); + } + + function PrintForm() + { + echo '  '; + } + + function ToSQL() + { + /* convert this criteria to SQL */ + } + + function Description() + { + $tmp = ""; + + if ( $this->criteria != " " && $this->criteria != "" ) + $tmp = $tmp.'Sensor = ['.$this->criteria.'] '. + GetSensorName($this->criteria, $this->db). + $this->cs->GetClearCriteriaString($this->export_name).'
'; + + return $tmp; + } +}; /* SensorCriteria */ + +class TimeCriteria extends MultipleElementCriteria +{ +/* + * $time[MAX][10]: stores the date/time of the packet detection + * - [][0] : ( [][5] : hour + * - [][1] : =, !=, <, <=, >, >= [][6] : minute + * - [][2] : month [][7] : second + * - [][3] : day [][8] : (, ) + * - [][4] : year [][9] : AND, OR + * + * $time_cnt : number of rows in the $time[][] structure + */ + + function Clear() + { + /* clears the criteria */ + } + + function SanitizeElement($i) + { + $this->criteria[$i][0] = CleanVariable($this->criteria[$i][0], VAR_OPAREN); + $this->criteria[$i][1] = CleanVariable($this->criteria[$i][1], "", array("=", "!=", "<", "<=", ">", ">=")); + $this->criteria[$i][2] = CleanVariable($this->criteria[$i][2], VAR_DIGIT); + $this->criteria[$i][3] = CleanVariable($this->criteria[$i][3], VAR_DIGIT); + $this->criteria[$i][4] = CleanVariable($this->criteria[$i][4], VAR_DIGIT); + $this->criteria[$i][5] = CleanVariable($this->criteria[$i][5], VAR_DIGIT); + $this->criteria[$i][6] = CleanVariable($this->criteria[$i][6], VAR_DIGIT); + $this->criteria[$i][7] = CleanVariable($this->criteria[$i][7], VAR_DIGIT); + $this->criteria[$i][8] = CleanVariable($this->criteria[$i][8], VAR_OPAREN | VAR_CPAREN); + $this->criteria[$i][9] = CleanVariable($this->criteria[$i][9], "", array("AND", "OR")); + } + + function PrintForm() + { + for ( $i = 0; $i < $this->criteria_cnt; $i++ ) + { + echo ''; + echo ''; + + echo ''; + echo ''; + echo ''; + + echo ':'; + echo ':'; + echo ''; + + echo ''; + echo ''; + + if ( $i == $this->criteria_cnt-1 ) + echo ' '; + echo '
'; + } + } + + function ToSQL() + { + /* convert this criteria to SQL */ + } + + function Description() + { + $tmp = ""; + for ($i = 0; $i < $this->criteria_cnt; $i++) + { + if ( isset($this->criteria[$i][1]) && $this->criteria[$i][1] != " " ) + { + $tmp = $tmp.''.$this->criteria[$i][0].' time '.$this->criteria[$i][1].' [ '; + + /* date */ + if ( $this->criteria[$i][2] == " " && $this->criteria[$i][3] == "" && $this->criteria[$i][4] == " " ) + $tmp = $tmp." any date"; + else + $tmp = $tmp.(($this->criteria[$i][2] == " ") ? "* / " : $this->criteria[$i][2]." / "). + (($this->criteria[$i][3] == "" ) ? "* / " : $this->criteria[$i][3]." / "). + (($this->criteria[$i][4] == " ") ? "* " : $this->criteria[$i][4]." "); + $tmp = $tmp.'] [ '; + /* time */ + if ( $this->criteria[$i][5] == "" && $this->criteria[$i][6] == "" && $this->criteria[$i][7] == "" ) + $tmp = $tmp."any time"; + else + $tmp = $tmp.(($this->criteria[$i][5] == "") ? "* : " : $this->criteria[$i][5]." : "). + (($this->criteria[$i][6] == "") ? "* : " : $this->criteria[$i][6]." : "). + (($this->criteria[$i][7] == "") ? "* " : $this->criteria[$i][7]." "); + $tmp = $tmp.$this->criteria[$i][8].'] '.$this->criteria[$i][9]; + $tmp = $tmp.'
'; + } + } + if ( $tmp != "" ) + $tmp = $tmp.$this->cs->GetClearCriteriaString($this->export_name); + + return $tmp; + } +}; /* TimeCriteria */ + +class IPAddressCriteria extends MultipleElementCriteria +{ +/* + * $ip_addr[MAX][10]: stores an ip address parameters/operators row + * - [][0] : ( [][5] : octet3 of address + * - [][1] : source, dest [][6] : octet4 of address + * - [][2] : =, != [][7] : network mask + * - [][3] : octet1 of address [][8] : (, ) + * - [][4] : octet2 of address [][9] : AND, OR + * + * $ip_addr_cnt: number of rows in the $ip_addr[][] structure + */ + + function IPAddressCriteria($db, $cs, $export_name, $element_cnt) + { + parent::MultipleElementCriteria(&$db, &$cs, $export_name, $element_cnt, + array ("ip_src" => "Source", + "ip_dst" => "Dest", + "ip_both" => "Src or Dest")); + } + + function Import() + { + GLOBAL $HTTP_SESSION_VARS; + + parent::Import(); + + /* expand IP into octets */ + for ( $i = 0; $i < $this->criteria_cnt; $i++ ) + { + if ( (isset ($this->criteria[$i][3])) && + (ereg("([0-9]*)\.([0-9]*)\.([0-9]*)\.([0-9]*)", $this->criteria[$i][3])) ) + { + $tmp_ip_str = $this->criteria[$i][7] = $this->criteria[$i][3]; + $this->criteria[$i][3] = strtok($tmp_ip_str, "."); + $this->criteria[$i][4] = strtok("."); + $this->criteria[$i][5] = strtok("."); + $this->criteria[$i][6] = strtok("/"); + $this->criteria[$i][10] = strtok(""); + } + } + + $HTTP_SESSION_VARS['ip_addr'] = &$this->criteria; + $HTTP_SESSION_VARS['ip_addr_cnt'] = &$this->criteria_cnt; + } + + function Clear() + { + /* clears the criteria */ + } + + function SanitizeElement() + { + $this->criteria[$i][0] = CleanVariable($this->criteria[$i][0], VAR_OPAREN); + $this->criteria[$i][1] = CleanVariable($this->criteria[$i][1], "", array_keys($this->valid_field_list)); + $this->criteria[$i][2] = CleanVariable($this->criteria[$i][2], "", array("=", "!=", "<", "<=", ">", ">=")); + $this->criteria[$i][3] = CleanVariable($this->criteria[$i][3], VAR_DIGIT | VAR_PERIOD | VAR_FSLASH); + $this->criteria[$i][4] = CleanVariable($this->criteria[$i][4], VAR_DIGIT); + $this->criteria[$i][5] = CleanVariable($this->criteria[$i][5], VAR_DIGIT); + $this->criteria[$i][6] = CleanVariable($this->criteria[$i][6], VAR_DIGIT); + $this->criteria[$i][7] = CleanVariable($this->criteria[$i][7], VAR_DIGIT); + $this->criteria[$i][8] = CleanVariable($this->criteria[$i][8], VAR_OPAREN | VAR_CPAREN); + $this->criteria[$i][9] = CleanVariable($this->criteria[$i][9], "", array("AND", "OR")); + } + + function PrintForm() + { + for ( $i = 0; $i < $this->criteria_cnt; $i++ ) + { + echo ' '; + echo ' '; + echo ' '; + + if ( $GLOBALS['ip_address_input'] == 2 ) + echo ' '; + else + { + echo ' .'; + echo ' .'; + echo ' .'; + echo ' '; + } + echo ' '; + echo ' '; + if ( $i == $this->criteria_cnt-1 ) + echo ' '; + echo '
'; + } + } + + function ToSQL() + { + /* convert this criteria to SQL */ + } + + function Description() + { + $human_fields["ip_src"] = "Source Address"; + $human_fields["ip_dst"] = "Dest. Address"; + $human_fields["ip_both"] = "Source or Dest. Address"; + $human_fields[""] = ""; + $human_fields["LIKE"] = "contains"; + $human_fields["="] = "="; + + $tmp2 = ""; + + for ( $i = 0; $i < $this->criteria_cnt; $i++ ) + { + $tmp = ""; + if ( isset($this->criteria[$i][3]) && $this->criteria[$i][3] != "" ) + { + $tmp = $tmp.$this->criteria[$i][3]; + if ( $this->criteria[$i][4] != "" ) + { + $tmp = $tmp.".".$this->criteria[$i][4]; + if ( $this->criteria[$i][5] != "" ) + { + $tmp = $tmp.".".$this->criteria[$i][5]; + if ( $this->criteria[$i][6] != "" ) + { + if ( ($this->criteria[$i][3].".".$this->criteria[$i][4].".". + $this->criteria[$i][5].".".$this->criteria[$i][6]) == NULL_IP) + $tmp = " unknown "; + else + $tmp = $tmp.".".$this->criteria[$i][6]; + } + else + $tmp = $tmp.'.*'; + } + else + $tmp = $tmp.'.*.*'; + } + else + $tmp = $tmp.'.*.*.*'; + } + /* Make sure that the IP isn't blank */ + if ( $tmp != "" ) + { + $mask = ""; + if ( $this->criteria[$i][10] != "" ) + $mask = "/".$this->criteria[$i][10]; + + $tmp2 = $tmp2.$this->criteria[$i][0]. + $human_fields[($this->criteria[$i][1])].' '.$this->criteria[$i][2]. + ' '.$tmp.' '.$this->criteria[$i][8].' '.$this->criteria[$i][9].$mask. + $this->cs->GetClearCriteriaString($this->export_name)."
"; + } + } + + return $tmp2; + } +}; /* IPAddressCriteria */ + +class IPFieldCriteria extends ProtocolFieldCriteria +{ +/* + * $ip_field[MAX][6]: stores all other ip fields parameters/operators row + * - [][0] : ( [][3] : field value + * - [][1] : TOS, TTL, ID, offset, length [][4] : (, ) + * - [][2] : =, !=, <, <=, >, >= [][5] : AND, OR + * + * $ip_field_cnt: number of rows in the $ip_field[][] structure + */ + + function IPFieldCriteria($db, $cs, $export_name, $element_cnt) + { + parent::ProtocolFieldCriteria(&$db, &$cs, $export_name, $element_cnt, + array("ip_tos" => "TOS", + "ip_ttl" => "TTL", + "ip_id" => "ID", + "ip_off" => "offset", + "ip_csum" => "chksum", + "ip_len" => "length")); + } + + function PrintForm() + { + parent::PrintForm($this->valid_field_list, "{ field }", "ADD IP Field"); + } + + function ToSQL() + { + /* convert this criteria to SQL */ + } + + function Description() + { + return parent::Description( array_merge( array ( "" => "", + "LIKE" => "contains", + "=" => "="), $this->valid_field_list ) ); + } +}; + +class TCPPortCriteria extends ProtocolFieldCriteria +{ +/* + * $tcp_port[MAX][6]: stores all port parameters/operators row + * - [][0] : ( [][3] : port value + * - [][1] : Source Port, Dest Port [][4] : (, ) + * - [][2] : =, !=, <, <=, >, >= [][5] : AND, OR + * + * $tcp_port_cnt: number of rows in the $tcp_port[][] structure + */ + + function TCPPortCriteria($db, $cs, $export_name, $element_cnt) + { + parent::ProtocolFieldCriteria(&$db, &$cs, $export_name, $element_cnt, + array ("layer4_sport" => "source port", + "layer4_dport" => "dest port")); + } + + function PrintForm() + { + parent::PrintForm($this->valid_field_list, "{ port }", "ADD TCP Port"); + } + + function ToSQL() + { + /* convert this criteria to SQL */ + } + + function Description() + { + return parent::Description(array_merge( array("" => "", + "=" => "="), $this->valid_field_list) ); + } +}; /* TCPPortCriteria */ + +class TCPFieldCriteria extends ProtocolFieldCriteria +{ +/* + * TCP Variables + * ============= + * $tcp_field[MAX][6]: stores all other tcp fields parameters/operators row + * - [][0] : ( [][3] : field value + * - [][1] : windows, URP [][4] : (, ) + * - [][2] : =, !=, <, <=, >, >= [][5] : AND, OR + * + * $tcp_field_cnt: number of rows in the $tcp_field[][] structure + */ + + function TCPFieldCriteria($db, $cs, $export_name, $element_cnt) + { + parent::ProtocolFieldCriteria(&$db, &$cs, $export_name, $element_cnt, + array ("tcp_win" => "window", + "tcp_urp" => "urp", + "tcp_seq" => "seq #", + "tcp_ack" => "ack", + "tcp_off" => "offset", + "tcp_res" => "res", + "tcp_csum" => "chksum")); + } + + function PrintForm() + { + parent::PrintForm($this->valid_field_list, "{ field }", "ADD TCP Field"); + } + + function ToSQL() + { + /* convert this criteria to SQL */ + } + + function Description() + { + return parent::Description(array_merge ( array("" => ""), $this->valid_field_list) ); + } +}; /* TCPFieldCriteria */ + +class TCPFlagsCriteria extends SingleElementCriteria +{ +/* + * $tcp_flags[7]: stores all other tcp flags parameters/operators row + * - [0] : is, contains [4] : 8 (RST) + * - [1] : 1 (FIN) [5] : 16 (ACK) + * - [2] : 2 (SYN) [6] : 32 (URG) + * - [3] : 4 (PUSH) + */ + + function Init() + { + InitArray($this->criteria, $GLOBALS['MAX_ROWS'], TCPFLAGS_CFCNT, ""); + } + + function Clear() + { + /* clears the criteria */ + } + + function SanitizeElement() + { + $this->criteria = CleanVariable($this->criteria, VAR_DIGIT); + } + + function PrintForm() + { + echo ''; + echo ' '; + echo ' criteria[8],"128").'> [RSV1]  '; + echo ' criteria[7],"64").'> [RSV0]  '; + echo ' criteria[6],"32").'> [URG]  '; + echo ' criteria[5],"16").'> [ACK]  '; + echo ' criteria[4],"8").'> [PSH]  '; + echo ' criteria[3],"4").'> [RST]  '; + echo ' criteria[2],"2").'> [SYN]  '; + echo ' criteria[1],"1").'> [FIN]  '; + echo ' '; + } + + function ToSQL() + { + /* convert this criteria to SQL */ + } + + function Description() + { + $human_fields["1"] = "F"; + $human_fields["2"] = "S"; + $human_fields["4"] = "R"; + $human_fields["8"] = "P"; + $human_fields["16"] = "A"; + $human_fields["32"] = "U"; + $human_fields["64"] = "[R0]"; + $human_fields["128"] = "[R1]"; + $human_fields["LIKE"] = "contains"; + $human_fields["="] = "="; + + $tmp = ""; + + if ( isset($this->criteria[0]) && ($this->criteria[0] != " ") && ($this->criteria[0] != "") ) + { + $tmp = $tmp.'flags '.$this->criteria[0].' '; + for ( $i = 8; $i >=1; $i-- ) + if ( $this->criteria[$i] == "" ) + $tmp = $tmp.'-'; + else + $tmp = $tmp.$human_fields[($this->criteria[$i])]; + + $tmp = $tmp.$this->cs->GetClearCriteriaString("tcp_flags").'
'; + } + + return $tmp; + } + + function isEmpty() + { + if ( ($this->criteria[0] != "") && ($this->criteria[0] != " ") ) + return false; + else + return true; + } +}; /* TCPFlagCriteria */ + +class UDPPortCriteria extends ProtocolFieldCriteria +{ +/* + * $udp_port[MAX][6]: stores all port parameters/operators row + * - [][0] : ( [][3] : port value + * - [][1] : Source Port, Dest Port [][4] : (, ) + * - [][2] : =, !=, <, <=, >, >= [][5] : AND, OR + * + * $udp_port_cnt: number of rows in the $udp_port[][] structure + */ + + function UDPPortCriteria($db, $cs, $export_name, $element_cnt) + { + parent::ProtocolFieldCriteria(&$db, &$cs, $export_name, $element_cnt, + array ("layer4_sport" => "source port", + "layer4_dport" => "dest port")); + } + + function PrintForm() + { + parent::PrintForm($this->valid_field_list, "{ port }", "ADD UDP Port"); + } + + function ToSQL() + { + /* convert this criteria to SQL */ + } + + function Description() + { + return parent::Description(array_merge( array("" => "", + "=" => "="), $this->valid_field_list) ); + } +}; /* UDPPortCriteria */ + +class UDPFieldCriteria extends ProtocolFieldCriteria +{ +/* + * $udp_field[MAX][6]: stores all other udp fields parameters/operators row + * - [][0] : ( [][3] : field value + * - [][1] : length [][4] : (, ) + * - [][2] : =, !=, <, <=, >, >= [][5] : AND, OR + * + * $udp_field_cnt: number of rows in the $udp_field[][] structure + */ + + function UDPFieldCriteria($db, $cs, $export_name, $element_cnt) + { + parent::ProtocolFieldCriteria(&$db, &$cs, $export_name, $element_cnt, + array ("udp_len" => "length", + "udp_csum" => "chksum")); + } + + function PrintForm() + { + parent::PrintForm($this->valid_field_list, "{ field }", "ADD UDP Field"); + } + + function ToSQL() + { + /* convert this criteria to SQL */ + } + + function Description() + { + return parent::Description(array_merge ( array("" => ""), $this->valid_field_list) ); + } +}; /* UDPFieldCriteria */ + +class ICMPFieldCriteria extends ProtocolFieldCriteria +{ +/* + * $icmp_field[MAX][6]: stores all other icmp fields parameters/operators row + * - [][0] : ( [][3] : field value + * - [][1] : code, length [][4] : (, ) + * - [][2] : =, !=, <, <=, >, >= [][5] : AND, OR + * + * $icmp_field_cnt: number of rows in the $icmp_field[][] structure + */ + + function ICMPFieldCriteria($db, $cs, $export_name, $element_cnt) + { + parent::ProtocolFieldCriteria(&$db, &$cs, $export_name, $element_cnt, + array ("icmp_type" => "type", + "icmp_code" => "code", + "icmp_id" => "id", + "icmp_seq" => "seq #", + "icmp_csum" => "chksum")); + } + + function PrintForm() + { + parent::PrintForm($this->valid_field_list, "{ field }", "ADD ICMP Field"); + } + + function ToSQL() + { + /* convert this criteria to SQL */ + } + + function Description() + { + return parent::Description(array_merge ( array("" => ""), $this->valid_field_list) ); + } +}; /* ICMPFieldCriteria */ + +class Layer4Criteria extends SingleElementCriteria +{ + function Init() + { + $this->criteria = ""; + } + + function Clear() + { + /* clears the criteria */ + } + + function SanitizeElement() + { + $this->criteria = CleanVariable($this->criteria, "", array("UDP", "TCP", "ICMP", "no layer4")); + } + + function PrintForm() + { + if ( $this->criteria != "" ) + echo '  '; + if ( $this->criteria == "TCP" ) + echo ' +   + '; + else if ( $this->criteria == "UDP" ) + echo ' +   + '; + else if ( $this->criteria == "ICMP" ) + echo ' +   + '; + else + echo ' +   + + '; + } + + function ToSQL() + { + /* convert this criteria to SQL */ + } + + function Description() + { + if ( $this->criteria == "TCP" ) + return "TCP Criteria"; + else if ( $this->criteria == "UDP" ) + return "UDP Criteria"; + else if ( $this->criteria == "ICMP" ) + return "ICMP Criteria"; + else + return "Layer 4 Criteria"; + } +}; /* Layer4Criteria */ + +class DataCriteria extends MultipleElementCriteria +{ +/* + * $data_encode[2]: how the payload should be interpreted and converted + * - [0] : encoding type (hex, ascii) + * - [1] : conversion type (hex, ascii) + * + * $data[MAX][5]: stores all the payload related parameters/operators row + * - [][0] : ( [][3] : (, ) + * - [][1] : =, != [][4] : AND, OR + * - [][2] : field value + * + * $data_cnt: number of rows in the $data[][] structure + */ + + var $data_encode; + + function DataCriteria($db, $cs, $export_name, $element_cnt) + { + parent::MultipleElementCriteria(&$db, &$cs, $export_name, $element_cnt, + array ("LIKE" => "has", + "NOT LIKE" => "has NOT" )); + $this->data_encode = array(); + } + + function Init() + { + parent::Init(); + InitArray($this->data_encode, 2, 0, ""); + } + + function Import() + { + GLOBAL $HTTP_SESSION_VARS; + + parent::Import(); + + $this->data_encode = SetSessionVar("data_encode"); + + $HTTP_SESSION_VARS['data_encode'] = &$this->data_encode; + } + + function Clear() + { + /* clears the criteria */ + } + + function SanitizeElement($i) + { + $this->data_encode[0] = CleanVariable($this->data_encode[0], "", array("hex", "ascii")); + $this->data_encode[1] = CleanVariable($this->data_encode[1], "", array("hex", "ascii")); + + $this->criteria[$i][0] = CleanVariable($this->criteria[$i][0], VAR_OPAREN); + $this->criteria[$i][1] = CleanVariable($this->criteria[$i][1], "", array_keys($this->valid_field_list)); + $this->criteria[$i][2] = CleanVariable($this->criteria[$i][2], VAR_ALPHA | VAR_PUNC ); + $this->criteria[$i][3] = CleanVariable($this->criteria[$i][3], VAR_OPAREN | VAR_CPAREN); + $this->criteria[$i][4] = CleanVariable($this->criteria[$i][4], "", array("AND", "OR")); + } + + function PrintForm() + { + echo 'Input Criteria Encoding Type:'; + echo ''; + echo 'Convert To (when searching):'; + echo ''; + echo '
'; + + for ( $i = 0; $i < $this->criteria_cnt; $i++ ) + { + echo ''; + echo ''; + + echo ''; + + echo ''; + echo ''; + + if ( $i == $this->criteria_cnt-1 ) + echo ' '; + echo '
'; + } + } + + function ToSQL() + { + /* convert this criteria to SQL */ + } + + function Description() + { + $human_fields["LIKE"] = "contains"; + $human_fields["NOT LIKE"] = "does not contain"; + $human_fields[""] = ""; + + $tmp = ""; + + if ( $this->data_encode[0] != " " && $this->data_encode[1] != " ") + { + $tmp = $tmp.' (data encoded as '.$this->data_encode[0]; + $tmp = $tmp.' => '.$this->data_encode[1]; + $tmp = $tmp.')
'; + } + else + $tmp = $tmp.' (no data conversion, assuming criteria in DB native encoding)
'; + + for ( $i = 0; $i < $this->criteria_cnt; $i++ ) + { + if ($this->criteria[$i][1] != " " && $this->criteria[$i][2] != "" ) + $tmp = $tmp.$this->criteria[$i][0].$human_fields[$this->criteria[$i][1]].' "'.$this->criteria[$i][2]. + '" '.$this->criteria[$i][3].' '.$this->criteria[$i][4]; + } + + if ( $tmp != "" ) + $tmp = $tmp.$this->cs->GetClearCriteriaString($this->export_name); + + return $tmp; + } +}; + +?> --- acidlab-0.9.6b20.orig/acid_output_html.inc +++ acidlab-0.9.6b20/acid_output_html.inc @@ -4,7 +4,7 @@ * * Author: Roman Danyliw , * - * Copyright (C) 2001 Carnegie Mellon University + * Copyright (C) 2001,2002 Carnegie Mellon University * (see the file 'acid_main.php' for license details) * * Purpose: Prints or generates HTML to display @@ -15,7 +15,8 @@ GLOBAL $debug_mode, $ACID_VERSION, $html_no_cache, $max_script_runtime; - set_time_limit($max_script_runtime); + if ( ini_get("safe_mode") != true ) + set_time_limit($max_script_runtime); echo ' @@ -96,11 +97,11 @@ function PrintFreshPage($refresh_stat_page, $stat_page_refresh_time) { - GLOBAL $PHP_SELF; + GLOBAL $HTTP_SERVER_VARS; if ( $refresh_stat_page ) echo ''."\n"; + '"; URL="'.$HTTP_SERVER_VARS["PHP_SELF"].'";>'."\n"; } function chk_select($stored_value, $current_value) --- acidlab-0.9.6b20.orig/acid_qry_common.php +++ acidlab-0.9.6b20/acid_qry_common.php @@ -5,7 +5,7 @@ * Author: Roman Danyliw , * MSSQL support by Charles Hand * - * Copyright (C) 2000, 2001 Carnegie Mellon University + * Copyright (C) 2000, 2001, 2002 Carnegie Mellon University * Portions Copyright (C) 2001 Iowa National Guard * (see the file 'acid_main.php' for license details) * @@ -17,67 +17,52 @@ function PrintCriteriaState() { - GLOBAL $time, $time_cnt, - $sig, $sig_type, - $sensor, - $ag, - $ip_addr, $ip_addrs, $ip_addr_cnt, - $ip_field, $ip_field_cnt, - $tcp_port, $tcp_port_cnt, - $tcp_flags, - $tcp_field, $tcp_field_cnt, - $udp_port, $udp_port_cnt, - $udp_field, $udp_field_cnt, - $icmp_field, $icmp_field_cnt, - $data, $data_cnt, - $layer4, $MAX_ROWS, - $new, $submit, $sort_order, $num_result_rows, - $current_view, $caller, $action, $action_arg, - $sort_order, $debug_mode; - - if ( $debug_mode >= 2 ) - { - echo "
";
-  echo "sensor: $sensor
\n - AG: $ag
\n - signature"; - print_r($sig); - echo "
time ($time_cnt):
"; - print_r($time); - echo "
IP addresses ($ip_addr_cnt):
"; - print_r($ip_addr); - echo "
===================================================
"; - print_r($ip_addrs); - echo "
IP fields ($ip_field_cnt):
"; - print_r($ip_field); - echo "
TCP ports ($tcp_port_cnt):
"; - print_r($tcp_port); - echo "
TCP flags:
"; - print_r($tcp_flags); - echo "
TCP field ($tcp_field_cnt):
"; - print_r($tcp_field); - echo "
UDP ports ($udp_port_cnt):
"; - print_r($udp_port); - echo "
UDP field ($udp_field_cnt):
"; - print_r($udp_field); - echo "
ICMP field ($icmp_field_cnt):
"; - print_r($icmp_field); - echo "
Data ($data_cnt):
"; - print_r($data); - echo "
"; - } - - if ( $debug_mode >= 1 ) - { - echo "
-        new: '$new'   
-        submit: '$submit'
-        sort_order: '$sort_order'
-        num_result_rows: '$num_result_rows'  current_view: '$current_view'
-        layer4: '$layer4'  caller: '$caller'
-        action: '$action'  action_arg: '$action_arg'
-        
"; - } + GLOBAL $HTTP_SESSION_VARS, $layer4, + $new, $submit, $sort_order, $num_result_rows, + $current_view, $caller, $action, $action_arg, + $sort_order; + + if ( $GLOBALS['debug_mode'] >= 2 ) + { + echo "
";
+      echo "sensor: ".$HTTP_SESSION_VARS['sensor']."
\n". + "AG: ".$HTTP_SESSION_VARS['ag']."
\n". + "signature\n"; + print_r($HTTP_SESSION_VARS['sig']); + echo "
time (".$HTTP_SESSION_VARS['time_cnt']."):
"; + print_r($HTTP_SESSION_VARS['time']); + echo "
IP addresses (".$HTTP_SESSION_VARS['ip_addr_cnt']."):
"; + print_r($HTTP_SESSION_VARS['ip_addr']); + echo "
IP fields (".$HTTP_SESSION_VARS['ip_field_cnt']."):
"; + print_r($HTTP_SESSION_VARS['ip_field']); + echo "
TCP ports (".$HTTP_SESSION_VARS['tcp_port_cnt']."):
"; + print_r($HTTP_SESSION_VARS['tcp_port']); + echo "
TCP flags:
"; + print_r($HTTP_SESSION_VARS['tcp_flags']); + echo "
TCP field (".$HTTP_SESSION_VARS['tcp_field_cnt']."):
"; + print_r($HTTP_SESSION_VARS['tcp_field']); + echo "
UDP ports (".$HTTP_SESSION_VARS['udp_port_cnt']."):
"; + print_r($HTTP_SESSION_VARS['udp_port']); + echo "
UDP field (".$HTTP_SESSION_VARS['udp_field_cnt']."):
"; + print_r($HTTP_SESSION_VARS['udp_field']); + echo "
ICMP field (".$HTTP_SESSION_VARS['icmp_field_cnt']."):
"; + print_r($HTTP_SESSION_VARS['icmp_field']); + echo "
Data (".$HTTP_SESSION_VARS['data_cnt']."):
"; + print_r($HTTP_SESSION_VARS['data']); + echo "
"; + } + + if ( $GLOBALS['debug_mode'] >= 1 ) + { + echo "
+            new: '$new'   
+            submit: '$submit'
+            sort_order: '$sort_order'
+            num_result_rows: '$num_result_rows'  current_view: '$current_view'
+            layer4: '$layer4'  caller: '$caller'
+            action: '$action'  action_arg: '$action_arg'
+            
"; + } } function FieldRows2sql($field, $cnt, &$s_sql) @@ -88,8 +73,8 @@ $tmp = ""; if ( $field[$i][3] != "" && $field[$i][1] != " ") { - $tmp = $field[$i][0]." ".$field[$i][1]." ".$field[$i][2]."". - $field[$i][3]."".$field[$i][4]." ".$field[$i][5]; + $tmp = $field[$i][0]." ".$field[$i][1]." ".$field[$i][2]." '". + $field[$i][3]."' ".$field[$i][4]." ".$field[$i][5]; } else { @@ -139,7 +124,7 @@ for ( $i = 0; $i < $cnt; $i++ ) { $tmp = ""; - if ( $field[$i][1] != " " && $field[$i][1] != "") + if ( isset($field[$i]) && $field[$i][1] != " " && $field[$i][1] != "") { $op = $field[$i][1]; @@ -250,12 +235,15 @@ } else { - if ( ($field[$i][2] != " " || $field[$i][3] != "" || $field[$i][4] != " ") && + if ( isset($field[$i]) ) + { + if ( ($field[$i][2] != " " || $field[$i][3] != "" || $field[$i][4] != " ") && $field[$i][1] == " ") - ErrorMessage("Criteria warning: A date/time value of '". - $field[$i][2]."-".$field[$i][3]."-".$field[$i][4]." ". - $field[$i][5].":".$field[6].":".$field[7]."' was entered - but no operator was selected."); + ErrorMessage("Criteria warning: A date/time value of '". + $field[$i][2]."-".$field[$i][3]."-".$field[$i][4]." ". + $field[$i][5].":".$field[6].":".$field[7]."' was entered + but no operator was selected."); + } } if ( $i > 0 && $field[$i-1][9] == ' ' && $field[$i-1][4] != " ") @@ -357,54 +345,10 @@ function PrintCriteria($caller) { - GLOBAL $db, $cs, $last_num_alerts, $time, $time_cnt, $sig, $sig_type, - $sensor, $ag, $sig_class, - $ip_addr, $ip_addr_cnt, $ip_field, $ip_field_cnt, - $tcp_port, $tcp_port_cnt, $tcp_flags, $tcp_field, $tcp_field_cnt, - $udp_port, $udp_port_cnt, $udp_field, $udp_field_cnt, - $icmp_field, $icmp_field_cnt, - $have_meta, $have_ip, $have_tcp, $have_udp, $have_icmp, $have_data, - $layer4, $data, $data_cnt, $data_encode, $save_criteria; - - /* Generate the Criteria entered into a human readable form */ - $human_fields["ip_src"] = "Source Address"; - $human_fields["ip_dst"] = "Dest. Address"; - $human_fields["ip_both"] = "Source or Dest. Address"; - $human_fields["ip_ttl"] = "TTL"; - $human_fields["ip_tos"] = "TOS"; - $human_fields["ip_id"] = "ID"; - $human_fields["ip_off"] = "offset"; - $human_fields["ip_len"] = "length"; - $human_fields["ip_csum"] = "chksum"; - $human_fields["layer4_sport"] = "source port"; - $human_fields["layer4_dport"] = "dest port"; - $human_fields[""] = ""; - $human_fields["tcp_win"] = "window"; - $human_fields["tcp_urp"] = "urp"; - $human_fields["tcp_seq"] = "seq #"; - $human_fields["tcp_ack"] = "ack"; - $human_fields["tcp_off"] = "offset"; - $human_fields["tcp_res"] = "res"; - $human_fields["tcp_csum"] = "chksum"; - $human_fields["udp_len"] = "length"; - $human_fields["udp_csum"] = "chksum"; - $human_fields["icmp_type"] = "type"; - $human_fields["icmp_code"] = "code"; - $human_fields["icmp_csum"] = "chksum"; - $human_fields["icmp_id"] = "id"; - $human_fields["icmp_seq"] = "seq"; - $human_fields["LIKE"] = "contains"; - $human_fields["="] = "="; - $human_fields["1"] = "F"; - $human_fields["2"] = "S"; - $human_fields["4"] = "R"; - $human_fields["8"] = "P"; - $human_fields["16"] = "A"; - $human_fields["32"] = "U"; - $human_fields["64"] = "[R0]"; - $human_fields["128"] = "[R1]"; + GLOBAL $db, $cs, $last_num_alerts, + $save_criteria; - //$save_criteria = ' Queried DB on : '.date("D F d, Y H:i:s",time()).' + /* Generate the Criteria entered into a human readable form */ $save_criteria = ' @@ -430,85 +374,15 @@ return; } -// if ( $have_meta == 1 ) -// { $tmp_len = strlen($save_criteria); - if ( $sensor != " " && $sensor != "" ) - $save_criteria = $save_criteria.'Sensor = ['.$sensor.'] '. - GetSensorName($sensor, $db). - $cs->GetClearCriteriaString("sensor").'
'; - - if ( $ag != " " && $ag != "" ) - $save_criteria = $save_criteria.'Alert Group = ['.$ag.'] '.GetAGNameByID($ag, $db). - $cs->GetClearCriteriaString("ag").'
'; - - if ( $sig[0] != " " && $sig[1] != "" ) - { - if ( $sig[0] == '=' && $sig[2] == '!=' ) - $tmp_human = '!='; - else if ( $sig[0] == '=' && $sig[2] == '=' ) - $tmp_human = '='; - else if ( $sig[0] == 'LIKE' && $sig[2] == '!=' ) - $tmp_human = ' does not contain '; - else if ( $sig[0] == 'LIKE' && $sig[2] == '=' ) - $tmp_human = ' contains '; - - $save_criteria = $save_criteria.'Signature '.$tmp_human.' "'; - if ( ($db->acidGetDBVersion() >= 100) && $sig_type == 1 ) - $save_criteria = $save_criteria.BuildSigByID($sig[1], $db).'" '. - $cs->GetClearCriteriaString("sig"); - else - $save_criteria = $save_criteria.$sig[1]. - $cs->GetClearCriteriaString("sig"); - - $save_criteria = $save_criteria.'
'; - } - - if ( $db->acidGetDBVersion() >= 103 ) - { - if ( $sig_class != " " && $sig_class != "" ) - { - if ( $sig_class == "null") - $save_criteria = $save_criteria.'Signature Classification = '. - 'unclassified
'; - else - $save_criteria = $save_criteria.'Signature Classification = '. - GetSigClassName($sig_class, $db). - $cs->GetClearCriteriaString("sig_class").'
'; - } - } - - $tmp_len2 = strlen($save_criteria); - for ($i = 0; $i < $time_cnt; $i++) - { - if ( $time[$i][1] != " " ) - { - $save_criteria = $save_criteria.''.$time[$i][0].' time '.$time[$i][1].' [ '; - - /* date */ - if ( $time[$i][2] == " " && $time[$i][3] == "" && $time[$i][4] == " " ) - $save_criteria = $save_criteria." any date"; - else - $save_criteria = $save_criteria.(($time[$i][2] == " ") ? "* / " : $time[$i][2]." / "). - (($time[$i][3] == "" ) ? "* / " : $time[$i][3]." / "). - (($time[$i][4] == " ") ? "* " : $time[$i][4]." "); - $save_criteria = $save_criteria.'] ['; - /* time */ - if ( $time[$i][5] == "" && $time[$i][6] == "" && $time[$i][7] == "" ) - $save_criteria = $save_criteria."any time"; - else - $save_criteria = $save_criteria.(($time[$i][5] == "") ? "* : " : $time[$i][5]." : "). - (($time[$i][6] == "") ? "* : " : $time[$i][6]." : "). - (($time[$i][7] == "") ? "* " : $time[$i][7]." "); - $save_criteria = $save_criteria.$time[$i][8].$time[$i][9]; - $save_criteria = $save_criteria.']'; - $save_criteria = $save_criteria.'
'; - } - } - if ( $tmp_len2 < strlen($save_criteria) ) - $save_criteria = $save_criteria.$cs->GetClearCriteriaString("time"); + $save_criteria = $save_criteria.$cs->criteria['sensor']->Description(); + $save_criteria = $save_criteria.$cs->criteria['sig']->Description(); + $save_criteria = $save_criteria.$cs->criteria['sig_class']->Description(); + $save_criteria = $save_criteria.$cs->criteria['sig_priority']->Description(); + $save_criteria = $save_criteria.$cs->criteria['ag']->Description(); + $save_criteria = $save_criteria.$cs->criteria['time']->Description(); if ( $tmp_len == strlen($save_criteria) ) $save_criteria = $save_criteria.'    any '; @@ -519,114 +393,28 @@ '; - if ( $layer4 == "TCP" ) - { - $save_criteria = $save_criteria.' - - - '; } - else if ( $layer4 == "UDP" ) + else if ( $cs->criteria['layer4']->Get() == "UDP" ) { - $save_criteria = $save_criteria.' - - - '; } - else if ( $layer4 == "ICMP" ) + else if ( $cs->criteria['layer4']->Get() == "ICMP" ) { - $save_criteria = $save_criteria.' - - - '; } - else { - $save_criteria = $save_criteria.' - - - '; + $save_criteria = $save_criteria.'    none '; } /* Payload ************** */ @@ -715,26 +456,9 @@ '. '
IP Criteria '; -// if ( $have_ip == 1 ) -// { - $tmp_len = strlen($save_criteria); - $have_criteria = 0; - for ( $i = 0; $i < $ip_addr_cnt; $i++ ) - { - $tmp = ""; - if ( isset($ip_addr[$i][3]) && $ip_addr[$i][3] != "" ) - { - $tmp = $tmp.$ip_addr[$i][3]; - if ( $ip_addr[$i][4] != "" ) - { - $tmp = $tmp.".".$ip_addr[$i][4]; - if ( $ip_addr[$i][5] != "" ) - { - $tmp = $tmp.".".$ip_addr[$i][5]; - if ( $ip_addr[$i][6] != "" ) - { - if ( ($ip_addr[$i][3].".".$ip_addr[$i][4].".". - $ip_addr[$i][5].".".$ip_addr[$i][6]) == NULL_IP) - $tmp = " unknown "; - else - $tmp = $tmp.".".$ip_addr[$i][6]; - } - else - $tmp = $tmp.'.*'; - } - else - $tmp = $tmp.'.*.*'; - } - else - $tmp = $tmp.'.*.*.*'; - } - /* Make sure that the IP isn't blank */ - if ( $tmp != "" ) - { - $mask = ""; - if ( $ip_addr[$i][10] != "" ) - $mask = "/".$ip_addr[$i][10]; - - $save_criteria = $save_criteria.$ip_addr[$i][0]. - $human_fields[($ip_addr[$i][1])].' '.$ip_addr[$i][2]. - ' '.$tmp.' '.$ip_addr[$i][8].' '.$ip_addr[$i][9].$mask. - $cs->GetClearCriteriaString("ip_addr")."
"; - } - } - - $tmp_len2 = strlen($save_criteria); - for ( $i = 0; $i < $ip_field_cnt; $i++ ) - { - if ($ip_field[$i][1] != " " && $ip_field[$i][3] != "" ) - $save_criteria = $save_criteria.$ip_field[$i][0].$human_fields[($ip_field[$i][1])].' '. - $ip_field[$i][2].' '.$ip_field[$i][3].$ip_field[$i][4].' '.$ip_field[$i][5]; - } - if ( $tmp_len2 < strlen($save_criteria) ) - $save_criteria = $save_criteria.$cs->GetClearCriteriaString("ip_field"); - - if ( $tmp_len == strlen($save_criteria) ) - $save_criteria = $save_criteria.'    any '; + if ( !$cs->criteria['ip_addr']->isEmpty() || !$cs->criteria['ip_field']->isEmpty() ) + { + $save_criteria = $save_criteria.$cs->criteria['ip_addr']->Description(); + $save_criteria = $save_criteria.$cs->criteria['ip_field']->Description(); + } + else + $save_criteria = $save_criteria.'    any '; $save_criteria = $save_criteria.'  
TCP Criteria'; + $save_criteria = $save_criteria.'
'; + $save_criteria = $save_criteria.$cs->criteria['layer4']->Description(); + $save_criteria = $save_criteria.''; - if ( $have_tcp == 1 ) + if ( $cs->criteria['layer4']->Get() == "TCP" ) + { + if ( !$cs->criteria['tcp_port']->isEmpty() || !$cs->criteria['tcp_flags']->isEmpty() || !$cs->criteria['tcp_field']->isEmpty() ) { - $have_criteria = 0; - for ( $i = 0; $i < $tcp_port_cnt; $i++ ) - { - if ($tcp_port[$i][1] != " " && $tcp_port[$i][3] != "" ) - { - $save_criteria = $save_criteria.$tcp_port[$i][0].$human_fields[($tcp_port[$i][1])].' '. - $tcp_port[$i][2].' '.$tcp_port[$i][3].$tcp_port[$i][4].' '.$tcp_port[$i][5]; - $have_criteria++; - } - } - - if ( $have_criteria > 0 ) - $save_criteria = $save_criteria. $cs->GetClearCriteriaString("tcp_port").'
'; - - if ( isset($tcp_flags[$i][0]) && ($tcp_flags[$i][0] != " ") && ($tcp_flags[$i][0] != "") ) - { - $save_criteria = $save_criteria.'flags '.$tcp_flags[0].' '; - for ( $i = 8; $i >=1; $i-- ) - if ( $tcp_flags[$i] == "" ) - $save_criteria = $save_criteria.'-'; - else - $save_criteria = $save_criteria.$human_fields[($tcp_flags[$i])]; - $save_criteria = $save_criteria. - $cs->GetClearCriteriaString("tcp_flags").'
'; - } - - $have_criteria = 0; - for ( $i = 0; $i < $tcp_field_cnt; $i++ ) - if ($tcp_field[$i][1] != " " && $tcp_field[$i][3] != "" ) - { - $save_criteria = $save_criteria.$tcp_field[$i][0].$human_fields[($tcp_field[$i][1])].' '. - $tcp_field[$i][2].' '.$tcp_field[$i][3].$tcp_field[$i][4].' '.$tcp_field[$i][5]; - $have_criteria = 1; - } - if ( $have_criteria ) - $save_criteria = $save_criteria.$cs->GetClearCriteriaString("tcp_field"); + $save_criteria = $save_criteria.$cs->criteria['tcp_port']->Description(); + $save_criteria = $save_criteria.$cs->criteria['tcp_flags']->Description(); + $save_criteria = $save_criteria.$cs->criteria['tcp_field']->Description(); } else $save_criteria = $save_criteria.'    any '; @@ -634,43 +422,12 @@ $save_criteria = $save_criteria.'  
UDP Criteria'; - - if ( $have_udp == 1 ) + if ( !$cs->criteria['udp_port']->isEmpty() || !$cs->criteria['udp_field']->isEmpty() ) { - - $have_criteria = 0; - for ( $i = 0; $i < $udp_port_cnt; $i++ ) - { - if ($udp_port[$i][1] != " " && $udp_port[$i][3] != "" ) - { - $save_criteria = $save_criteria.$udp_port[$i][0].$human_fields[($udp_port[$i][1])].' '. - $udp_port[$i][2].' '.$udp_port[$i][3].$udp_port[$i][4].' '.$udp_port[$i][5]; - $have_criteria = 1; - } - } - - if ($have_criteria) - $save_criteria = $save_criteria.$cs->GetClearCriteriaString("udp_port").'
'; - - $have_criteria = 0; - for ( $i = 0; $i < $udp_field_cnt; $i++ ) - { - if ($udp_field[$i][1] != " " && $udp_field[$i][3] != "" ) - { - $save_criteria = $save_criteria.$udp_field[$i][0].$human_fields[($udp_field[$i][1])].' '. - $udp_field[$i][2].' '.$udp_field[$i][3].$udp_field[$i][4].' '.$udp_field[$i][5]; - $have_criteria = 1; - } - } - - if ( $have_criteria ) - $save_criteria = $save_criteria.$cs->GetClearCriteriaString("udp_field"); + $save_criteria = $save_criteria.$cs->criteria['udp_port']->Description(); + $save_criteria = $save_criteria.$cs->criteria['udp_field']->Description(); } else $save_criteria = $save_criteria.'    any '; @@ -678,36 +435,20 @@ $save_criteria = $save_criteria.'  
ICMP Criteria'; - - if ( $have_icmp == 1 ) + if ( !$cs->criteria['icmp_field']->isEmpty() ) { - for ( $i = 0; $i < $icmp_field_cnt; $i++ ) - { - if ($icmp_field[$i][1] != " " && $icmp_field[$i][3] != "" ) - $save_criteria = $save_criteria.$icmp_field[$i][0].$human_fields[($icmp_field[$i][1])].' '. - $icmp_field[$i][2].' '.$icmp_field[$i][3].$icmp_field[$i][4].' '.$icmp_field[$i][5]; - } - - $save_criteria = $save_criteria.$cs->GetClearCriteriaString("icmp_field"); + $save_criteria = $save_criteria.$cs->criteria['icmp_field']->Description(); } else $save_criteria = $save_criteria.'    any '; $save_criteria = $save_criteria.'  
Layer 4 Criteria    none
Payload Criteria '; - if ( $have_data == 1 ) - { - if ( $data_encode[0] != " " && $data_encode[1] != " ") - { - $save_criteria = $save_criteria.' (data encoded as '.$data_encode[0]; - $save_criteria = $save_criteria.' => '.$data_encode[1]; - $save_criteria = $save_criteria.')
'; - } - else - $save_criteria = $save_criteria.' (no data conversion, assuming criteria in DB native encoding)
'; - - for ( $i = 0; $i < $data_cnt; $i++ ) - { - if ($data[$i][1] != " " && $data[$i][2] != "" ) - $save_criteria = $save_criteria.$data[$i][0].$data[$i][1].' "'.$data[$i][2]. - '" '.$data[$i][3].' '.$data[$i][4]; - } - - $save_criteria = $save_criteria.$cs->GetClearCriteriaString("data"); - } + + if ( !$cs->criteria['data']->isEmpty() ) + $save_criteria = $save_criteria.$cs->criteria['data']->Description(); else $save_criteria = $save_criteria.'    any '; @@ -758,20 +482,13 @@ '
'; - echo $save_criteria; } /********************************************************************************************/ function ProcessCriteria() { - GLOBAL $db, $time, $time_cnt, $sig, $sig_type, $sig_class, $sensor, $ag, - $ip_addr, $ip_addr_cnt, $ip_field, $ip_field_cnt, - $tcp_port, $tcp_port_cnt, $tcp_flags, $tcp_field, $tcp_field_cnt, - $udp_port, $udp_port_cnt, $udp_field, $udp_field_cnt, - $icmp_field, $icmp_field_cnt, - $have_meta, $have_ip, $have_tcp, $have_udp, $have_icmp, $have_data, - $layer4, $data, $data_cnt, $data_encode, $save_criteria, + GLOBAL $db, $join_sql, $where_sql, $criteria_sql, $sql, $debug_mode, $caller, $DBtype; @@ -794,10 +511,43 @@ /* ********************** Meta Criteria ******************************************** */ + /* XXX-SEC */ + GLOBAL $cs; + + $sig = $cs->criteria['sig']->criteria; + $sig_type = $cs->criteria['sig']->sig_type; + $sig_class = $cs->criteria['sig_class']->criteria; + $sig_priority = $cs->criteria['sig_priority']->criteria; + $ag = $cs->criteria['ag']->criteria; + $sensor = $cs->criteria['sensor']->criteria; + $time = $cs->criteria['time']->criteria; + $time_cnt = $cs->criteria['time']->GetFormItemCnt(); + $ip_addr = $cs->criteria['ip_addr']->criteria; + $ip_addr_cnt = $cs->criteria['ip_addr']->GetFormItemCnt(); + $layer4 = $cs->criteria['layer4']->criteria; + $ip_field = $cs->criteria['ip_field']->criteria; + $ip_field_cnt = $cs->criteria['ip_field']->GetFormItemCnt(); + $tcp_port = $cs->criteria['tcp_port']->criteria; + $tcp_port_cnt = $cs->criteria['tcp_port']->GetFormItemCnt(); + $tcp_flags = $cs->criteria['tcp_flags']->criteria; + $tcp_field = $cs->criteria['tcp_field']->criteria; + $tcp_field_cnt = $cs->criteria['tcp_field']->GetFormItemCnt(); + $udp_port = $cs->criteria['udp_port']->criteria; + $udp_port_cnt = $cs->criteria['udp_port']->GetFormItemCnt(); + $udp_field = $cs->criteria['udp_field']->criteria; + $udp_field_cnt = $cs->criteria['udp_field']->GetFormItemCnt(); + $icmp_field = $cs->criteria['icmp_field']->criteria; + $icmp_field_cnt= $cs->criteria['icmp_field']->GetFormItemCnt(); + $data = $cs->criteria['data']->criteria; + $data_cnt = $cs->criteria['data']->GetFormItemCnt(); + $data_encode = $cs->criteria['data']->data_encode; + $tmp_meta = ""; /* Sensor */ if ( $sensor != "" && $sensor != " " ) - $tmp_meta = $tmp_meta." AND acid_event.sid=".$sensor; + $tmp_meta = $tmp_meta." AND acid_event.sid='".$sensor."'"; + else + $cs->criteria['sensor']->Set(""); /* Alert Group */ if ( $ag != "" && $ag != " " ) @@ -805,9 +555,11 @@ $tmp_meta = $tmp_meta." AND ag_id =".$ag; $join_sql = $join_sql.$ag_join_sql; } + else + $cs->criteria['ag']->Set(""); /* Signature */ - if ( $sig[0] != " " && $sig[0] != "" && $sig[1] != "" ) + if ( (isset($sig[0]) && $sig[0] != " " && $sig[0] != "") && (isset($sig[1]) && $sig[1] != "") ) { $sig_neg = ""; if ( $sig[2] == "!=" ) @@ -839,35 +591,44 @@ $tmp_meta = $tmp_meta." AND ".$sig_neg." (signature LIKE '%".$sig[1]."%') "; } } + else + $cs->criteria['sig']->Set(""); /* Signature Classification */ if ( $sig_class != " " && $sig_class != "" && $sig_class != "0") { - $tmp_meta = $tmp_meta." AND sig_class_id = ".$sig_class; + $tmp_meta = $tmp_meta." AND sig_class_id = '".$sig_class."'"; } else if ($sig_class == "0") { - $tmp_meta = $tmp_meta." AND sig_class_id is null"; + $tmp_meta = $tmp_meta." AND (sig_class_id is null OR sig_class_id = '0')"; } + else + $cs->criteria['sig_class']->Set(""); - /* Date/Time */ - DateTimeRows2sql($time, $time_cnt, $tmp_meta); - - if ( $tmp_meta != "" ) + /* Signature Priority */ + if ( $sig_priority[1] != " " && $sig_priority[1] != "" && $sig_priority[1] != "0") + { + $tmp_meta = $tmp_meta." AND sig_priority ".$sig_priority[0]." '".$sig_priority[1]."'"; + } + else if ($sig_priority[1] == "0") { - $have_meta = 1; - $criteria_sql = $criteria_sql.$tmp_meta; + $tmp_meta = $tmp_meta." AND (sig_priority is null OR sig_priority = '0')"; } else - $have_meta = 0; + $cs->criteria['sig_priority']->Set(""); - /* ********************** IP Criteria ********************************************** */ + /* Date/Time */ + if ( DateTimeRows2sql($time, $time_cnt, $tmp_meta) == 0 ) + $cs->criteria['time']->SetFormItemCnt(0); - // $tmp_cnt = strlen($criteria_sql); + $criteria_sql = $criteria_sql.$tmp_meta; + + /* ********************** IP Criteria ********************************************** */ /* IP Addresses */ $tmp2 = ""; - + for ( $i = 0; $i < $ip_addr_cnt; $i++ ) { $tmp = ""; @@ -888,11 +649,11 @@ { if ( $ip_addr[$i][10] == "" ) { - $tmp = $tmp." acid_event.".$ip_addr[$i][1].$ip_addr[$i][2]. + $tmp = $tmp." acid_event.".$ip_addr[$i][1].$ip_addr[$i][2]."'". acidIP2Long($ip_addr[$i][3].".". $ip_addr[$i][4].".". $ip_addr[$i][5].".". - $ip_addr[$i][6])." "; + $ip_addr[$i][6])."' "; } else { @@ -905,10 +666,10 @@ else $tmp_op = ""; - $tmp = $tmp.$tmp_op." (acid_event.".$ip_addr[$i][1].">=". - acidIP2Long($mask[0])." AND ". - "acid_event.".$ip_addr[$i][1]."<=". - acidIP2Long($mask[1]).")"; + $tmp = $tmp.$tmp_op." (acid_event.".$ip_addr[$i][1].">= '". + acidIP2Long($mask[0])."' AND ". + "acid_event.".$ip_addr[$i][1]."<= '". + acidIP2Long($mask[1])."')"; } } } @@ -923,8 +684,9 @@ else $tmp = "(".$tmp_src.') AND ('.$tmp_dst.')'; } - - $tmp = $ip_addr[$i][0]."(".$tmp.")".$ip_addr[$i][8].$ip_addr[$i][9]; + + if ( $tmp != "" ) + $tmp = $ip_addr[$i][0]."(".$tmp.")".$ip_addr[$i][8].$ip_addr[$i][9]; } else if ( (isset($ip_addr[$i][3]) && $ip_addr[$i][3] != "" ) || $ip_addr[$i][1] != " " ) { @@ -959,42 +721,38 @@ if ( $tmp2 != "" ) $criteria_sql = $criteria_sql." AND ( ".$tmp2." )"; - - $tmp_cnt = strlen($criteria_sql); + else + $cs->criteria['ip_addr']->SetFormItemCnt(0); /* IP Fields */ - FieldRows2sql($ip_field, $ip_field_cnt, $criteria_sql); - - if ( $tmp_cnt != strlen($criteria_sql) ) - $have_ip = 1; - else - $have_ip = 0; + if ( FieldRows2sql($ip_field, $ip_field_cnt, $criteria_sql) == 0 ) + $cs->criteria['ip_field']->SetFormItemCnt(0); /* Layer-4 encapsulation */ - /* if ( $caller != "" $caller == "" || - $caller == "last_tcp" || $caller == "last_udp" || $caller == "last_icmp" ) */ - if ( $layer4 == "TCP" ) - $criteria_sql = $criteria_sql." AND acid_event.ip_proto= 6"; - else if ( $layer4 == "UDP" ) - $criteria_sql = $criteria_sql." AND acid_event.ip_proto= 17"; - else if ( $layer4 == "ICMP" ) - $criteria_sql = $criteria_sql." AND acid_event.ip_proto= 1"; + if ( $layer4 == "TCP" ) + $criteria_sql = $criteria_sql." AND acid_event.ip_proto= '6'"; + else if ( $layer4 == "UDP" ) + $criteria_sql = $criteria_sql." AND acid_event.ip_proto= '17'"; + else if ( $layer4 == "ICMP" ) + $criteria_sql = $criteria_sql." AND acid_event.ip_proto= '1'"; + else + $cs->criteria['layer4']->Set(""); - /* Build the final IP criteria */ - if ( $have_ip == 1 ) + /* Join the iphdr table if necessary */ + if ( !$cs->criteria['ip_field']->isEmpty() ) $join_sql = $ip_join_sql.$join_sql; /* ********************** TCP Criteria ********************************************** */ if ( $layer4 == "TCP" ) { - $have_tcp = 0; $proto_tmp = ""; /* TCP Ports */ - FieldRows2sql($tcp_port, $tcp_port_cnt, $proto_tmp); - if ( $proto_tmp != "" ) $have_tcp = 1; + if ( FieldRows2sql($tcp_port, $tcp_port_cnt, $proto_tmp) == 0 ) + $cs->criteria['tcp_port']->SetFormItemCnt(0); + $criteria_sql = $criteria_sql.$proto_tmp; + $proto_tmp = ""; - /* TCP Flags */ if ( isset($tcp_flags) ) { @@ -1012,17 +770,18 @@ } /* TCP Fields */ - FieldRows2sql($tcp_field, $tcp_field_cnt, $proto_tmp); + if ( FieldRows2sql($tcp_field, $tcp_field_cnt, $proto_tmp) == 0 ) + $cs->criteria['tcp_field']->SetFormItemCnt(0); /* TCP Options * - not implemented */ - if ( $proto_tmp != "" ) + if ( !$cs->criteria['tcp_port']->isEmpty() || !$cs->criteria['tcp_flags']->isEmpty() || !$cs->criteria['tcp_field']->isEmpty() ) { - $have_tcp = 1; $criteria_sql = $criteria_sql.$proto_tmp; - $join_sql = $tcp_join_sql.$join_sql; + if ( !$cs->criteria['tcp_flags']->isEmpty() || !$cs->criteria['tcp_field']->isEmpty() ) + $join_sql = $tcp_join_sql.$join_sql; } } @@ -1030,22 +789,23 @@ if ( $layer4 == "UDP" ) { $proto_tmp = ""; - $have_udp = 0; /* UDP Ports */ - FieldRows2sql($udp_port, $udp_port_cnt, $proto_tmp); - if ( $proto_tmp != "" ) $have_udp = 1; + if ( FieldRows2sql($udp_port, $udp_port_cnt, $proto_tmp) == 0 ) + $cs->criteria['udp_port']->SetFormItemCnt(0); + $criteria_sql = $criteria_sql.$proto_tmp; $proto_tmp = ""; /* UDP Fields */ - FieldRows2sql($udp_field, $udp_field_cnt, $proto_tmp); + if ( FieldRows2sql($udp_field, $udp_field_cnt, $proto_tmp) == 0 ) + $cs->criteria['udp_field']->SetFormItemCnt(0); - if ( $proto_tmp != "" ) + if ( !$cs->criteria['udp_port']->isEmpty() || !$cs->criteria['udp_field']->isEmpty() ) { - $have_udp = 1; $criteria_sql = $criteria_sql.$proto_tmp; - $join_sql = $udp_join_sql.$join_sql; + if ( !$cs->criteria['udp_field']->isEmpty() ) + $join_sql = $udp_join_sql.$join_sql; } } @@ -1053,33 +813,30 @@ if ( $layer4 == "ICMP" ) { $proto_tmp = ""; + /* ICMP Fields */ - FieldRows2sql($icmp_field, $icmp_field_cnt, $proto_tmp); + if ( FieldRows2sql($icmp_field, $icmp_field_cnt, $proto_tmp) == 0 ) + $cs->criteria['icmp_field']->SetFormItemCnt(0); - if ( $proto_tmp != "" ) + if ( !$cs->criteria['icmp_field']->isEmpty() ) { - $have_icmp = 1; $criteria_sql = $criteria_sql.$proto_tmp; $join_sql = $icmp_join_sql.$join_sql; } - else - $have_icmp = 0; } /* ********************** Payload Criteria ***************************************** */ $tmp_payload = ""; - DataRows2sql($data, $data_cnt, $data_encode, $tmp_payload); + if ( DataRows2sql($data, $data_cnt, $data_encode, $tmp_payload) == 0 ) + $cs->criteria['data']->SetFormItemCnt(0); - if ( $tmp_payload != "" ) + if ( !$cs->criteria['data']->isEmpty() ) { - $have_data = 1; $criteria_sql = $criteria_sql.$tmp_payload; $join_sql = $data_join_sql.$join_sql; } - else - $have_data = 0; - + $csql[0] = $join_sql; $csql[1] = $criteria_sql; --- acidlab-0.9.6b20.orig/README +++ acidlab-0.9.6b20/README @@ -14,7 +14,7 @@ CVS : cvs.acidlab.sourceforge.net ------------------------------------------------------------------------------- -** Copyright (C) 2000, 2001 Carnegie Mellon University +** Copyright (C) 2000, 2001, 2002 Carnegie Mellon University ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by @@ -63,7 +63,6 @@ - tcpdump binary logs o using logsnorter (www.snort.org/downloads/logsnorter-0.2.tar.gz) - - Cisco PIX - ipchains - iptables - ipfw @@ -98,7 +97,7 @@ Version: 1.7+ Description: Network Intrusion Detection System Reason: Detects security events - Homepage: http://www.snort.com/ + Homepage: http://www.snort.org/ - Package: logsnorter Version: 0.2+ @@ -132,11 +131,11 @@ Reason: PHP provides no clean database API Homepage: http://php.weblogs.com/adodb/ - o Package: PHPlot - Version: 4.4.6+ + o Package: JPGraph + Version: 1.8+ Description: PHP chart library - Reason: Set of PHP classes over GD to generate charts - Homepage: http://www.phplot.com + Reason: PHP4 graphing library + Homepage: http://www.aditus.nu/jpgraph/ Type: optional o Package: GD @@ -146,6 +145,24 @@ Homepage: http://www.boutell.com/gd/ Type: optional + The following are GD dependencies: + + o Package: libpng + Description: PNG library + Reason: PNG format support for GD + Homepage: http://www.libpng.org/pub/png/ + + o Package: libjpeg-6b + Description: JPEG library + Reason: JPEG format support for GD + Homepage: http://www.ijg.org/ + + o Package: zlib + Version: 1.8.* + Description: compression library + Reason: Compression support for GD + Homepage: http://www.gzip.org/zlib/ + o Any web browser capable of supporting cookies @@ -303,7 +320,7 @@ under Windows, http://www.php.net/manual/en/install-windows.php. o PHP will execute more efficiently if run as an Apache module - (--with-apache in the ./configure script). However, it is possible to + (--with-apxs in the ./configure script). However, it is possible to run PHP as a CGI application and under different web servers. It should be noted that these configurations are untested. @@ -353,25 +370,19 @@ $ tar xvfz adodb112.tgz $ cd .. -7. Uncompress and install PHPlot 4.4.6+. Again, this installation should - involve only copying the files into a directory viewable by the web +7. Uncompress and install JPGraph 1.8+. This installation should + involve copying the files into a directory viewable by the web server and PHP. [UNIX] - $ cp phplot-4.4.6.tar.gz /home/httpd/html + $ cp jpgraph1.8.tar.gz /home/httpd/html $ cd /home/httpd/html - $ tar xvfz phplot-4.4.6.tar.gz + $ tar xvfz jpgraph.1.8.tar.gz $ cd .. -8. [OPTIONAL] Confirm that GD support has been properly configured in - PHP by opening a browser and attempting to view the PHPlot diagnostics page - examples/test_setup.php (the full URL will depend on where PHPlot was - installed; e.g. http://mywebserver/phplot/examples/test_setup.php). If - PHP has been configured correctly, at least one chart graphic should be - seen on this page. Otherwise, PHP has not been configured correctly with - GD support. + See the JPGraph README file for additional documentation. -9. Uncompress and install ACID by copying and expanding it to a directory +8. Uncompress and install ACID by copying and expanding it to a directory viewable by the web server and PHP. [UNIX] @@ -380,7 +391,7 @@ $ tar xvfz acid-0.9.6.tar.gz $ cd acid -10. Verify that cookie support in the browser is enabled. +9. Verify that cookie support in the browser is enabled. [Netscape 4.*] @@ -409,7 +420,7 @@ IV. CONFIGURATION _____________________________________ -11. The file 'acid_conf.php' controls the configuration of ACID. +10. The file 'acid_conf.php' controls the configuration of ACID. Note: 'acid_conf.php' is PHP code which will be included in each ACID page request. As such, it is imperative that the opening @@ -461,7 +472,8 @@ [OPTIONAL for chart support] - o $ChartLib_path : full path to the PHPlot install + o $ChartLib_path : full path to the JPGraph install; the directory + in which the file 'jpgraph.php' is located (Note: do not include a trailing '\' character) o $chart_file_format : graphic format to use for generated charts @@ -473,7 +485,7 @@ o $portscan_file : full path to a Snort portscan log file -12. Open the acid_main.php page in a browser. If the any database changes +11. Open the acid_main.php page in a browser. If the any database changes are required, ACID will prompt for action. For new databases, several ACID specific tables will need to be created. @@ -494,7 +506,7 @@ After the tables are created, ACID will return status indicating success. -13. Read the security notes about deploying ACID. +12. Read the security notes about deploying ACID. V. SECURITY --- acidlab-0.9.6b20.orig/acid_stat_common.php +++ acidlab-0.9.6b20/acid_stat_common.php @@ -4,10 +4,10 @@ * * Author: Roman Danyliw , * - * Copyright (C) 2000 Carnegie Mellon University + * Copyright (C) 2000-2002 Carnegie Mellon University * (see the file 'acid_main.php' for license details) * - * Purpose: + * Purpose: summary statistics * */ @@ -16,7 +16,7 @@ function SensorCnt($db, $join = "", $where = "") { if ( $join == "" && $where == "" ) - $result = $db->acidExecute("SELECT count(*) FROM sensor"); + $result = $db->acidExecute("SELECT COUNT(DISTINCT acid_event.sid) FROM acid_event"); else $result = $db->acidExecute("SELECT COUNT(DISTINCT acid_event.sid) FROM acid_event $join $where"); $myrow = $result->acidFetchRow(); @@ -52,7 +52,7 @@ { /* Calculate the Unique Alerts */ - $query = "SELECT COUNT(DISTINCT signature) FROM acid_event WHERE sid = " . $sensorID . ";"; + $query = "SELECT COUNT(DISTINCT signature) FROM acid_event WHERE sid = '" . $sensorID . "'"; $result = $db->acidExecute($query); if ( $result ) @@ -75,7 +75,7 @@ */ function EventCntBySensor($sensorID, $db) { - $query = "SELECT count(*) FROM acid_event where sid = " .$sensorID. ";"; + $query = "SELECT count(*) FROM acid_event where sid = '" .$sensorID. "'"; $result = $db->acidExecute($query); $myrow = $result->acidFetchRow(); @@ -87,7 +87,7 @@ function MinDateBySensor($sensorID, $db) { - $query = "SELECT min(timestamp) FROM acid_event WHERE sid=" . $sensorID . ";"; + $query = "SELECT min(timestamp) FROM acid_event WHERE sid= '". $sensorID."'"; $result = $db->acidExecute($query); $myrow = $result->acidFetchRow(); @@ -100,7 +100,7 @@ function MaxDateBySensor($sensorID, $db) { - $query = "SELECT max(timestamp) FROM acid_event WHERE sid=" . $sensorID . ";"; + $query = "SELECT max(timestamp) FROM acid_event WHERE sid='".$sensorID."'"; $result = $db->acidExecute($query); $myrow = $result->acidFetchRow(); @@ -112,7 +112,7 @@ function UniqueDestAddrCntBySensor( $sensorID, $db ) { - $query = "SELECT COUNT(DISTINCT ip_dst) from acid_event WHERE sid=" . $sensorID . ";"; + $query = "SELECT COUNT(DISTINCT ip_dst) from acid_event WHERE sid='" . $sensorID . "'"; $result = $db->acidExecute($query); $row = $result->acidFetchRow(); @@ -124,7 +124,7 @@ function UniqueSrcAddrCntBySensor( $sensorID, $db ) { - $query = "SELECT COUNT(DISTINCT ip_src) from acid_event WHERE sid=" . $sensorID . ";"; + $query = "SELECT COUNT(DISTINCT ip_src) from acid_event WHERE sid='" . $sensorID . "'"; $result = $db->acidExecute($query); $row = $result->acidFetchRow(); @@ -136,7 +136,7 @@ function TCPPktCnt($db) { - $result = $db->acidExecute("SELECT count(*) FROM tcphdr;"); + $result = $db->acidExecute("SELECT count(*) FROM acid_event WHERE ip_proto=6"); $myrow = $result->acidFetchRow(); $num = $myrow[0]; $result->acidFreeRows(); @@ -146,7 +146,7 @@ function UDPPktCnt($db) { - $result = $db->acidExecute("SELECT count(*) FROM udphdr;"); + $result = $db->acidExecute("SELECT count(*) FROM acid_event WHERE ip_proto=17"); $myrow = $result->acidFetchRow(); $num = $myrow[0]; $result->acidFreeRows(); @@ -156,7 +156,7 @@ function ICMPPktCnt($db) { - $result = $db->acidExecute("SELECT count(*) FROM icmphdr;"); + $result = $db->acidExecute("SELECT count(*) FROM acid_event WHERE ip_proto=1"); $myrow = $result->acidFetchRow(); $num = $myrow[0]; $result->acidFreeRows(); @@ -273,11 +273,11 @@ if ( $join == "" && $where == "") $result = $db->acidExecute("SELECT COUNT(DISTINCT acid_event.layer4_sport), ". "COUNT(DISTINCT acid_event.layer4_dport) FROM acid_event ". - "WHERE ip_proto=".TCP); + "WHERE ip_proto='".TCP."'"); else $result = $db->acidExecute("SELECT COUNT(DISTINCT acid_event.layer4_sport), ". "COUNT(DISTINCT acid_event.layer4_dport) FROM acid_event $join". - " $where AND ip_proto=".TCP); + " $where AND ip_proto='".TCP."'"); $row = $result->acidFetchRow(); $result->acidFreeRows(); @@ -290,11 +290,11 @@ if ( $join == "" && $where == "") $result = $db->acidExecute("SELECT COUNT(DISTINCT acid_event.layer4_sport), ". "COUNT(DISTINCT acid_event.layer4_dport) FROM acid_event ". - "WHERE ip_proto=".UDP); + "WHERE ip_proto='".UDP."'"); else $result = $db->acidExecute("SELECT COUNT(DISTINCT acid_event.layer4_sport), ". "COUNT(DISTINCT acid_event.layer4_dport) FROM acid_event $join". - " $where AND ip_proto=".UDP); + " $where AND ip_proto='".UDP."'"); $row = $result->acidFetchRow(); $result->acidFreeRows(); --- acidlab-0.9.6b20.orig/acid_db_common.php +++ acidlab-0.9.6b20/acid_db_common.php @@ -4,14 +4,13 @@ * * Author: Roman Danyliw , * - * Copyright (C) 2000 Carnegie Mellon University + * Copyright (C) 2000, 2001, 2002 Carnegie Mellon University * (see the file 'acid_main.php' for license details) * - * Purpose: + * Purpose: database schema manipulation * */ - function createDBIndex($db, $table, $field, $index_name) { $sql = 'CREATE INDEX '.$index_name.' ON '.$table.' ('.$field.')'; @@ -115,7 +114,7 @@ { $ip32 = acidIP2long($ip); - $result = $db->acidExecute("SELECT signature FROM acid_event (ip_src=$ip32) OR (ip_dst=$ip32)"); + $result = $db->acidExecute("SELECT signature FROM acid_event (ip_src='$ip32') OR (ip_dst='$ip32')"); while ( $myrow = $result->acidFetchRow() ) $sig[] = $myrow[0]; @@ -130,7 +129,7 @@ $ip32 = acidIP2long($ip); $result = $db->acidExecute("SELECT count(ip_src) FROM acid_event WHERE ". - "(ip_src=$ip32) OR (ip_dst=$ip32)"); + "(ip_src='$ip32') OR (ip_dst='$ip32')"); $myrow = $result->acidFetchRow(); $event_cnt = $myrow[0]; @@ -143,7 +142,7 @@ { $ip32 = acidIP2long($ip); $result = $db->acidExecute("SELECT DISTINCT signature FROM acid_event WHERE ". - "(ip_src=$ip32) OR (ip_dst=$ip32)"); + "(ip_src='$ip32') OR (ip_dst='$ip32')"); while ($myrow = $result->acidFetchRow()) $sig[] = $myrow[0]; @@ -157,7 +156,7 @@ { $ip32 = acidIP2long($ip); $result = $db->acidExecute("SELECT DISTINCT signature FROM acid_event WHERE ". - "(ip_src=$ip32) OR (ip_dst=$ip32)"); + "(ip_src='$ip32') OR (ip_dst='$ip32')"); while ($myrow = $result->acidFetchRow()) $sig[] = $myrow[0]; @@ -171,7 +170,7 @@ { $ip32 = acidIP2long($ip); $result = $db->acidExecute("SELECT count(signature) FROM acid_event WHERE ". - "( (ip_src=$ip32 OR ip_dst=$ip32) AND signature='$current_event')"); + "( (ip_src='$ip32' OR ip_dst='$ip32') AND signature='$current_event')"); $myrow = $result->acidFetchRow(); $tmp = $myrow[0]; @@ -184,7 +183,7 @@ { $ip32 = acidIP2long($ip); $result = $db->acidExecute("SELECT DISTINCT sid FROM acid_event WHERE ". - "( (ip_src=$ip32 OR ip_dst=$ip32) AND signature='$current_event')"); + "( (ip_src='$ip32' OR ip_dst='$ip32') AND signature='$current_event')"); while ($myrow = $result->acidFetchRow()) $sid[] = $myrow[0]; @@ -199,7 +198,7 @@ { $ip32 = acidIP2long($ip); $result = $db->acidExecute("SELECT min(timestamp) FROM acid_event WHERE ". - "((ip_src=$ip32 OR ip_dst=$ip32) AND signature = '$current_event');"); + "((ip_src='$ip32' OR ip_dst='$ip32') AND signature = '$current_event');"); $myrow = $result->acidFetchRow(); $start_time = $myrow[0]; @@ -211,7 +210,7 @@ { $ip32 = acidIP2long($ip); $result = $db->acidExecute("SELECT max(timestamp) FROM acid_event WHERE ". - "((ip_src=$ip32 OR ip_dst=$ip32) AND signature = '$current_event');"); + "((ip_src='$ip32' OR ip_dst='$ip32') AND signature = '$current_event');"); $myrow = $result->acidFetchRow(); $stop_time = $myrow[0]; --- acidlab-0.9.6b20.orig/acid_stat_time.php +++ acidlab-0.9.6b20/acid_stat_time.php @@ -67,8 +67,8 @@ if ( $value_lst[$i] > $max_cnt ) $max_cnt = $value_lst[$i]; echo ' - - + + '; @@ -112,33 +112,29 @@ include_once ("acid_db_common.php"); include_once ("acid_common.php"); include_once ("acid_stat_common.php"); + include_once ("acid_qry_common.php"); $time_sep = ImportHTTPVar("time_sep"); $time = ImportHTTPVar("time"); $submit = ImportHTTPVar("submit"); + $cs = new CriteriaState("acid_stat_alerts.php"); + $cs->ReadState(); + $page_title = "Time Profile of Alerts"; PrintACIDSubHeader($page_title, $page_title, "Back"); -?> - - - -
Time# of Alerts
Time# of Alerts Alerts
- - - -
Time Criteria
- - - -
-acidDBConnect($db_connect_method, $alert_dbname, $alert_host, $alert_port, $alert_user, $alert_password); + $criteria_clauses = ProcessCriteria(); + PrintCriteria(""); + + $from = " FROM acid_event ".$criteria_clauses[0]; + $where = " WHERE ".$criteria_clauses[1]; + if ( $event_cache_auto_update == 1 ) UpdateAlertCache($db); if ( $submit == "" ) @@ -146,6 +142,17 @@ InitArray($time, $MAX_ROWS, TIME_CFCNT, ""); } + echo ' + + + + +
Time Criteria
+ + + +
'; + echo 'Profile by :   Hour Day @@ -183,6 +190,8 @@

'; + $result->acidFreeRows(); + } + else if ( $db->DB_type == "postgres") + { + $tmp_str = "

Repair Complete

"; + $result->acidFreeRows(); + } + + echo "
";
+  echo $tmp_str;
+  echo "
"; + return $tmp_str; +*/ +} + ?> --- acidlab-0.9.6b20.orig/acid_net.inc +++ acidlab-0.9.6b20/acid_net.inc @@ -4,7 +4,7 @@ * * Author: Roman Danyliw , * - * Copyright (C) 2000 Carnegie Mellon University + * Copyright (C) 2000, 2001, 2002 Carnegie Mellon University * (see the file 'acid_main.php' for license details) * * Purpose: TCP/IP network routines @@ -17,7 +17,7 @@ * Purpose: convert a text string IPv4 address into its 32-bit numeric * equivalent * - * Arguments: $IP_str => dotted IPv4 address string (e.g. 1.2.3.4) + :* Arguments: $IP_str => dotted IPv4 address string (e.g. 1.2.3.4) * * Returns: 32-bit integer equivalent of the dotted address * (e.g. 255.255.255.255 => 4294967295 ) @@ -143,7 +143,7 @@ $current_time = date("Y-m-d H:i:s",$current_unixtime); $sql = "SELECT ipc_ip,ipc_fqdn,".$db->acidSQL_UNIXTIME("(ipc_dns_timestamp)", "","").",ipc_dns_timestamp". " FROM acid_ip_cache ". - " WHERE ipc_ip = $ip32 "; + " WHERE ipc_ip = '$ip32' "; $result = $db->acidExecute($sql); $ip_cache = $result->acidFetchRow(); @@ -160,7 +160,8 @@ } else /* cache hit */ { - if ( ( ($ip_cache[2] / 60)+$cache_lifetime ) <= ($current_unixtime / 60) ) + if ( (( ($ip_cache[2] / 60)+$cache_lifetime ) <= ($current_unixtime / 60)) && + ($ip_cache[2] != "") ) { /* valid entry */ if ( ($ip_cache[2] != "") && ($ip_cache[2] != 0) ) @@ -176,7 +177,7 @@ /* Update entry in cache regardless of whether can resolve */ $sql = "UPDATE acid_ip_cache SET ipc_fqdn='$tmp', ". - " ipc_dns_timestamp='$current_time' WHERE ipc_ip=$ip32"; + " ipc_dns_timestamp='$current_time' WHERE ipc_ip='$ip32'"; $db->acidExecute($sql); } } @@ -209,7 +210,7 @@ $current_time = date("Y-m-d H:i:s",$current_unixtime); $sql = "SELECT ipc_ip,ipc_whois,".$db->acidSQL_UNIXTIME("(ipc_whois_timestamp)", "","").",ipc_whois_timestamp". " FROM acid_ip_cache ". - " WHERE ipc_ip = $ip32 "; + " WHERE ipc_ip = '$ip32' "; $result = $db->acidExecute($sql); $whois_cache = $result->acidFetchRow(); @@ -247,7 +248,7 @@ /* Update entry in cache regardless of whether can resolve */ $sql = "UPDATE acid_ip_cache SET ipc_whois='".getSafeSQLString($tmp)."', ". - " ipc_whois_timestamp='$current_time' WHERE ipc_ip=$ip32"; + " ipc_whois_timestamp='$current_time' WHERE ipc_ip='$ip32'"; $db->acidExecute($sql); } } --- acidlab-0.9.6b20.orig/acid_constants.inc +++ acidlab-0.9.6b20/acid_constants.inc @@ -4,7 +4,7 @@ * * Author: Roman Danyliw , * - * Copyright (C) 2000, 2001 Carnegie Mellon University + * Copyright (C) 2000, 2001, 2002 Carnegie Mellon University * (see the file 'acid_main.php' for license details) * * Purpose: application constants @@ -43,4 +43,19 @@ define("DB_CONNECT", 2); define("DB_PCONNECT", 1); +/* */ +define("VAR_DIGIT", 1); +define("VAR_LETTER", 2); +define("VAR_ULETTER", 4); +define("VAR_LLETTER", 8); +define("VAR_ALPHA", 16); +define("VAR_PUNC", 32); +define("VAR_SPACE", 64); +define("VAR_FSLASH", 128); +define("VAR_PERIOD", 256); +define("VAR_OPERATOR", 512); +define("VAR_OPAREN", 1024); /* ( */ +define("VAR_CPAREN", 2048); /* ) */ +define("VAR_USCORE", 4096); +define("VAR_AT", 8192); ?> --- acidlab-0.9.6b20.orig/debian/dirs +++ acidlab-0.9.6b20/debian/dirs @@ -0,0 +1,2 @@ +usr/bin +usr/sbin --- acidlab-0.9.6b20.orig/debian/acidlab.014.diff +++ acidlab-0.9.6b20/debian/acidlab.014.diff @@ -0,0 +1,36 @@ +diff -Nru acidlab-0.9.6b20-12/acid_state_citems.inc acidlab-0.9.6b20/acid_state_citems.inc +--- acidlab-0.9.6b20-12/acid_state_citems.inc 2005-10-31 00:29:57.000000000 +0100 ++++ acidlab-0.9.6b20/acid_state_citems.inc 2005-10-31 17:36:12.000000000 +0100 +@@ -737,7 +737,13 @@ + echo '
.!9?)I$\(.(OB"XE=_X%>$-GB!,*B"Y^>"-SB# +M2FB"+7B"ZS=_$8B#]*>#YK9_3-=_:V)H'\%WV"""(TB%25B&-1B%-^B"+*B& +M-&B!4MB"1[>":ZB$*9A_[W)]D>.#9`*&TM5]SA>#1AB!4&B$-.B&37B&\5>( +M+PB#=9B%=&B'DAB%>-AV4V0^?!@F?J@M@'A[D^ASA;B`;LB$H.B$=LC_B&NX +MB(Y8BH(8AXBHA:7&@<&3B6`"AE@A%&2XBNE'?D@HA^UWA'6XBPYHA:KHBXTX +M?O9G?Q+(?EE8B:LGB[/HA6H"A'0GA('XB=*7C=I(@,Y8+ER(?=)(41=B>1U6 +M&KR54XRE?,:446!WC6:XC?18C_#7C>$"C>'AW2IYHCQ`9D>.'C]^BC_LHC?UH5)@A0DQHY;VR%@,I5WLG +MAN$8;B;A'BFY9?'XD"^9E-H(BX1ED0I$DS99_W)4AQ,Z6753&2%,5GOA50[L +MJ)%%26]4@0%**8%C&7V+=Y8>X%EHR0*/5Y-N*7>M-7?X9I505V\,F6V<=RU: +M\I4<=F"YF)3S6):$QY0+]8V3TY9NF9%H]FZ7UY@5%G@L9W):.25=R7`%=I>3 +MV7Q(N91MJ(N@>(7+:(B_6("@N8V$65J7F$`Y1T5W]P.)^99H]H?$1GFW`(]N +MAC%0Y7#)(Q25B27NV&;))$B;F8W%&)B(Z(BDF)S(&9&G*4Z&V30\QYH[B1RP +MAY#.`934\)=+.87T)XJKB(J-:)RXUYR^Y)22TW/E%)MYPWRR8(M!2!?:29R= +MB8"0>(J1B(:2*)ZG1_^>`O><+X.>ZT*+7[*)Y8@<\2E]O$AVX@4.A\*6>A8:A$&*- +MPXF@'9J(WWF?RNF9]4BBYA,TP0.@\B*@7D*-Q;>2`Z"?I5>,!*B,H3F:HMF+ +M](BCP<.#DP-T]^*C6P*"3[*A@IFEJ-=H_MDQ/VD +MD].E&X.B"1.F3.*>E5IJH:*>FIB:A3O.G#0.G0N*'-YFA%Q=Z1VFFBKJI\I=7Y7&L.&DX9JD!YVC9QZJT?7E)\:,E\:,J-:H**DE=Y& +M73?9EY'Y(<3:9?P2',@'D-ZEDF%Y`;@ZK26XEBO3>!Q7K9[TJUB'E3HQDI@J +ME]78K1]YJ0/Y5."ZD[K9>=.6(9S(DW5I>YI*K?2Z?H7)I@8#J5WX4@?0K_[Z +MKP`;L``K6;/W73(7=2Q2E:$'K5UWE2Q1;^RJHLKZK$99ICECK1C+`M$D`.(" +MI6'CID]#3P([LB3;KP3[/K\QKNX:DG8WERAG2I-EKG@94Z\*(N-1&;^)FZA! +MD:6&5A6)K_72JW+#K0MW;UG9D''Y;E,7K_2F7>H*_[%ZJ1G->ED\VVBJ!;3S +M(J6!0[0Z>9DB\;3317YB!FI?3R2FN&K$H6;CP +M>;CMY;&\ZG,7*;&4!JN&D%3Z5E"6JZL-Q;&9J[DSV;BUN&K8.1"C*U98VRZ+ +MFT#<2B/_=VBOZT]OBS"SZT*UZR#_)R4NFKO1E+@C"]&T[5>Q[7NZQ\^746V[U4]KW2B[IB +M-;['8:5TF96T1ZN:J;[G@_^Y"C.][ZNZ`]J;#,=?LZJLM8J_=::_"1.^A`6_ +MQ2&_K5FP#(L8&3O!%'P"J@0#YU?!=C2W2G%;4VNJ2]9Y_H:.#\RTCQNU`D:_ +MD"FD!DPWQLN[0IMI7&M9W,:TP^J8`AF26`0;#QN4[,-4`UR.C-K"\Q*]XC)R +MX!+#SS;#N,XLKKQ6YXZK"94NXE^IR`2RY_9*S?AN<#DG$LI::]#)R2FQN +M]%1X*DQ[-)=P">N1EKG")R*9!,NY"7E38#PV1EPNUA:W'G?&A-=U:R5;*VM= +M+3O%LBI9."NS6+R5C*RV=W7'3?/"6>N^>,C$3&;(,(NWXGI@=1?`=[G(RP'` +M&@K_R3$CR?+RIO*7!!@/0!=C;HDG=8!>M.G:LXI +M-VR546PBK*H7PZKM4]7X`;1Y(O99`W')"R5\4JZ[3;?-7# +MF\M#,P!")]B$0]B8NLP36UE1#+&8',2"ZSY.C+;97".B2\J3+=66/:7"Q#9I +M+*Q`?!M%^[2R[)-H:[]I6SI^#<8Z&MBK/3.MO3:`+*OE&B%-54UKU#8]+5O3&K +MC)F%K6SOVLE;2=HJ*9FD+=<38__'HWO>.I?>9'/=*]6J@DO,33QY>XO,F+=\ +MN0G0ZVK+IHW?53O="LS?PN??4U7:4*O-Z7S+:]N-^IUS!H#0$MXT2/W8<6TD +MV*O%NQ#0%?5F`0?BU@?A`3``;1WB(D[AM@O9L=S2APIP,WUS,%XN/DOC(6OC +MP(OCCQO1!/S2O69MD[TN+B[D^WK-:6;D8:[G"_3F0BEL[WC@`RU-.Y?EB$Z]BDZF=R$ZAQ[5.B?IDPY/ +M?!XKEI[_*ICNRYI.Z$7SU9V^4)\.*Z$>):-N`)%>Z#).ZJG>3ZM^*JV^'C#S +MY.EBZK)>ZV1VZZ:2ZWD2,ID>ZT<#[+$F[*5"[`]B[*2>-=:F[.7&[)OB[+_@ +M,5XS+KQ.[3)M=:N*98NT"SN+M7&-3J'ZN7.MN>>*60ZY_+: +M+NT.--.;Z?'NC/,.*?7^T73.+D,==/V^T.`N;EH]\.M2\#AW\`3][X\2\`O? +M$20P\1J_\2TC\8Y"\<8JY4,P9\C,$\NC+X"@5Y^NH +M\BL_\RQO\SA/.NF.X&1+\]3I\S]_\R4)]+F0\(I^]$A/"N&>__1,W_0H[O10 +M'_67M?127_5-C^U6G_5F@_5:W_4-1/5>'_:6`_9B7_:@3O9FG_;7CO:>J_;$ +M!_8?S""M'OACMMZG^1U(/B!/]YW8_=V65>&_WJ+ +MKR6-[_B-#%'++??,3/D+#B0Q>_6(#^@,,?F=7_F??_F8[_E`8JB%#Z^#+[.I +MC_I)S_4-6?JJ?_IJ#/NL+_N9R?@SP94%J?NY7_2[[_2NC\-N\MYV/?QB"_B, +M?OR$_]#$C_QY`N"6BCC0'UO&?\FCO].;[W_9?R*E&I#1C_O8GS0U\GL7^'/VO>'?PG:AO^R75+_A'O_;HQ=>H+__%]5$`#23+). +M2_7FW>ZMF\\UZMQ]_\/114"=C+#7A$F6BHW1U@2 +M!Z"ZHM5BU2K"`K4G(:;[^X:O5&=:O6:WGU*WN[Q,C7US8AWMM4-Y>S[`/#%! +M'3^ZM<-!-45%I4:S.,E)RDJ20DO&R*C$32;-ID]0(LY1TJ&T+5$G5516,#.X +MS%G:6AM,6S)80EG#W;_>G%:[UTV\.ZQ&XITO95SA9.-EP^BFXUSL;&VAX.V2 +M,L?4KG#6<4]&\]#4L,-NF?9%4N9("7@^1'MO_?W:9WX.5`'5^5KDQ]V[>K$4 +MCA(HCQH:%TC_#K;@<>J3OUNN$G+Q4C'BE7\A1("05LVPL=3++'U@J +M,&;LPVGF#(/LQI2\M/#"')[?X`'5]40GH*`CE2[]D#07%(/I[A64.F^7'E=6 +M?\:J2O`%N9>E'*YKV$DE6*9IU69V].'9U<+6]WQ2=83<`X'//&LW)?*_BQ+>%E_SC_;7S\ +MB]/GY[^OCGWBOG,/O0'[,]"T_0Y4T!;E0$GP&^;,>G!!"FD0KT(,,]1P0PZS +MN;!#$$,4<4026?BP1!135'%%_DYD\4488Y0Q)!=GM/%&''.$3$<>>_3QQY6` +M%')((HLDS,CV>`NJQC=V0\J="9&4&&2&';XX=+FE'ABBBNV^&*, +A,]9X8XX[]OACD$,6>6222S;Y9)135GEEEEMVF>,(```[ +` +end --- acidlab-0.9.6b20.orig/html-doc/perform_analysis2_6025_image002.gif.uu +++ acidlab-0.9.6b20/html-doc/perform_analysis2_6025_image002.gif.uu @@ -0,0 +1,170 @@ +begin 644 perform_analysis2_6025_image002.gif +M1TE&.#EA>`+Y`'<`,2'^&E-O9G1W87)E.B!-:6-R;W-O9G0@3V9F:6-E`"'Y +M!`$`````+`````!W`O@`A(&!@0"`````@,#`P````)DS9H"`@/\``/__```` +M_____P$"`P$"`P$"`P$"`P$"`P$"`P$"`P$"`P$"`P$"`P$"`P$"`P$"`P$" +M`P$"`P$"`P$"`P$"`P$"`P$"`P$"`P3_D,A)J[TXZ\V[_V`HCF1IGFBJKFSK +MOG`LSY)BWWBN[WSO_\"@<$@L&H_(I'+);#J?T*AT2JU:K;6K=LOM>K_@L'A, +M+IO+V;-ZS6Z[W_"X?%Y-T^_XO'[/[_O5=G^"@X2%AH>(8X&)C(V.CY"1>HN2 +ME9:7F)F:0I2;GI^@H:)WG:.FIZBIJDREJZZOL+&AK;*UMK>X?[2Y5)2[.P1` +MP4:_.<-*Q3H61Q-^P\TXT#P5QA31Q\#6V6G4RMHVW]B\3]K6>'2WMT*\ND]_-?6_J7KMFQ?.W/L$++"9_"8G1JTM!&$IF^;0VSX +M(!;\=LU@1VD:_Z==!/BQ8,.2'C5B!!F,HH+3.`?7;T7M6? +M$),"U?JSH]MB@6A6\]$3[<&B0>CA?4O6YLQ6BWSUY318+DNV3\.2+:PR'U;$ +MAW%2-#R8+V._6Q&O[F*.XMSKN:]1/3N?6Q:KLC(74$G9@R5)T?- +M]H*ZCGUULEN[.W,']XW9<56:(87WEBT\[\%.@%>:1IWZ+G61-0-7CLBZ7W/1 +MV1=W;YL5N/G=/L>"=OT]O&WWQ:N5-[RON&"_\76V/8V>O3K510&H4/]S!"YV +MDS#;708>?/>=YN!)Q(6GV#H43F?7A.0I6"!D"C[%X67?Y29>>EVE]QES&U9X +MG7,K$F96B.4!-%E3([X6X48KT8C9/1^>!5UM&<+&H'@P\L;;?[K!&-.++&7E +MF6)813;1DRT25J5S894XW'Z.D02A@:'5196#,R:9(8=:4XZ@D!#*)S-Y*%HHHH6BBFJ^ZZ[+;[+:W7QML'J@[5)U2]:@G5K;O\]NOOOP`' +M3"Z\\A:,Q[,M&9.OOO;Z(_##$$L\L)(2F#`QR/W*T',-$=,@`$XYZSSSCSW[///0`7O +M3N[X[)07WF[@N.?>^N^,6P[Z\,07;_SQGXL^^A#/3E&UW[6G^S'T`]L^??2W +M5XX]]K2WCOOWUF\//.&Q_WY]^+<+C_SZ[+?O/O'*+\_BP:OWGKOVWM\/N^WC +MGU_NX/8+'_B`1[O"Z0Z`T?.?]OPGN/\TG7A>;73'?DFI\'Q +M\>^#D<-?``>8/@*6SW*0.R$*9T:]`5Y.@C",H0SA1T$KT8^$^KLZ#?_R +MCX0*W!X#Q8?$$9I0C%%,HQK5.$4JZH<.&"0CNOS&Q"V>T8CG6N#]%#>[UW%/ +M=N7#G_4D]\(U&O*0$FRC&RTTASAFD6N0C*3,$$G)2K)/D8M\$,96AT=)>O*3 +M<[2D*$>9O$Q6D12-91E=A$ISX/J4YKL=.*K.R> +M.__X1S,^\I/YW*="H]C/9OT3E0/%6@$%"3@Q9M#_HN1$Z$(WFL:&,NNA=I/* +MMD:ZMXC6#)[R%"%&B<@]BH(RH1R-:00]:C>%681;WVS9HMJ1HUQ%\PEXNU?> +M.&:,:7J2>KL37PJ9:$!L#I\H#`=AU?BE1RW\4]AR]EA6KTLT_*K8 +MKA)':F#U`DBAD+#$FC6U%D"K'677PSW:]H,N1>@S=\O;WDXKLSC8K'"W^EG7 +MXB>P5+,76#GB5=0N]H)B_Q4F64M+6,:^M9S8?=A3+\O=S@$WN,,EKF>-2]JT +M)!>QU:5N:P>;6N@:EA6D':]Z_='8[-I78MOMKG[C]EWP5K6SRF598%=F'><* +M6,#V.'!ZN;!:3VT+)'-2W77O2^'=[??":Q.`+[KW`U/$&H,3A` +M.I:#.'W,9'8!.&*Y8H_"NA%/_K2F'9;I-^&Z%TIV@W/L[.H19WIA1HZ=)-> +MUJ?;\+P`N/K5L(ZUK&=-ZUK;^M:XSK6N=\WK73.ZU*+4<^8ZC:M5H\QJO4ZV +MLI?-[&8[^]:_!O8AA;TY8N?%IETJL8M,IR6>8EL,QJX'LI]-[G*;^]S+CK:T +MHTAM[Z9Z!P>(M[P1I$G`@I83?QVP?'^3)M56&M3C1K?`!TYPK&]7L"^EJ\;BW@8P@V(@!=*"UN+D17"^Z218K2[8O2S>,0%&SNR=\_SGO2ZYR1__N.F4OUL'*V>Y>%L[ +M\9K'5QD!MCESX[M<-/R;U1X/>L@#4(%9^_S57Z=UV&T]`5=W/=9E-WO:D[WV +MM8-]ZUR'N]EA+?2ALP_EF#UZ#I+>\W3__.;C3G>[LUOAE]0[#OC.X<&7 +M]MYPSJJ"H^;ZP^.T'6U+.=Q[::+_\[S,_^LR[_?=>1W[PYSYVT"]? +M[,.'OO.)#W;3.Q'U4E6]4?2E-^8&Y#:O11V$;X)BJ5L]\37U^\PE[/O)4X#N +M:3_[\WT?>'R<5X'.5WR5]W[_!X#_1X'T5X`&"#?M-E/:AV,Y +MAG[P%77=MU@6('KPYW8D6(,6J'P5F(,>B(,=J'_)%X0B&'P4"(+[-VI(F(35 +M)&H*F"Q7QRA@P7OM!0X>MX//UW_0=W\22'9"B($>.(":%X9:.'DT2("E=X+' +MDX(SU(2R8FS@!PQP*(6VUVH\*'D":(1:"(1>:(/^*7K>)FZ.&:^2(L-*`9D"'J#B+M`AMJA@WG6A(KO@J;MAO%^1XM1B, +MM6B":%ATI+2+K+)JC:$(P"B,SFB*Q&AZ>`=+R.A-5Y+EE2-JJ*,><6,W8B*Z>B-FGB+9B..HT2.$FB`+E@B +M*D87VPAT^9>.&MAV_!>(>'B*X(AIK*A&22=FGW@#"6!5OC!@L`=@%S=?2#)[ +MA95S\+"/Q!"0/V>)!&F!-UA_)AF,"]EH#6E(#]EG<1@$$XE7>K)O\]A7KF5Q +M,.=9&1>38`"+:""2/$>&"2F$EHB2>9B4"NF.7@./+KER$&G_9$"0`%1Y;2Z7 +M+Z&%7(17<8LG(\=%6/\8>Q[Y(&$9@;/HAS4H=S]8A`BIEL*XDE[FE(CTDE46 +MD0I`E3.Y=`'6)N9W7K)'P\G&I^B6D(Y<@((#K)7C[9D;@W&R`Y#XDI[5G;U@IE3&HD;]I>UH`E+F2FA^WFL!7@J\) +M@.NHF'9'F[`$:QLFE3W`FYGIFW\Y)D8R'_4(**51?N%WFLSSA.(6G01WE+[& +M?X;XGOM7ATN)<'+I2K-VG;IYG`R(_YX=IY[L^)_M6&KU24JTAC;R:)>BPI]G +M((L`VJ"JF6G4:9_W*44(ZFE/6).3IBWX2%_^Z:`>RFMP:6H#.DH3RC8'ZBS7 +M*";8$9CS-0W*^:$PZFLL.8WG5**2AIVJ=HU1)W@RUZ+L%Z-`&J!Q2:/:5*## +M5J'%IJ/HA9T4`8%%U:%!&J75!V412J`V>J0XBBS*&"-0QZ(965TS**5BJG5* +M^$R&4Z8D('8L<**/B7(B9'-):<2 +MAJ:$&BUY1J39=*4+AZ2WXH9OV*4F1HD%9C6%^DQ,638C*DI&:G19>BQ;^J@, +M9C4(,*JD6O^JIGJJJ)JJJKJJK-JJKKJJ=TIH>:JIBGH\)SH:K`66]*AM6,)M +MX^F33?IMA=FIHT@`KWJLR)JLRKJLHQJK:S:KM+JG<\6H&#E6G5\E].^F9 +MW1J:-)=@4@=SG_JFQSFP!CNR)'NL",M=Y#)D8?9*F]J('`:QNGHW4?)W>,-T +M8*FM&*M^'9N5^]9>PSF6X#JN)3NT1)NJ)RM3YP(V0\:RLJ:+U)K_:ER)JS%7 +MLWL)AYUY+$HLLHZ`5*KJC*MLU*JFB+ +M`'$KM^%8+F2SL)94JYY(K`NHE1)[M?U:G-^ZHS'YLZ')L:*IK^%J(V4I8!9;KR0&@RF&)T[Q +M;>/WN@G&LZFSDPMBF@&;%P/+N:RZN:K*NZ6JNW![MG+;ML/[MI);O,';N0S) +MKI34LI74I[U0K80@M4!K:>0*O!4PN9IKMK\;O-P[O,>+O)-+O+[;O>9+MXX& +MK97DO*($O=$KKH*0NE\;KR![#B(;N>GJ_[V]F[S\>[S9.[X`?+V5R[\#C+Z" +MIKZ'Y*Z\Y+XK$HK,)+3&J[US6[YIB[R2"[SG"\"_:[;_*[X>?+2PQ+R&I,#* +M1+J/J*!AF[DFJ[]&R\+%B[_"2[PM?+X7?+9#:HS(Q+[)Q,#7X<#'IL(FN[US +M6\%$C,&PFL$U++<<_+T@7$D(/,)-RTL)@)]@FZ/]>+O:",1%N\4&V\1J9"XU +M&L7(-,4V9L*O6&F1^)/WR\5L7+!>/$,:!L8Y3,+(-*ID#).02FE77"U@JZ'< +MXKAM',@'&U=/K$8-^TJM>L=UR;?"XL.DTZ-;RZ&"/,F6B[0BO$:B>TC+2I6Y +M6<5:BL8.Z&V&*__)E%S*R?K&#I2R*]M+F1Q%R#HVO-G)H_G)_;A]G.FDUC6T +MEVO*YXK*[:.P>$NB=)Q&KXPVVJG(7W.KI#$JNGI3O(H@]^@EWL:M\+NBN6I3 +MHRP?0SRRX!4[@/8KNL0-S-,2R^Y0O#X$O`)KU+O_O=N< +MTEK,TBR=T@9-2I<,18?\0#7MLD:&T]X95!A+M?SZE3'WF3M[N!Q)O9Y\2BW& +MU*[:P6?;S]CKPI&[S6[=JKZ,@E?]1*UZ2^L,R+O7S-4,V5G6RRZ]P1,\VY9MP;8]ME]LM[N4U<3SUPMLQK,]V7 +M$=]W'.$)NQGWTXY]ZCT&"SUS(TTYX#W.?$PXRL +M*%A,FFMMS6T]W=2-UP)-Q$H,N4)"4#,*;U>`.WM=GT]_[ +M->%X\:?%BN$FKN!WAZAY^^!G4YD@#F4BCF2UC'47?N)MC+#Y+4&^;3;R]N*$ +M%N/[.>,_;.,G'J)@S-V8S.)JX^.9!N0M6+T`5^-$OL71AN1-R=O1VM?(>@#N +MZ.0(0>(;=^!3GN$9=M]7KN)0K.1C4\SQAI=;B@5#L%C[LV,)ER=';H[ +M/@#]W>94^>:J&.?C`.9J7,[-E#8;CN5Z?J5,#C:Q#.?"G8QSSHR>B^8\#I7L +MD]6-;C:/'NB1KLT`?O_+1>U](^VKJ?.K>4S<@:U)@29D:I/G;%.9H)-K$?XY +MQPSIJSX/%-W.Z/%Z@QO/W*IQ:/'KH?ZOFZ1?P2PV1QXWLIXYM.ZJEYJ`GRZG +M3>JS=]*M-XFOJQVS_&IXQO3X$K8$BO4IY7/_DKH@*K15%/N*@OKG:/N9AMT:&&VUW>F=\G[:_3[IYQGLM09VXT-WSX"Y,Q*W/1759'-X^R.PU*E^J:V/_ +M\"[/J3`?T5TYTL8MU+)78%1/G!R?\1_-UM8Z[X)IZ"[@.B&0="6`E[J&N6"? +M]FJ_`:/=;65%8-U)ZJVK\Y*JU!R]NL_M[\"^[4,OHNCN-DR?\KBV\DT_WM,N +MV+.\];H@O2#=]5RK]4F!3$@NQX%/-I6/](.O](7OWX>OZ]HGX(3Y[:Q^6#%A +M]_3%2S56]%YS^6)C\BC_-;Q&JD>_^9R?ZXGF\6&^2R,_F:P?-JX?^PC@-2U/ +M^S$EZ+R@][^(IW]_Z0VW-L`?_,0?9,:?"\@?JL%6+E9>-NJ>;*,:_3_^<&L? +M_BF`^VK,V>;2^V#C^ES^_)CI_8ZV3&Y4X,@@0WR6_RY?T_O*IOF.WO[N__VF +M!-L0H.2DU5Z&350ZI5:M5VQ6&R40MM]KQXEDE0O#PTV]SK5U8WAVCQ\@PTG*2LM+S`^H0K%*XTS+5FH%69%>BR!Y;YV?H:"7!%C!DM%5S8T>,&A1T;!H&18)P(B6Y, +M:F39TN4SCA]ESN3@A>9(?2],'DCY"-*/ET&%#L43D^91A"$7XC2Q3^*.?T2E +M3J5:Q"A2K/"4KB:U:VUK8*\>N7`,(-8$@>B +MKN7;UR^)MF\%ZXK[9^Y7N_64[/W;V'':P(,E>RH,*#&ARQ;P^F/VV/-GJ9$G +MCS9,]]/ARZ9K=F7=VO5KV+%ESZ9=V_9MW+EU[^;=V_=OX,&%#^\JFO1Q4JH[ +MH<;-YH>?*W;U<]GS` +M-I__7T_]KOARS]\GS%_Z>P#ERR]``@LT\$`$$PQC0`4;=/!!"",\JC()*[3P +M0@PS'(1"#3OT\$,0->0P1!)+-/'$XT9$<4466W3Q'15?E'%&&FO\(D8;<]1Q +MQQQQY/%'((,$TNBU,^D%I54S_8F;;-2+RX-U-)/0=53 +MTRGH\@55;KX253Y72QVU)EDQI0?00%G-!BQ57[V2UU@%_\TBR5YKW8+88#D= +MU*9&A:U3E&:5W0/+:'75;+YJ;94)UV5-/95,:],$%U)G0TDL6V_1'9592+D\ +M]MQVN4W-N5#=O1+>2>W5%L9PMT6L47V!^3?>?JD,E>!-2=36S\P4DY>-[W[K>5:>=GN[*[_(<>Z@M%Y=Z7X7/]*UH98X=\LT7 +MM_[[N,^_]W+SLW].\^[77YUXA<,?F=;6Q9\L^+HIK'YHFAWQ:J<_4MRO4B9S +MW_OFMSK[#0UU$?P9Q/#GO]-113S<;V%A;[,.2$=Q$/ +MME:80O9Q#X."`2"<9-@>7KT09@ASDZ5TV,**L6UVS7L4UD(XLA+*;X9+T2#7 +MFLB_)T[_T$E*Y(*T!D?`:P5OB"`K7A:CN,3A#>:*_\E2#>OQPU9E!VPV)`\8 +M"V3&3KE18@.\VGHDQSDZRI%T7]2C2"J(GS^J"8YFXV,?-U1(0Q[DB)+ZXB*G +MA,A$ZBZ2DZ1D'P=924QFDD27U&0G/6DA3GY2E*-$4"A)>4I4;L>4J61E*]VR +M2E?&4I8B@60EH46GGLVC/ARJY2Q/!,M,WK).K,NB"KG12U^6")B8S"$4P=>: +M]LW%A;K,(36=V;YH3A.9R<30,FT9.-_12ICB/&`YKU5!A8`3G>;\XSBY*3YO +M4A*-*/[C"A'\ZE.C+83H11%G$4C.LZ?!E6H_!IJ48V*'YX>5:FSO.E2G1K+ICY5 +MJJB,ZE2M^LFJ7E6KS$SJ5KUZTJY^5:QRS.I8S3I#XJ15K6ME:UO=^E:XQE6N +-UZ5[SR)@(`.P`` +` +end --- acidlab-0.9.6b20.orig/html-doc/db_setup1.gif.uu +++ acidlab-0.9.6b20/html-doc/db_setup1.gif.uu @@ -0,0 +1,374 @@ +begin 644 db_setup1.gif +M1TE&.#EAMP)[`><``````/___\W.S8.!YH.%YGM]>P``Q0`$Q0`$S0`(S0`, +MS4%`]H/B]D%Q>P"V[@"Z[@"^[@#"[@#&[@!A?(WSY]"C2X>>I[KU +MZ]BS7]?#O;OW[]SW_JP<3[Z\^?,G!0@,(*"]^_?PW1<88*"^_?OU#^A'P+^_ +M_P0`!B@@@`H4:."!!FZ@X((,*LC!@Q!&"&$'%%9H(84>9*CAAAI^X.&'('IX +MPH@DED@B"BBFJ"***:2@PHLPQJC""C36:".-+.2HXXXZSN#CCT#Z2,.01!9) +M9`U()JDDDC8TZ>233MX@Y9142NG#E5AFB>4/7';I)9=`!"'FF&2**<29:*9Y +MYA!LMNEFFTG$*>><<2IAYYUXWKG$GGSVN2<3@`8J:*!-%&KHH856H>BBC"YJ +MQ:.01FK%%5A4:NFEEF:AZ::<:JK%IZ"&"NH6I)9J*JEBI*KJJJJ.X>JK_K"Z +M2L:LM-9*:QFXYJHKKF;TZNNOOK(A[+#$MM&&&\@FJVRR;S3K[+/-PB'MM-1. +M&\>UV&9[+1_<=NMMMWV$*^ZXX?IA[KGHGOO'NNRVNRX@\,(;"'OQU6OOO?CF +M6\!Z[>V[D'STX2>P?@?X9S`"`R:<`((,%]C@PQM(*/&#%U;<`8<89QCBQA^8 +MZ/&(*X:,0HLREGSCR2OPJ'*.0;8\@Y$P#[GDS#5`:7.35>9\@Y8\7_GESS^$ +M6>;0:A8MQ)M(LTGGTDGDZ;2=?D:]Q*!4`XKHU4TTJK6BDG9-*:9@8]'IV%F( +M:O:GIZ:]!:MLIQKKVV/8*O>LN]9=!K!X]TKL_MYL&+OLW\A"*_@;U18NK;:( +MQ_'MXMR2ZW@?Z49NKKN4_Q&OO.P5H/GFG'?>;^>@;_YYZ*#WRV][Z-$[G\`# +M[W=P?PH/V###$##%KP=/Y2",!8AQ^"O0YVL0O0[!!4.P;=3D*YL]#N.-0[$/W. +M1,%3T?"(]R+CV0AY_CQ2'I"89R3G*0EZ4)(>E:BG)>MY"7O9,]/VT-2]-WUO +M3N'+T_CZ5+Y!G>]0Z6O4^B+5/O=5"GZ,%\65"#CFQD(_65N=-EL(,6 +M#%A]3F(?3IK0/R=!80H7ML($M=!!$SO)A"B4$E8&X&(JR5B(5"*B$ZP$ARA2 +MB0Y=!*.3R,B'-0+BCH3X(R(6R8A)0N*3E#@E)F;)B5V"8A2G2,4JPNF*=B8*SO^"H_"_M+C +M'@/7QVC]T5J!W-8@P57(V#$")[BDVPAI6;9"TK.-&:5G*:TWUN?2MMG&)7>SD&KM(2%)2LNHYR&8G*1#W='C# +M(+QHOS2Y4=*:^,0%^ZB*`P"@DR3`Q2^.[4E@*]L9SW:V&\"Q*B6T8U7R]D*^ +ME>EO8PIY) +MH#QE%4B9RMBU[I6WRUVE;ID&X/6R#<8;9A^8E\Q$T^IZAY!F]RJ!S?%EPIOI +M6P4YWS=L^;VS%OBK9S'\M\]D$#"@S5#@00^PT`PNK.(>G%C(,9K"C\9PI#$, +M@/@4G-(0'0A\)!GB?XTXM*0M\8E3^U&$H>34`H(M2FH,6U?7=D$G5ZS:WKR3YK4V>ZR%O +MR,@L][62EPM=YT)WA\8N-G6KC-UE;W?GWW6JM']>7JMBNTQF+KI7O8UT-YN5 +MW$QO>KKO''7_VA7>52>P7[%.:*WGV\'\7O1B&UUA@9.=X&9'N(<+GG9*-UR$ +M#^_TVT\2ZE&7&M4NAO&J:;SQO<.:[SN&4/8Y_D#R[@>>\+K6->)OFF3%\Q2H +MC1]V"HX]7]SJ58[Z$(/_7J-OF:QAEOI<:96YP8VJ[=?C5O5X=@_-1/6X=[A^5U_Y90O<=A&B9\ZA%\$G5I'LAPG84Z;4=B&O5I +MIH42H$1JJT5W+*9Q-;9JMA5KV\=]?T>#%=)*O/5;*+$APZ5R*%%+M\1X,X=^ +M--=+DO=^-U=Y6"9,F&=,/2=>]@=TGB=T0:!_:#9Z1^=_27=Z2R>`32`"69[@\5UN5=07\=[`8>!!G%VDY6!$G59[Y%9(!:"(900 +M&$5"^=%1KQ-2I,0P_GBG`"5E4B^44C%T,3/4(3542S?$9#DT,D+%0S:B;#]T +M>?*7>5U6?V`FA6-&A59H3?RG3:7G30`H3JE'9P6H3JWG3@DH3[%G3PWH@/C6 +MAA(X4!2X>V&'.;YG+QTX<)7V>_["=N>1?()86H1X,(8X.XFXB(VX2H\8B9(X +MB97(4Y<(><2SB4JH75GVB4Y(?U`XBIU7BOFG;?N'A?T'7ULX7UUH7U\8BVHT +MBVY4BW)TBW:4BPBVB__DAA.H>P$ +M,"$EC:RFB"55C8X80]B8'N(]H:%%(?!2$&98T&D +MPSE/&952:4%0294@J(SFP8R"^$DG%(TCI9&GQ)&[]8B0B(V32(F52)(E:9(S +M8E0J*40L:8XN&87IZ$2?EU7JU8[ME87P:'KR&(#TJ'IA:(!Y1H9\9H9_AH:" +M1GOWQH8!V8N#](L%V905=$F?E3KI@9D=E(R.%!]NUY7/:#!@.5+4R)%F>9:1 +MF)8=(Y)LZ8TF`Y>>N)+S%XKGJ$3W-X7KN)=7V)?ON$7_QX6".48#B"D]>38_ +MV39!.3=#F3=%67M'R8M).9!P6(&)U'N?F9W:_AE1EH25G;,`#!">XCF>Y%F> +MX]D`Z)F>ZKF>[*F>(/">\!F?\CF?\1D"]GF?^)F?^HF?(M"?_OF?`!J@_]D" +M!%J@!FJ@+I"@"KJ@+O`"#OJ@$!JA$@JA.%"A%GJA&)JA%YH#'-JA'OJA(.JA +M.C"B)%JB)GJB)4H$*KJB+-JB+LJB11"C,CJC-%JC,^H$.)JC.KJC/*JC3_"C +M0!JD0CJD00H%1GJD2)JD2HJD7-"D3OJD7-`%4CJE5$JE7G"E6)JE6KJE6?H% +M7OJE8!JF8@JF9U"F9GJF:)JF9XH&;-JF;OJF<.JFKJG +M?-JG?LJG=!"H@CJH_H1:J(,J"(B:J(JZJ(RJJ('PJ)`:J9(*J5?IG99ZJ:$C +M'Y94$IS:J9[ZJ:`:JJ(ZJJ1:JJ9ZJJB:JAFAJ2&H'@[PJK`:J[(ZJ[1:J[9Z +MJ[B:J[JZJ[S:J[[ZJ\`:K,(ZK,1:K,9ZK,B:K,JZK,S:K,[ZK-`:K;YZ<&OG +M80[P`-B:K=JZK=S:K=[ZK>`:KN(ZKN1:KN9ZKNB:KNJZKNS:KN[ZKO`:K_(Z +MK_1:K_9ZK_B:K_I:KA!`K9XY6=>ZKP([L`1;L`9[L`B;L`J[L`S;L`[[L.K: +MKZS:4``0L!![L1B;L1J[L1S;L1[[L2`+L1+[D!1KL2%[LBB;LBJ[LBS;_K(N +M^[+9.K+5"K`P6[,V>[,XF[,ZN[,L*[/_ZJH\&[1".[1$6[1&>[3;ZK.;:K+; +M:A#8"@!/^ZY.V[11^P!0>ZY7FZU7F[7W2A#RZK4%R[7B*K9(6[9F>[8:*[9D +MJ[7FJK2M6K'?NK9LZZYR.[=V6ZYJ*[!<6[=8JZU\R[!_B[:".[B$BZ]YZZV! +MJZUN6[)QVZU;J[4"D:YR&[F/.Q#HFK68"[F/6[56V[>(&[F7&[>@V[F;2[J< +MF[FDB[I6.[JKN[6@:[E1F[B%.[NT6[M^2[5/.[J5R[>+:ZV-RZV;J[IXZ[BY +M6[6RB[N=:[QLJ[K'R[G(V[S.>[O&"[646[S5_IN\R?NZRKN]V7NZQ6N[X!N^ +MXHN]W!N\I`]T.HJT!(]T11=T1:]J\=,QQ&PT1LM`0\``0\-T>CJ`#M0TB9]TBB=_M(J +MO=(LW=(N_=(P'=,R/=,T7=,V?=,XG=,ZO=,\O0/C"@$93=`T&P$3,`$!X-`B +M#:\DW=-,W=1._=10'=52/=54;=,"\--!/W<(4D-F:O=F;VNI&T!%(`2IYW:JOT` +M86T!7'VR9%U1MUW>YGW>Z)W>AYW;F.RM$5`!%U`'\8T'#X`'1KT2R_T`'%VX +M=M#?_DT!_EW9`0[=6NVJU+W<(*VNI%T!#%X!V+VM^=VTALR_4INN1ST"WVW9 +M%V#%=#O`Y3K>Z['8Y)T2(XX>`V'B(7X2)SX>)9XZ+:[B+V[8,6[6,UX>,9[B +M-EY1.*[>*['C:5W7N/K1O%T!=U`!OGT!%$#_@%PXSW>UB]>XS9^'B-.WH7^YW`MZ#RNZ#3NXBHNUXR^ +MUI&^C%=MJ\TLY-L:V42NWQ-@![\]'ES]Y#6LQA3NX7=;MZA>ZKR]T78PW?H= +M`78@`0$0V=S]T=%ML=1-YMIZ`;RNW=@:`+R.K0WNX*:MZN[+NI:LO.>;[(H, +MN>"ZX1@>UEP]`GB>YWA\[83\Q_F;N:R[K7SNYRHQZ8,>[FBMZ(?>YR@1Z'$M +M[N;-[H3NZ.B^[C+NUHW]JDG[V+N=K1-@`7?P`$;NZ4M>U*'>Y*HNP,C^NM<; +MQE=^[,R+\(_L['6[T>`MZT`>!-X"1KK0?NU67.Z[U^YB"OYFSN_L%D +M3.KY&\9G7+E1SJT!,`(!\-T3`//%'N>D'L,I/.4JC*W?WN>%#ML^?^(Z[N,L +MCN@P7N(KGN[O_NCQWO1,'_1(G^))?_2"/O56C^-)/_5!_^A:W_1`?_3ION-? +MS^(K/O9D'_4_+_2&KN-;3QY#?^@A_O::6>],>^F8?MH20.2^;>2@WN0$7^H% +MG//1:\![>\07?/AU._&Q?M05S]43+]9@OO%#+=K<"O*6?_D+CMT3L.%X2\&+ +MK/,CW,7?:^K8NMIV3N?47NT+?\0U+/A2[.V"/?1/K^XDKO2V3^ZX[_6S7_NY +M#_:[S_NX?^Y/K_MN;_OG?ORW[_3';^B];_S)_H_TR9_[S#_\TO_[3D_\PF_T +M:\_TV5\>N6WO<[S;^8ZMOVT!>!#<%F#4$K#^Z^_WH;[#/LR\4>S'P.OY+1_Z +M6-RM$@#6$2#K8LW:`!&@@H4(%1X>1`E@H\H'+%L>=,G2X4J8-6$ZE%EQYDJ7)T.."&#!`@4+ +M$QZ,H("2YLF8-IGBM)DSJDZE#QSLV!'@X<,`6KMZ_=J5Z]>Q8\.&-2L6+4ZN +M;,VF/0L6;%FT9]FJC2M7;MN[8AV2[:OU+^"T;\GBU5L8)V*[=1DWQDLWK]^R +M@0L?WCLY\V;)FKLN_JSH0.,#"!`PHJQ3!\^=!Q8J3,@;(8#L"%53OE39U"E; +MISI[4MW-^^7-G3*%ZU9:0<)`"0(-7@RP7((%C`H9_HTX\>+!VJ1'^P0),FA) +M\A&ZVP8^5?WPW,"EZF[Z>SC'HQ8)CB@Z8H($";;EP[]-/:G82^^DJ[+:"C.] +M'NML,K@,@RPNN")L2\'$,)OPPL<>L-`@AZP1HZ*'L*"K2.]O"^^B!"RB(`$WSC$0R23>?3')`.054_DJ" +MD(8:`;^D*)A@O_Z83&_.^>`$L+>-#O2JLQC5:I#%"%V$5,86-UMP41`I=91$ +M35>\U-)&/?VP40\Y?1%#!>D"ED&OOS9G2'339JOBT:(2C`N"S3_Z4\.&$(:XL00<_T0#G8OC(O]##Y)KUTTU/B.O6I$P+;2[$?"-/LL_MD6^T`)@#W +M=-UWKY6"CBBXEW?A#?0;\LHC1SYYY9=GOGGGF3^^XA(5OYPTE&8]Z=:??QY: +MMMF&!S]\(U57G=KK7)=HM&UE-S+M/M_7&GCS]A._?K@E`/Y/^W<_<&;$*7Y> +M``4X0`(B+W6&.^#R_@#8L,HMT#/54PKV3L(LSH6%-OO#8/C(ESKS<2ELZ2,; +M0K[SJPO8ZGW-TE\&5;A"\2&J@"^$80QE.$,:UO`L$+S>K][7)U^QT(=\VR#7 +M.FBM+\'N).S[81*5F$07VM")3X1B%*4X0QP><8E7Q"*.MD3$UQUD?2/,8AC% +M:+H#1<2,9T1C&M6X1C:VT8UOA&,YR=,)TH/HR];U$,E) +M4@+2`:5!92I5N4I6MM*5KX1E+&4Y2UK6TI:WQ&4N=;E+7O;2E[4L93!)_N=) +M+J8O@J,49C*5N4QF-M.9SX2F&(GYP8FT\I2_Q&8VM;E-;G;3F]\$9SC%.4YR +MEM.M;3GO?$9S[UN4]^]M.?_P1H0`4Z4((6 +MU*`'16A"%;I0AC;4H0_M)SM!B4@D1M.B%\5H1C6Z48XF42D8M6K7P5K6(BIZYNG5)613.Z>KJ_I^[-BVC<6U37TV7U\$:BG=Y +MW6LI4ZDY\&EU;(;D:=QZDEC#DHZRNKNL8->:V0+Y<%AX#2P0V3I9OOXUM'3% +M[&DMJ\&E<-:C5A%-CBJZ.\<:$4==]6MP)CLU8HD67[Q=FK"`:YR`2=9IP.77 +MOI;FVMU]-KFXZ"SWO0 +M2]Y"%2I.!"Z=$BPM7@#782<+]L&=;J^`F6?;"QXH*H3H+ +MQ&'!B3V]E:8$,W)*_MCB%W-Z<,11E>`WEOA<:G8R94E,L!8&%<'PQC*!H82LK1L83"'.)'7/*OLS#;C +M'6>5K#GE*EJ/6QS4-3>W*(8:G:D,X$$=I\)^QG(&)2Q@!8LWM=[E+7=7/&4. +MU\0XBG;7DP']8D-C,$I=#C1\T_J?+`_9SDTVLR)I+"8UVT@CL\WDF[MHD?^J +MM;4^!N^A^SJG]HIYS'QV4Z>SO.2[>CC7LOXUJ#?,Z/'%>MB]#K.P>9UL!T?X +MU046-JV!C6(,`Q)[:S8U3TL]MQQ#MLV_8K"NGSRW2\,ZRB'N+J[Q+.YT_F\9 +MV4A6LK/%76UZ5_G'H':QL?+]PW*C>]JV)G&TQTWN9U=;SW]D'[:YM6;9XC:" +MJC9F[!S^%.FZ][I%EC-UBU6LJ/UXP7,.E'S3=>!EA]S7WCULQ44.W7T1&[4@ +MS_!WS=5>F8N8V>Z!,+EJCG+?&-SEHT5NG^.3\YNBTBJR0LB-3*UT;D-\JU\4 +M:]2E#NZI3_>*1+??.VL$JUB)J>O\=?ICN1/9JI>][%@7*]KABU%4PZVV$C=[ +MW*>N]J_2W;=LG[AM^LMJLLO=[W\'?.`--,RPZ[CM@D=\XA6O^+?'>?&/AWSD +MX[[WVTK>\I?'?%4IW^K,=][SGY>I8ZVI3M*7_M[TIT=]ZE6_>M:WWO6O?V78 +M$0IZVM?>]IL,.VUOOWO>]]ZSK2NKMS>R'>+[E^_;T:3OE;]\YK,5^$7DSNBZ +M,_VQVY96S<=^]K5/U^>OFCPG*?[QC7_][9??_,W//7=V^FX7)__\[X>_Y],/ +MNVWA./[WQW_FPZ[-_/??_XIWNBD2P`$DP`(TP`-$P`14P`5D0,4)P`:$P`B4 +MP`FDP`JTP`O$0`?L/HG(P`[TP`\$P1`4P1$$S-NL1-.\RMS\S*GLR]9$S=?TS=E$SN2L$R^X\ +MS>$\3;@$S_JT3\-DSHI4S-W$S=",SO_DS]ZL3M24S\G<3N)\S='$SOMDT`85 +MP]IL3/4\3P`-4`D5R.SL3-6\2]ADS9Y,4`?%S)MLPZ8D0P!00Q$5T2N,2'K< +M0A*E1`CE2PMES!C5S@V-1_\$4:-,2S9T43$T430LR[-4T9"4QQ7%PAX-1!AU +M3`#-T)5L2WC$T1Q]_DDD34,J_<(?/<,@;=&-!%(C)40EE=(P/4H215'"M,F' +M-%,N+4,L-4,M+5+!-%.;I$(U5=,SG]G-9?W,]K=5=_W--QK4DR35-*]=%OA=4X/=9R_J55 +M+MW1>%U66RW7.Y57/EU796S7=U78A>U'7&78AX78=W38B*78BL7&B;78C-58 +M8\38C?78C\7%C@79D2595139DD79E"W-@Z7&3E79EX5923S9F*79FOU#&'W" +MG-79G>59'XS"G@7:H!7:H?W`GR7:HT7:I%5:*3+:I77:IX7:J,U/Q,Q'J;7: +MJ\7:K)403M7:KO7:KQW:I@7;L27;LN5!L37;M%7;M3U!M&7;MX7;N(U`MY7; +MNK7;NX4BNL7;O>7;OG4>O?7;P!7% +MW=B5W=FEW=JUW=L-(H3!W=WE7?]A6?)4F=X5WM;5W>$UWN-%WN15WN5EWN:M +MW>)UWNC=H.8!7>F-7NBUWNS5WNWEWN[U7N'%WN]M7NIE7`8J78@@W]@=8`$.X-UEW_U5 +MX/PUX-HM8*YYX`=>X`F^7HRA7?G%X`/>(`EFWOX=S\3T#`!NX-GEX/6U8`I& +M80(^X!+>719.X1=>W@1^W0C68/)Q8>3U8&JE'-/-8`"`7P/.8/T%XA5&7R!F +MBR+^X=2581AFXM'M_F$?%F(HIE\D+F(IQHD?3N(HEF(BUN(F]F+57>+6+>`L +M%F(L)N(A[MT<9M<0YN$S[N$W/N,CCF,YOF(WGF/3#>,OUF,ZAN(^[F,X;N`G +M]F,_%N0Z-N0_ON,]5N3/SM>-`AE\:+N,:'F%" +M#N!"+MT\7N0OAF,JYN-#=HLICF,:/F3U%>52EN692=]$-F,^CF5*AI[RA1E, +MUN1?3N41CF56!N8;YM]&GF5%EF0(MF5/_N0G=F5A#N5$3N99)F77C>16KN%L +M3N-=]E_"$6%$[F1@?N5,?F9S-N8$.IEJ+F5)AF5TGN;48>5'CN=S+F9G_F;G +M1;[FU(7F>.YG1+YG$U8@7MYG-)YD@^;D>1[B(-9F,$;F?&YB,IYG#49E.49? +M">YD*OYGB+;FAX;=*K;BA:YCBM9H?*;=2F[9X&7==!;?@N;HER9=EH;IF>8: +MEYYIE`;>C1%CD]Y?FZ;IGUYEG@;JH:9EHA9=G`9AE09JGS;JIG9JIV9JCD;J +MJO7F=8^[=IN'M@SO0#:[)%9[[MB&[=>F;N>V[O`> +M[^Q6;^16;MW^;N@6[75F&0="&(PAF,'N"[R.;KZ>G,&!PL16P>*6'@2B;^K- +M;]]M00&_[ONV[[V>HNTFI$N2<#SZBNZ>:@470DZ1'`7_7Q6YPP'"\.GI[P$' +M9\EQP!=D%1(/<1N*GLOX;TWI%/^>(0B?\!JWHZSH"@OWY@^FZB<<$1GA\!(? +M\1?7;0/R9A0B1@$/QG25FG&F.\QKY`S3QF7^9@R9_`AG^_23A3\;J`4SY"B +MWN_\KHL[S_/09A0]OV14&>XF3Q1%%Q4GLG(LQ_$`T/&!YG*=E7+#9NT?A_+& +MF',J/PQ-/QQ09_-589!`1Y78;IPY%_4TKVX-L900QI`"KQ0DO_1/1_1/=XQ7 +M5_167_5:%_%(D:)'K\$LE_0MY_$5/UN0\?6YZ/!>CO-1EV_:_G5H!VW67AAE +M#W0DGW5;1W-.S_84E_%(:?12'YR)^79&.7<8;Q4HEW('=_9G%YQQKR%A_J=! +M8I]TY9%K&EQVC6'SOW%Q=!>1`_W&*+W&;1W8]=A2S_W9X?W*5]TSFZ0ED_X47EY +M:(]X@*?YE9?N%MEWCF_X7,\4E9_Y7^_X@K]XWBYS07?X20'ZG0^< +MXAYM5NGU?]<+K??N2E_OR668KDU\@A<9D2'N_@E!>3Y7%<@G=1(/`-/?\9)'_=SO0=;O>2"?_T>1?69WD8BQ +M?4H_=MU7?A[D?0K1[Q7!^YH>\-`'[KS.E./'=ZXW0EF?HL-??J1M?B:?E-!' +M^&VG?LT7_=*/]'O'V264=X:?=N;T^.\?VL2W=D41=V#O]^J&_@TG_<0`"``! +M!N[8,3"`@X,*%S)LV!"`@(@%``B,*$"@PXP:-W+LZ/$CR(P80SH<2?*CR8="DSX$]?5(46G1A2HQ#1RH=JI+G3Z(' +M"QY,:!.BQ*(64][L_NK58U*H`H,&<%J6K%&>0<<>/=M6*%*F9(%^K6OW+MZ\ +M>O?6S#EP)]_`#*D.M%H3JX")%2-R%>QXI=FR8IE*_@GW:66X;;G210KU\^7' +MHD>3+FT:K]\`@$_C)8SP)F+%JAFSKBW2LV6ZC1MGUOUY*6C+PH=GMFW\./+D +M@E.O5E[3M6&:L;72=EX[;&ZQF'$7'ZN=..?@O7E;+V_^//J%S`6DCPD=MD79 +M6]N/QGZV._[>H'UG3TL\M'YN%41@GQQ5I1WPD4F +MH%%KK?4;A1D>!5R&VT4X(HDEXJ23``6IN"*++;KX(HPQRC@CC2U6!5]6_HM! +M:"*/>'76(Y!!"CD022222)Y8X,YSK;CD%'*=*&455J97FI7:A3=3-/I +M2)Z688HY)IGG95DFDX>JY)Y_J.?`GH($* +M.BBAA1IZ***)*KHHCG:RV2>DD4HZ*:4=>?DDGI5JNBFGG49YZ7R>BCHJJ:46 +M"&IUIJJZ*JNM.H8JE*[*.BNMM4*V)J:VZKHKK[O"FFFOP0H[;)^_$GLLLLGF +M::RRS3K[K)3,0CLMM=42**VUV6J[+6O8^>=D+;+\#"MQE_GG`WANP=&;A6Z;!CQ7R\,,' +M05S(0!1+',#$$2\;;ZKY-I4P6`8C+!UXMXG84GCY`OC?P/.B-"YDW(7T8\P< +M41;@R03GS%##*HMGG,48"WUQT$(7O2>Y#_4\L\A-WW7SRC\?QK//4:<,&\PG +MV3>SSBY?!C7572U]EM5*( +M8Q[5R`IC2.5;'49%^N=*;U;XY7NMG;;1%;/-9]*N?WSWZGK?3>'N]ZY^G^_% +M?VR\?]OI=C-O8+/%_C+-HN,GUWCY;?XZ]9V%/KW4*T7;/'GI +M,C<_F?EA:V;];^(G1=GW@B#(_P?%.:<,#7EJ6LK@% +M^LYK`*K0UTI2,NU9;F<`A*#G.`26"7*.;JQK8-4>N#D1*M!2W&N?]/83&O)L +M;7W]B:#R,@B]#[)0?1%9?(0C"U<(19W"`4*W,UT*W0B_6;'O,DF)WHG=%] +M)*Q-#O6'O]LAS6T`0^(1$RA$!!)1BWCD(R"?E\<^JG"-KQ/A&U^8.C>Z_A&" +MJB/>%'$F0TB:;WM5;)E^VDB_[T0MD9>TY'!JZ$113K)E@#LD_+Q#LRZJL908 +M'-M-XE@['?;0CB-X$.;C=!:R$#021PGA)N2NRKI.P"R;AT"?&OCEPF9%[ +M)A>=0D%H(K)O:'%=,3T&R@5J0MPU=\G`>>&RF\8@:UL!>T:1D-J((W6BJ,FC*1(4SHIDMYS0\/,IN+: +MV5'=90ZFV'SE-SV7.J"\5*4^-0U+"=I$5U*Q_I<=;";O<(J91Q)5DEALXT^C +MZB-;;FJ1F1.@-+NGO9-.<&%_0Z/IE@K,CTJUK"X):DN3AT&K:35^Y_LJP'K' +MR;8:DY!FO>N^J%JI4WH3BD9%(1/#N$55RA6PH9PK6?&JV'GI=:^2BTLY0S38 +MF1ZLFA5]BE38&;<`=FZQGJV3?#H6T&A]MK3T0>N<$NLUM+TM;O5BV]SRMK>@O9-O@ROY/GHO=[4*WN-S];FF]"][QXE6\Y#UO5,V+WO6*5+WL?>]#W0O?^1I4 +MOO2]K[OLB]_]FDN__OS][[?\"^`!6\N'7LUO[`C,70-/Z#`MEEB>(E3>O#3@H<<$7=XQ-@M<84A.S^T"-"F +MBKOB3@OWO^')=*=`I+$'KUGC&V;8Q>>%,8^'*+<#+HYO1OQPC/?FL1@7V+I*3E^1^\5&/CLNQS7A*91.7;C=J)O.;XWQF''^9O&'N +M(YH5J,LC^E+-:8YR--;E.AOWSEV6<^\@S68(CQE/2K34 +MGI-<:2[O&UPD[N.U)5PN=,=J7&KN]UH8K>[XQTF>,N[WM':MKWS +MK2EZZ[O?)>*WOP-^((`+O.#M(;C!$UXP?"N\X6/*W2`B+O&)4[SB%K\XQC.N +M\8USO.,>_SC(0R[RD9.\Y"8_.>?/SSH$>]Q%5_\=)'O/2CMWWM<<]UUQ<^ +M\(>7ET(V#_F(?[[XC'=\ZXF?^>-?W/6\)S[O)T_YZ8O<]+)_N?4)]O//NQUS[&S<]]]*N^^RTGO^<]#O_>V_WWL3T[\Y5/?N,KO^/\ +M%W[_`6#XC=_P'=_\%:#X51_[H5_,F=_I,>#6'6`":ISSC9P#I?_I4@Y'U?]+5@!8;?_,T@#'[@]SD@[0W" +M[3%@#NJ>Q>$@[.G>![.G@!C8?ZT&?]&U>$L*@YF%>$E9>YC7A`4HA%$J? +M%%8<$/)@#T*@$6I@[G'@\D5A#2IA]#TA%49A$U(@"/K>2T#<"D+A\@U@"@[? +M_RG>XKE@&6(A"@[@!"*A":[@Q`GA!MJ>%^Y@&/[@$7*@^BUB!B:B^S&A(#I> +MY[T@`C[AQAE?%L8?XU4B`G[B(/I@^Q7B(79A$7[A%,I@(/JA"JYB_WG@![8A +MWHD@;XS?X]7A)!8(A_BKB +M7B,F(BJ*X3-Z82>J(1O*8.59(O6](OC%H1,N82A*(S*.HSD>8REV8P'&H#!> +M8>,]'RR"HBS6WQO:'#CB8C"*'R8:(S'>(SB:H3@.(PL68PO.GO8!834F9#.: +M(R)^831.XR,:80X*8/'MGR?R'S?JXCI^HQ_*8?DY(A5IHT=J(2F2I%`ZY"(Z8T,> +MY0(6840J8R_F(2_:X>518COR(S`*8U-6Y1TR9$A*(R0>9#I"I#4:(!^FY"_^ +MY$9:Y5.ZI-O!Y-S-I!-2(NM%GCH6Y#7"I2U6_B(9IN$:LN1*ZE]`\F7[+>,1 +M9A\S%F4H*B7M+>0.)J80UI[E>>0F\F)<6N5>WJ5./J8-FF'ZD2)C`B5A%F;L +MC>1*GN%8KJ->5B0-JF7>L67B>1]'.EU6=MU"_EP\JB;)U29-VJ9N9AQK+L1N +MJEQD>MU$"AUN_J;\E5QE&J=Q]F;P*:=S/B=T1N<\,N=!2*=U7B=V9N?>U2/2 +MM:5V?B=XAJ=X!AUUXM]XGB=ZIJ=ZFEQYDN!ZOB=\QF=\MJ?#U:>6()Q]YF=I +MX*=^]N>K,)Q_!BB)\*>`%NBX`*B!)NC!(:B"-NC"=:>#1NAIV=&B5*B%7BB& +M9JB&;BB'=JB'?BB(_H:HB(XHB9:HB9XHBJ:HBJXHBY[HKSC``\2HC,XHC=:H +MC=XHCN:HCNXHC_:HC_XHD`:ID`XID1:ID1XIDB:IDBXIDS:IDSXIE$:IE$ZI +MCT+`BU(IEF:IEFXIEW:IEWXIF(:IF(XIF98ID5HIA<8H!*PIF[:IF[(IC;ZI +MG,XIG=:IG=XIGN9IG*[[F*[BN*[_VJ[^6Z[D&`(T*[+O>Z`A$ +M@(P>K`3$Z`A,P,+Z*")$K!U@:;Q6;,4"J01D[")8`,`MJB;004P)`2;!*G8RFC*6H`=M*[*AJWEVF@$>,3:`NE!J.P#O&W< +MRJV-TNW5;46OWBC"INP#4$#?NBSCTJSR)B[B,F_AQNSB)N^F.J[D5J_U7B^1 +M!NS`VBWF7@`%!``%$._G@J[44JV,6FT`%``C'(36_BC?CFW**JW7!@#LZNCL +M-D3?7L!!U&Z/?BWN;B[<4L3X2JNE7BO*6FSJQNL#3`!%(*_T-B_S-N_A3C#T +M/G#C\BGV9K`&;S"._@;MT%;NY=;H".3O"$M`TGKN`.,H(@2`U(X`(BB"^18` +MQ3#"^E;,CB*PUL)O`+#N#ML!_:8NV0:`Q>[OO.XOV^[H!V^N$HML[@)`"F-P +M`9OL`I=%Q$9LQ?)NO6JJ!4,P!#_OX"[O%AL"]7(P&9=QY%)NC%INNC:M_"KM +M$B]MC)JOCJZPU,)PU>*OCJ;L[0HL$.LQ[O(Q$./H_3)$_AHQCYKP`RPQ`._N +MPF[NW+9KW;[K("O$!1P"%CNP]"[N!$=P]#YO]#+N&)NQ*(\ROVKOC!+LR9IP +MTI*P]R9MYWHNQ`:`'3]``+!!%"`',\HWO(P#]?O`C_`!11S_C$' +MLB`+<<4.Q"#?+__N*"(O<0`#@"(_\M]:L"8/[B8K +MKQ<_<"B3LCJOL[-Z,.ZF<0AO;^J&;]-&P,(:LS'/,2+$J!U00`1,`/K",?WR +MP*+T.4+=(6\3-#\]A.)&RM;O[5HC[:4NC/1(NS)QJC`4D#G'BPO3\#49FQ/\S6/RNM? +M_S-N[S)C^[)?-S203G)`#T1`[W:.KG#$-G(3$VWO5G;97;:J`C9!\S)%$&^, +M8O)G7_>W0C%I;S=W1RD:%ZU8YZCG%O/4.FP<]S28*C:]&BE#"ZW9NO=Z_^@A +M(,(AN/=D[ZCO-G?P^JAU8[=_DVIH=[>`#SBFAO5R$SB5YO>=[/>ODO1_/[C. +M:C>"3SB%9ZN!8W6%_C^I@G\)@_-H?T,XB$^OA&XC=\XCN?XHSHJH_:XC_\XD,-I5NMWBA>YD1\YDF_I1A-Y +MDC>YDS\YE%?IBP8YE5>YE5\YEF>YEF\YEW>YEW\YF(Y +MFJ\YF[>YF[\YG,>YG,\YG=>YG=\YGN>YGN\YG_>YG_\YH`>ZH%.$VUB$H1\Z +MHB>ZHB\ZHS>ZHS\ZI$>ZI$\ZI5>ZI5\ZIF>ZIF\ZIW>ZIW\ZJ(>ZJ(\ZJ9>Z +MJ6]ZV9VZJJ\ZJ[>ZJ[\ZK,>ZK,\ZK=>ZK=^ZIZZK_\ZL`>[6K`/ +M.[$+NV(D1@$DN[(O.[,WN[,_.[1'N[1/.[57N[5?.[9GN[9O.[=WN[=_.[B' +MN[B/.[F7N[F?.[JGN[JO.[@/NKN_.[S'N[S/.[W7N[W?.[[GN[[ONYP'!``[ +` +end --- acidlab-0.9.6b20.orig/html-doc/db_setup2.gif.uu +++ acidlab-0.9.6b20/html-doc/db_setup2.gif.uu @@ -0,0 +1,500 @@ +begin 644 db_setup2.gif +M1TE&.#EAMP)$`N<``````/___\W.S8.!YH.%YGM]>P``Q0`$Q0`$S0`(S0`, +MS4%`]H/B]D%Q>P"V[@"Z[@"^[@#"[@#&[@!A?(WSY]"C2X>>I[KU +MZ]BS7]?#O;OW[]SW_JP<3[Z\^?,G!0@,(*"]^_?PW1<88*"^_?OU#^A'P+^_ +M_P0`!B@@@`H4:."!!FZ@X((,*LC!@Q!&"&$'%%9H(84>9*CAAAI^X.&'('IX +MPH@DED@B"BBFJ"***:2@PHLPQJC""C36:".-+.2HXXXZSN#CCT#Z2,.01!9) +M9`U()JDDDC8TZ>233MX@Y9142NG#E5AFB>4/7';I)9=`!"'FF&2**<29:*9Y +MYA!LMNEFFTG$*>><<2IAYYUXWKG$GGSVN2<3@`8J:*!-%&KHH856H>BBC"YJ +MQ:.01FK%%5A4:NFEEF:AZ::<:JK%IZ"&"NH6I)9J*JEBI*KJJJJ.X>JK_K"Z +M2L:LM-9*:QFXYJHKKF;TZNNOOK(A[+#$MM&&&\@FJVRR;S3K[+/-PB'MM-1. +M&\>UV&9[+1_<=NMMMWV$*^ZXX?IA[KGHGOO'NNRVNRX@\,(;"'OQU6OOO?CF +M6\!Z[>V[D'STX2>P?@?X9S`"`R:<`((,%]C@PQM(*/&#%U;<`8<89QCBQA^8 +MZ/&(*X:,0HLREGSCR2OPJ'*.0;8\@Y$P#[GDS#5`:7.35>9\@Y8\7_GESS^$ +M6>;0:A8MQ)M(LTGGTDGDZ;2=?D:]Q*!4`XKHU4TTJK6BDG9-*:9@8]'IV%F( +M:O:GIZ:]!:MLIQKKVV/8*O>LN]9=!K!X]TKL_MYL&+OLW\A"*_@;U18NK;:( +MQ_'MXMR2ZW@?Z49NKKN4_Q&OO.P5H/GFG'?>;^>@;_YYZ*#WRV][Z-$[G\`# +M[W=P?PH/V###$##%KP=/Y2",!8AQ^"O0YVL0O0[!!4.P;=3D*YL]#N.-0[$/W. +M1,%3T?"(]R+CV0AY_CQ2'I"89R3G*0EZ4)(>E:BG)>MY"7O9,]/VT-2]-WUO +M3N'+T_CZ5+Y!G>]0Z6O4^B+5/O=5"GZ,%\65"#CFQD(_65N=-EL(,6 +M#%A]3F(?3IK0/R=!80H7ML($M=!!$SO)A"B4$E8&X&(JR5B(5"*B$ZP$ARA2 +MB0Y=!*.3R,B'-0+BCH3X(R(6R8A)0N*3E#@E)F;)B5V"8A2G2,4JPNF*=B8*SO^"H_"_M+C +M'@/7QVC]T5J!W-8@P57(V#$")[BDVPAI6;9"TK.-&:5G*:TWUN?2MMG&)7>SD&KM(2%)2LNHYR&8G*1#W='C# +M(+QHOS2Y4=*:^,0%^ZB*`P"@DR3`Q2^.[4E@*]L9SW:V&\"Q*B6T8U7R]D*^ +ME>EO8PIY) +MH#QE%4B9RMBU[I6WRUVE;ID&X/6R#<8;9A^8E\Q$T^IZAY!F]RJ!S?%EPIOI +M6P4YWS=L^;VS%OBK9S'\M\]D$#"@S5#@00^PT`PNK.(>G%C(,9K"C\9PI#$, +M@/@4G-(0'0A\)!GB?XTXM*0M\8E3^U&$H>34`H(M2FH,6U?7=D$G5ZS:WKR3YK4V>ZR%O +MR,@L][62EPM=YT)WA\8N-G6KC-UE;W?GWW6JM']>7JMBNTQF+KI7O8UT-YN5 +MW$QO>KKO''7_VA7>52>P7[%.:*WGV\'\7O1B&UUA@9.=X&9'N(<+GG9*-UR$ +M#^_TVT\2ZE&7&M4NAO&J:;SQO<.:[SN&4/8Y_D#R[@>>\+K6->)OFF3%\Q2H +MC1]V"HX]7]SJ58[Z$(/_7J-OF:QAEOI<:96YP8VJ[=?C5O5X=@_-1/6X=[A^5U_Y90O<=A&B9\ZA%\$G5I'LAPG84Z;4=B&O5I +MIH42H$1JJT5W+*9Q-;9JMA5KV\=]?T>#%=)*O/5;*+$APZ5R*%%+M\1X,X=^ +M--=+DO=^-U=Y6"9,F&=,/2=>]@=TGB=T0:!_:#9Z1^=_27=Z2R>`32`"69[@\5UN5=07\=[`8>!!G%VDY6!$G59[Y%9(!:"(900 +M&$5"^=%1KQ-2I,0P_GBG`"5E4B^44C%T,3/4(3542S?$9#DT,D+%0S:B;#]T +M>?*7>5U6?V`FA6-&A59H3?RG3:7G30`H3JE'9P6H3JWG3@DH3[%G3PWH@/C6 +MAA(X4!2X>V&'.;YG+QTX<)7V>_["=N>1?()86H1X,(8X.XFXB(VX2H\8B9(X +MB97(4Y<(><2SB4JH75GVB4Y(?U`XBIU7BOFG;?N'A?T'7ULX7UUH7U\8BVHT +MBVY4BW)TBW:4BPBVB__DAA.H>P$ +M,"$EC:RFB"55C8X80]B8'N(]H:%%(?!2$&98T&D +MPSE/&952:4%0294@J(SFP8R"^$DG%(TCI9&GQ)&[]8B0B(V32(F52)(E:9(S +M8E0J*40L:8XN&87IZ$2?EU7JU8[ME87P:'KR&(#TJ'IA:(!Y1H9\9H9_AH:" +M1GOWQH8!V8N#](L%V905=$F?E3KI@9D=E(R.%!]NUY7/:#!@.5+4R)%F>9:1 +MF)8=(Y)LZ8TF`Y>>N)+S%XKGJ$3W-X7KN)=7V)?ON$7_QX6".48#B"D]>38_ +MV39!.3=#F3=%67M'R8M).9!P6(&)U'N?F9W:_AE1EH25G;,`#!">XCF>Y%F> +MX]D`Z)F>ZKF>[*F>(/">\!F?\CF?\1D"]GF?^)F?^HF?(M"?_OF?`!J@_]D" +M!%J@!FJ@+I"@"KJ@+O`"#OJ@$!JA$@JA.%"A%GJA&)JA%YH#'-JA'OJA(.JA +M.C"B)%JB)GJB)4H$*KJB+-JB+LJB11"C,CJC-%JC,^H$.)JC.KJC/*JC3_"C +M0!JD0CJD00H%1GJD2)JD2HJD7-"D3OJD7-`%4CJE5$JE7G"E6)JE6KJE6?H% +M7OJE8!JF8@JF9U"F9GJF:)JF9XH&;-JF;OJF<.JFKJG +M?-JG?LJG=!"H@CJH_H1:J(,J"(B:J(JZJ(RJJ('PJ)`:J9(*J5?IG99ZJ:$C +M'Y94$IS:J9[ZJ:`:JJ(ZJJ1:JJ9ZJJB:JAFAJ2&H'@[PJK`:J[(ZJ[1:J[9Z +MJ[B:J[JZJ[S:J[[ZJ\`:K,(ZK,1:K,9ZK,B:K,JZK,S:K,[ZK-`:K;YZ<&OG +M80[P`-B:K=JZK=S:K=[ZK>`:KN(ZKN1:KN9ZKNB:KNJZKNS:KN[ZKO`:K_(Z +MK_1:K_9ZK_B:K_I:KA!`K9XY6=>ZKP([L`1;L`9[L`B;L`J[L`S;L`[[L.K: +MKZS:4``0L!![L1B;L1J[L1S;L1[[L2`+L1+[D!1KL2%[LBB;LBJ[LBS;_K(N +M^[+9.K+5"K`P6[,V>[,XF[,ZN[,L*[/_ZJH\&[1".[1$6[1&>[3;ZK.;:K+; +M:A#8"@!/^ZY.V[11^P!0>ZY7FZU7F[7W2A#RZK4%R[7B*K9(6[9F>[8:*[9D +MJ[7FJK2M6K'?NK9LZZYR.[=V6ZYJ*[!<6[=8JZU\R[!_B[:".[B$BZ]YZZV! +MJZUN6[)QVZU;J[4"D:YR&[F/.Q#HFK68"[F/6[56V[>(&[F7&[>@V[F;2[J< +MF[FDB[I6.[JKN[6@:[E1F[B%.[NT6[M^2[5/.[J5R[>+:ZV-RZV;J[IXZ[BY +M6[6RB[N=:[QLJ[K'R[G(V[S.>[O&"[646[S5_IN\R?NZRKN]V7NZQ6N[X!N^ +MXHN]W!N\I`]T.HJT!(]T11=T1:]J\=,QQ&PT1LM`0\``0\-T>CJ`#M0TB9]TBB=_M(J +MO=(LW=(N_=(P'=,R/=,T7=,V?=,XG=,ZO=,\O0/C"@$93=`T&P$3,`$!X-`B +M#:\DW=-,W=1._=10'=52/=54;=,"\--!/W<(4D-F:O=F;VNI&T!%(`2IYW:JOT` +M86T!7'VR9%U1MUW>YGW>Z)W>AYW;F.RM$5`!%U`'\8T'#X`'1KT2R_T`'%VX +M=M#?_DT!_EW9`0[=6NVJU+W<(*VNI%T!#%X!V+VM^=VTALR_4INN1ST"WVW9 +M%V#%=#O`Y3K>Z['8Y)T2(XX>`V'B(7X2)SX>)9XZ+:[B+V[8,6[6,UX>,9[B +M-EY1.*[>*['C:5W7N/K1O%T!=U`!OGT!%$#_@%PXSW>UB]>XS9^'B-.WH7^YW`MZ#RNZ#3NXBHNUXR^ +MUI&^C%=MJ\TLY-L:V42NWQ-@![\]'ES]Y#6LQA3NX7=;MZA>ZKR]T78PW?H= +M`78@`0$0V=S]T=%ML=1-YMIZ`;RNW=@:`+R.K0WNX*:MZN[+NI:LO.>;[(H, +MN>"ZX1@>UEP]`GB>YWA\[83\Q_F;N:R[K7SNYRHQZ8,>[FBMZ(?>YR@1Z'$M +M[N;-[H3NZ.B^[C+NUHW]JDG[V+N=K1-@`7?P`$;NZ4M>U*'>Y*HNP,C^NM<; +MQE=^[,R+\(_L['6[T>`MZT`>!-X"1KK0?NU67.Z[U^YB"OYFSN_L%D +M3.KY&\9G7+E1SJT!,`(!\-T3`//%'N>D'L,I/.4JC*W?WN>%#ML^?^(Z[N,L +MCN@P7N(KGN[O_NCQWO1,'_1(G^))?_2"/O56C^-)/_5!_^A:W_1`?_3ION-? +MS^(K/O9D'_4_+_2&KN-;3QY#?^@A_O::6>],>^F8?MH20.2^;>2@WN0$7^H% +MG//1:\![>\07?/AU._&Q?M05S]43+]9@OO%#+=K<"O*6?_D+CMT3L.%X2\&+ +MK/,CW,7?:^K8NMIV3N?47NT+?\0U+/A2[.V"/?1/K^XDKO2V3^ZX[_6S7_NY +M#_:[S_NX?^Y/K_MN;_OG?ORW[_3';^B];_S)_H_TR9_[S#_\TO_[3D_\PF_T +M:\_TV5\>N6WO<[S;^8ZMOVT!>!#<%F#4$K#^Z^_WH;[#/LR\4>S'P.OY+1_Z +M6-RM$@#6$2#K8LW:`!&@@H4(%1X>1`E@H\H'+%L>=,G2X4J8-6$ZE%EQYDJ7)T.."&#!`@4+ +M$QZ,H("2YLF8-IGBM)DSJDZE#QSLV!'@X<,`6KMZ_=J5Z]>Q8\.&-2L6+4ZN +M;,VF/0L6;%FT9]FJC2M7;MN[8AV2[:OU+^"T;\GBU5L8)V*[=1DWQDLWK]^R +M@0L?WCLY\V;)FKLN_JSH0.,#"!`PHJQ3!\^=!Q8J3,@;(8#L"%53OE39U"E; +MISI[4MW-^^7-G3*%ZU9:0<)`"0(-7@RP7((%C`H9_HTX\>+!VJ1'^P0),FA) +M\A&ZVP8^5?WPW,"EZF[Z>SC'HQ8)CB@Z8H($";;EP[]-/:G82^^DJ[+:"C.] +M'NML,K@,@RPNN")L2\'$,)OPPL<>L-`@AZP1HZ*'L*"K2.]O"^^B!"RB(`$WSC$0R23>?3')`.054_DJ" +MD(8:`;^D*)A@O_Z83&_.^>`$L+>-#O2JLQC5:I#%"%V$5,86-UMP41`I=91$ +M35>\U-)&/?VP40\Y?1%#!>D"ED&OOS9G2'339JOBT:(2C`N"S3_Z4\.&$(:XL00<_T0#G8OC(O]##Y)KUTTU/B.O6I$P+;2[$?"-/LL_MD6^T`)@#W +M=-UWKY6"CBBXEW?A#?0;\LHC1SYYY9=GOGGGF3^^XA(5OYPTE&8]Z=:??QY: +MMMF&!S]\(U57G=KK7)=HM&UE-S+M/M_7&GCS]A._?K@E`/Y/^W<_<&;$*7Y> +M``4X0`(B+W6&.^#R_@#8L,HMT#/54PKV3L(LSH6%-OO#8/C(ESKS<2ELZ2,; +M0K[SJPO8ZGW-TE\&5;A"\2&J@"^$80QE.$,:UO`L$+S>K][7)U^QT(=\VR#7 +M.FBM+\'N).S[81*5F$07VM")3X1B%*4X0QP><8E7Q"*.MD3$UQUD?2/,8AC% +M:+H#1<2,9T1C&M6X1C:VT8UOA&,YR=,)TH/HR];U$,E) +M4@+2`:5!92I5N4I6MM*5KX1E+&4Y2UK6TI:WQ&4N=;E+7O;2E[4L93!)_N=) +M+J8O@J,49C*5N4QF-M.9SX2F&(GYP8FT\I2_Q&8VM;E-;G;3F]\$9SC%.4YR +MEM.M;3GO?$9S[UN4]^]M.?_P1H0`4Z4((6 +MU*`'16A"%;I0AC;4H0_M)SM!B4@D1M.B%\5H1C6Z48XF42D8M6K7P5K6(Y/DT9+:U76.KXE#BN,PCG=7.G:_J8E932N?`4L$/]E.F()#Z]Z +M%68J-0<^K8[-D#R-6T\0&UB^902>]JLH7"D;,+76M:]7E*SN)BO7T,I5HZ4= +MUVA_A5K1:G`IJMVD:=R9H\SJKK%&Q%%7FQ:HJ26M4*6K+2I/D[E9T9:XUI/5 +M2R/KM*E!3;*]59H2[O)+6O$=3KV\!AMVF0;>[O1TC$J]IW.(F5V^W]>)9E^L>`D_EO.C)K&Q/ +MB1#3R,[!"Q:-<3&'N=JN]K4%_NU[#HS>OL(G-^E"#F&G^R9W>=A0;/(7LN)4 +M8.XZZ8?IU7"32(??_@P+BU`%FO&PX-1BSDI3@I95L(07/+?&AE"YJ<7KA9EF +M6\5"UFR61>Z3K3)E,4'YP7J+:Z%"[&+I"A%@-SXQ=M$5H"W/-[5T0C...\SB +M#8MXNUQN,WJZ*^,:DWAW<[9SF<5XS;->V3)C69P:2#-K0JCF+?E$I1O,_WB-:/9.-=MK::=NVE@:;:ZQ#FTNWJL:1N# +M&H-1JG.<]YK6_[`YS1S^LJTW.>1'\_3*<@.P103<65W76M:$1G:OO=/@*EOE +ME)/^=:%97&Q=)W&Z6I8Q897LM%(C[XVSZ&F\[AS#6YM_E.; +MRW_$7J_][&A`7T_08C-RI?VS[6.MFLA@G/=I;#3E@%=9WW+F-YPQ?&SZ)GS% +M9IZQP^ML9U.7&,,*C\J.&8YE<_>[W1B/D\?9U7"0B]??5V2?O.GMWX-7Y;:Q +MJ_>Y[`MB/&\\N#>:-*5'(]P&[[SG'+]TT,TEWHT#\;-OEA-^Q3SS\8[\S28:[%U9=76 +ML)DYRD7#ZE"A.52L*/(=O8O5[]+^.\D]2\IWU@A6L1(3XH%][T)R![*!AWSD +MPRSY;V.1ZV%LN9%>CFS*=SZLEPTM:W'N^5/;UC +M'7]DU]?>]K>O_>9SBWO>]][WD`_V[G\_?.(7GZG!E[OQE;]\YINTL=949_2E +M/WWJ5]_ZU\=^]K6_?>Z_,O8(;7[XQ3]^0,8^T>1'?_K5GT'SSWXCVX%_@(4] +M_[>NW_[WQ[]:WUY$[HRN._^?O2*IO_PCP`(LP/:#'9-X/_F+O_FC%0.$P`C, +M/P3<%3)+LP&4P`S4P.*CP&WYKPT$P1#DP/T3&VT2P1-$0=L[O$ +MP1B4P1FDP1JTP1O$P1S4P1WDP1[TP1\$PB`4PB$DPB(TPB-$PB14PB5DPB9T +MPA_T#%I:P;QXPBJT_L(KQ,(LU,(MY,(N],(O!,,P%$,8C$)9$0_S)!B=,9GA,9HE,8L/$:?XT-?_(IIU,9MY$8F)`1":,%O[$9+ +MM$/%8S!E?,5B:L9Q9,=V=,<;%,=!B,=W/,1R'*%67$90Q!99I,=^],=M_HS' +M>?Q'02S#"+.F=*0F?AS(A61(8`Q(<)3';X1(<9Q'B83(AJ1&S9"T5\I'6`Q% +M*L3(D!3)5+1(BIQ(<"Q)E#S)D;3"3=Q#3\3&KJ!!F8S!7W1!0$Q#EM3)G5S" +MAXS(<%1)BXQ(H>1))G3)E[Q&9E3(%K3)FPP`IGQ*,HQ*IZ3*HK3*J_1!G]3* +ME11(K$S"HT3*CE3'I:1)FAP$LSS+J81*J7Q!M)3#2$S+;)Q)N?3*NE3#K03* +MG_Q)G[3+(@3+EQ3+A`1)MDS+JIQ+PEQ+@KQ)IEQ,&51+M23#OI3,*N1+HJQ, +MB9Q,(OQ+F%3*P33,P@3-PVS+QX3,MVS,J2Q-_L;$P=3,S-9T34G4RZ9\S+.,R]ZLP?ITS/OT +MSOGDSPB5T"`L2'JR+`"M2=(LT`R5S@/5Q`3E3@?<<;#5*>Y$LC?%(>/%(AQ$N]7-*5 +MI,$P=4$UY<(6O9XI]U-5_4C:=-5G?=2@K%2A[,IJ/=8=Q-4?%-89O$Q2[50T +M%4A=[59BW548U-4=S0M4352$7%16A=9W'4ARE=5B-==AO58=S-:L--9?_JU7 +M>C532O75<+57?R57>>57W$3496775756>'78=]S63`766353,<74?:W8%]S6 +M7[W,7%7N;97C9WO`5W_$EW_*5H>Z5V^\UW_5E +MW_9UW_=5'/0=7!B%W_JUW_O%W^B5WZQEV/SUW_\%X`!FW?U=7`$VX`-&X`1^ +M(@)67P5VX`>&X`B&'`:N7@FVX`O&8`&F8/K-X`[VX`^NWPVF4A`FX1(VX?`5 +MX3CUW;,PA!8VA"=R87)X&+/2.(H-APJ!N(K_F$A1EH6EB(KAF(BAF$GEN'F +M\>(QQN(S1N.NT&*MY>(V_N(`<&$DCF$HGF,XKN,X_HH=+F(E!N,W]F,BGN,7 +MON-!GF$[+F0Z/N08+F-#EN-#MF,EGF$FQF-$AN,TMF1+7N/^I>%"WN-.YF-/ +MSN-*#N5)%N4_7N)01N4^?F,D+N567F4WKF0Y=AQ!YN-4EF7"H>4_ON1=SF+D +MI5X.SHM<_N)3WN1`UF,]AN4]=F-E5N5:SN,XKF%HUF5H%F97EF$\EN14MN9G +M5F1MYN5O+N%,YEL<;N5JUN5MIF,:]F9FMF963N=@AF=GUN9HAF531AQ0_H[G +M9F499F1FYH0$YDF&[D4D;I +ME5[D;F9D;N;DC@[FDN[GCP9J"`YI\&U==K9>:MYG>0[JI4;@H2Y>4H9?J&;J +MJ=9@7_;>"J;JK-;J*W;JK?;JKT;CK@;KL29KD+;J],7JLE;KM09@L6;KMX;K +MJC;9JP;FN+;KNVY?M\;KO>;K\=7KO@;LP(;>OQ;LPC9LX27LPU;LQ9[=Q&;L +MQX9LW3WK^1WAR+;LRP;=R>;?<<;LSO;L*'+L_L\6[=$FH-`F[=-&[>1Q;*F> +MH9\&9'6VX8O6X2->9-E.;<-.;*..(97.9V]N;3&6XEE.ZB8&[F:^[<+.[2Z^ +M9^/^[<2)XMK&Y=U>G(<^[L-.[F1&Y)36Z>W.[G4>:%76;>X69)(F[VCNYY,V +MYVLN;T@>:73.:8?&X9\NXD`VY.ZN[LA>;?J6Z&%.Z%CN[_&.Z7D&;Z46<)K6 +MYS:.:/Y^Y^D^<#^^Y3'F;7*V98A&9>B^[[LV;077<-]&ZHU^YGK.Z`'W[7-V +MY0YOZ6/&9@*7XA0?[@:7:8)>\?/6:4YF[@M7[`SW[_WF\/B&[1+_[F7^\-[V +M;NSV<2(O''P6<1(__G#7_G$'%W+WMG'!OFX-Y^D7VM>]_5@!VM@%_9BSVIB-_9D#VID5_9F]V=F=_9HOV1HE_9JQV)J +MM_9L/V%LU_9N_V!N]_9PO^#\MNC6+O<>7_#/?6XRGJ*;%G=>GG(H'Z`(_J]G +M>2>@VEYWQDGS%K]WYW[W78YW)RKS&I=N?P]NYK'PYW'W?\?D20?0EVYT[L;S +MFM;R`E]H%;=O`)?X289J]+;WD=9N-B?TGA[E<]]XBM=X.V=X>'=X6N?X_]9G +M),]RDV[R"1_Q)==Q8DYP*S?YZ#YS,K_H1S?RG/?P+%]YEI=URE;AZ)EYYC;Q +M8P;QFG?RFS=B%#=F_9YQHR_TD0?RF[=Y):]Z%O]N3#_ZAD_ZS1;HI$9R+N=Q +M]J[X+[_X=%?QG?]RNG=QV4[T-E=R6Z;W=NYO>T[XL@?HEJ]L[#9SF)=YG%]H +MW>YR=.9GPP]RBD[HG@=OK==[RC?P38_Y#T]\_DL7_%X^^SDOYCJ?^/4>]#^' +M]$97?8+'O>7?[^&_R&>__N_7O;'__W?7/WG__\'B``" +M!Q(L:/`@PH0'(4!PX.`!Q(@/&#H$(.!B`0```EP4L%$AR)`B1Y(L:?(DRI0J +M5[)LZ?(ES)@R9]*L:?,FSIPZ$U)\*!%B3XL8-7*\^'$GTJ1*ES)MZO0IU*A2 +MIU)EVO,GT(8.A`K(_KBQX]&J8L>2+6OV+-JT:M?NO(HU:$>O13TF-&37T-.[ +M(.T6Y,L6KT+`,`4S)] +ME'5R#LWX-.K4JA4[E@BY*U&PHZ.:)FBY]DWWAW@+F:]`J&#EO[SUHQ;FR3O0>8=@7N9B!HSQV(W78*:C9=@PT2F&!WSF5W +M8'4IN0=A@AQ>-QN'\148GX/[F7@BBBGRI!56$VG%E7("BH9@A.N-E]V%_A+6 +M2**'#_I8WW?DX4A=A2)!M^%F'?9HVY$>@M=D=[ZI."6551[6GXO_13976'65 +MJ&!S/_:%HY(]%NEDALRIN:.%8G[I&XU)F@FB9A/^:*>5>>JYIUI8)A<@76M" +M&-V;A<:)))Y.GODF7\!UF..@:8J(H7PD$5HDC_;I&*FA;2[))ZBABMH6BV^] +M"*!D@3(GGH/JN2I>=/!MUBB0!*I7YIBRYAIKB;"6]V5(>MD*GY"T#GCG?$I: +M-RJSS3KKDI^G;KF:24SVJ[+;_SPTT45#F[!K"Y>`>2]M]Y] +M\_VWWX$#/KC@A1-^N.&)([ZXXHTS_KCCD4,^N>254WZYY9ECOKGFG7/^N>>A +M@SZZZ*63#KI"=M.].NOFJMXZ[+&+^KKLM=L^)>VWZ[[[?;GS_COPI_D>//'% +MIS6\\2NU?NQ6'73WWW<,DO??ABP\2^..;?WX` +MY:._?O?JL_\^].[#/W_R\M-_/_#VX[__[?KS_S_L_`?``1#7*P@Q[\(`A#*,(1DK"$(B2("5.HPA6R +ML(4N?"$,8RC#&=*PAC:\(0YSJ,,=NA"%/`SA2#3XPR':T(=$/"(2DZC$)3*Q +MB4Y\(A1I:$0E!O%Z6Q[9VD"AR<8-3["(8PRC&,9*QC&8\XQ>16$6'M.A/ +M-`-)"PDA1T(@48Y#3.,9\ZC'&,[1CCGTXPH!N<=!$O*'/NSC$=?H$X6!_FMI +M(6&A'P5)0TD"@)(XQ&,A,ZE)#D:2CCBT)"<]&A+:E9SFYW49C3->4YK"O*:Y`PG +M/,&(0DEV4R/NY"8TRTD4D0A1A:O\)S1]N4U[VI*@`T6F0%?XS7@R](@`->A# +M$9I/9!J4HL;,9D`GVM"-+O&0Z`1E0B/J1V4R$HN.A.,S(9I11%X4GQYDITHK +MRL*%ITP["U*(%I:A/@VK3H=Y1_I<'I6=.CZK1LQ6DGRD4*1V1 +MRM-\7E2I0IVI48FJ51M&]*5+M61/$RI3J&ZUK#?\8DBI:LNT$G-B5G3CSA)" +M2Y6Z5*)3K:@=>QI4L::0IF;]*RLS&E.[$O:N!/UH5#%J5;X"MK%]+:9:"?M0 +MLC*5($Y]:EU#R==ZIK.:Z\3K3TWH5\>25IT892=JO]I-L*[SLU1QO;X0X1N,0]K@R%>TE^OC66<47(#(V;1^4B +MM[J3#*UULPM#ZA:1N6Q[YCTO>M68U23J=FJ\?2X&XSLV"\JW +MOC"CKWWSBS+\ZK>__A_CKW\#+#$`"[C`!R.P@1/LK_)Q,*L"\:#>&KR2?1KQ +M*10NR+@J>Q*F71@_&D:E2B2,DPX^6,13^K!OI[C>"+<5NATFRXL+\ZKQ+*A< +M)P'?/HF2XZ-0>,37QK5.O8Q3W&=:LC#65BYQC9N][SF*U\:BG[FM?-!K&< +MO\QL;>_8U99;U'2RAZWW\+=;2Y3N]G;IK2ZI7WEEW`:3*T"%DO@ +MW.`8A[O4I/ZUJ?M=:AW7&2;!7C6="7WN$Y<7*CW.*L5KBI4QYM +M,@?;YCBG^,P'HVE.H'O[8X+_V\\RESO8Z3UT>U[QK/^]E-[_714_SD*`_\HPN/]Y>W7?63=CVI>PYNT-<^ +M]?`F_9)Y#W3;LS[FPK\[W(%O=XCCWO(NJ3>B\+T2.(N:Z@+W-M-];'W+:][2 +M@T]YW_M.?-!'7>ZR'_SR:R[RY!?>^82'/?+AK_,O+_K<]!^_\>-_]6(#V]FP +M?O_;G5_K!=W?H1[E*5_R%6#^@1_NF5^KV=Y)0%^G?`_D!8P6Y9ZL92#!E9Q1 +MK9BJ=9VN<:#GD=RL_L7:MSD3G?W-U)T@K:%4"HI>_SE"8X7#8K@K9&@ +MSR';M&F@"SK8>*6@SB&?KIW:#_[ZA'XY*'_ZA(.Y)(`ZB(:X,'HK7(2XBO10B(SYB?C`8&Z)$ +MY_$=DIWAI;$@4W38EG'8ZU7=85A:$E9=JHTBE6`B*!Y9);I=330)D,P)MN1; +M(DH>!I+B2*RBOXT8N@V:[VW8)_+9%;(BIHU<3AA:\3U:+Q+C,-Y?W*7B_B\^ +M(S(FXU(HV0Z.'2J.A`3&24M07TW@XN7=6:"5'C0:W#@VH!K.Q#4.8S3&WR/% +M!.TQ(^`YHU,<- +MV[IA'L+!'-EEI,>!VTC&)$D")+,1'ZH]4DY"Y/,M7M%Q2J=]5TE%GC].V\"Q +M6\!A'.5]7-/5F?8Y)516'U,.7[J%'`"JG,^-H4266?BE'\^Q7$N&W/W-'^"- +MH36"I>^5(N_!(P06H"D>HR?NWOJIGU=:)?Z=_EY=HAO'(:#[+:1%LB19*AY0 +M,E[1+8M*R,\&`MN^(67FP:#&==]+GB`(9AW8M=S;K:5!$F$0BM\3HIC%V5W7 +M25T5MB,!-F'/F2)F6J8PUE\"FN;A5>;_?1_?,-]ZQ=UI/OI>4`QAX"SIXRLJ5KII[NS>4`-M]KKN<"ZJ2_T=S=F:5JJJ/\ +M]<9P:J,L'J=[)2>H`=Q22J6!-F920F>"2F>!-BAD'MK!Y63I@>?JE2/I=27B +MH=^%/J%[YN7?F257_LI?7"X@A[+F959CB.*GX$DHXLVF.&9H=@K@0OI?:E8G +M`;ZCB`K=8$:?XZ5./P[H=((DB;V86GZC)2;H0!YDP24D:1ZDL15D#F)="19A +M\$DI14YI2NX;K%7DM4GI3#YI25J;1J+@6,*DZ>%F0%8B3P:IZFT;6PYI%:II +MEUXI#,ZID-YDK36<3I9IF&I(%L*B*Q[FCUZ@OZ3C'AKJ6B`JOSBBE2AJ'3HJ +M6D!J(PXJ'$*BI7(+HUZJIJ9&IFZJI[8A@&(/40+IQTCJIRI/IYZJJAX/I9KJ +M?IA@RSUD;K;;EZYJ^*1J<"2<['VF7L:GK4X/KJY&^WW@5Q;IKXY/L*J&_JX" +M'WNFI:L>Z]LDJ[+R7UBZ9W9B)K2V3ZORRT2::8:E*4AF:_5(JW`\J[B:#[GF +MZKD&6+JNJ[O:1+N^J[S&1+S.J[W^YR(AYZ@2ZKWV:Y]LJ[\&[)4`K,`6+%K4 +MJ\$FK$$@K,(V;/H0K,-&[%,PK,06+,56;,!>+,;VJ\9NK+UVK,?**\B&K+N. +M+,F>J\F>;+:FK,H>*\NVK*V^+,RJZO`,*5(TF3>^!',.69J:JRKZK*_RH'X( +MV:PN(6KZ5_.@*#KZ8I.^VNTQ[3*V)B_:!*_JHG6B!GP2(Y_N8EOV5])*(SFN +M8SB^Z#U"J-1"!=!"8]INXFK.:&^";7Y]+5;6_NJ,XJED"FV(RJ!,=N"(MJBL +MFNF)MDBD0,B01MAM9&JX4XEHSJN16+JX5TFF5.E\1XB:SEN;:KH_<2AV, +M5B9:'J!5?7JO^\27+59N\;>WG,B!-(F&S8NN%DJT"9JB> +MEJ=LPJU];:YN]BUH`J>=YJ[HDM]F.MFGS8J?5^2IAB:5>>7U]J!]8JX<`N_E]BZ%QN?K'J^5?IWZ'AZ.YFT\8A]=QF;-[:YO +MJJ%MTB_[9MZ6*NV*;F?G[J?XQB'YVF[]#6_UZ:]WIA_;[:_QWB=YSF5E5>W\ +M8NN(AJ&=[E_^8B?Z_B$PZ`+P_W*MAT;OA`9M?16PEZ)@8-8@E7[1GMFL#CIP +MG.X@FBHF#H(K1]XM!\\PW]ZGW?)B"ZNPMW(IW2Y;0=+HZL:PX3%A<%Z0S-ZB +M"8/POH!HN48Q8V3NK4)LKC9QN`[,T6YQSL[L0#RQ&&\J&9?QI9XQ&D.B&J\Q +M([:Q&Q\B',?Q(,XQ'?^A'=_Q'N:Q'MLA'_?Q^&HQ(-_Q'P_R%Q:R(2<8(B=R +M@2TR([.K('?QY8F=>%)BEMIP&%=:EV7R(W]-)".IC5(RD5YCEAXH)T?9)F-Q +M)Q>,[U!=+AKI*]OBTBGE*:_RN'XR0O;L`V9FKZW;EY:R@W(8DR9I^?7R_DP: +M,R]SL2W##2[#J2F[WR@_)BTS)BQ'YR@R*&2&YO5-,UXVYX,NL\BTLC=SSY&XJ96U6Y\X")C93)SB#C#@_,RC/*H$NZ#C;*#N3,X&6WRMO +MWSZ7,_T;Y6 +M:BYC#2BWO +MM.W@-%`_D%`/]0+5[!>;F:C$LXHT(SKJ=-DJJ+K\-`12]8:EK3+KQ.92;:4E +MJM8R;TCJ1#IFK=5FXC@J=4CB[P@*Z]3V&?2"_K781C448Z]2;'4W=K66-2T5 +MMS5;D/78NO7-FC5?O_45#W;3AK45"_9<0ZU8D.\-NYNZ26Y-&J4DLUJ$0O9( +M&NY;;J?CIFY-7C9&XB4/UF!O[N0,YO#BAMYI[UIN*C%-*NXW4G,0"W/11II` +M*FY78G;A.IOKW6G7I@3PGB3]DAMOPN_KJ6AJ +MMJX%<[#Z/?#VTB>)LA_:U:=TRR=X4W=W/W!^#M\(+QL%T^9WL^/W[G.)[ESX +MNC-HNMS57K#W[N)[5ZETGZX4'_=UA^_1?#1(MG:-7C=8 +M<^\+%B]EKK")FK?S_H[GW*)I&ID;#`NCZ'*O]KK>.>JN]5*E7T9IQOE@\-*N +MAM;NACOX2;/;-0O;.Z,G8,8OT+DHO?:TZ2+X]08C@YOPG-(WYYXW79-X1)[U +MD2LPWA[XD_>NV]ZB;ZKNDKMFE9LO"*NUA_\F>\8N;?*X!^NW=7)>^9ZM-=YC +M^[)W2[O=]_(X!1*XM_H`;MXU)*W[&HV$O<>FHMCU6*PDRUX!IOM\?%W +M[(ZP`/)J?L+GUA*>D;.Y"#NAV:KH@OMYXB3P@TOP`DNOII=PZ`8P-),Y:S;X +M=/^?@!MGO@9H2.=I=%/V[!$QW*XIU/5PB4.N$0(Y#I^I_/YVE2=D9^(B_N). +MX24?\ZZCY!$KW&,+3A3.L!"6XVF'=1`G(*SV[Z.[J=K*ND$BNV>S\+'G>FI_ +MXK?JJ:,6M:`EME=3(KKO-USW-;K?EX_OR:T7-BIG9CV;3?B;%1`]7+W($M/8\7[HBJOK3'V +M['P[^TF[!,5;5D_3XUHS.#2-5=CXA4Z:H4/ +M&^^ +MW\\;^M$S3S-_9+=K.TIRF[%'N^`:-^-6NGQ/_NZ*FWUMZ_5MV^7>%/N=HOV1 +M1S;1FG813Z^GI_#=*C-NWW96@VZLKN230:3+U7#K[KUWNSG7NR#9][#0E[P\ +MB[H_9[E,>F:3Q_*'&A]KQVBB6_D$]ZK9,;ISAWG:B3#IBNU>1C!P5W!Y +M2WV,GJ2Z[D'9O>/T[[,M7C-]SU%=GC&:[B%J[OU3[)>;[N" +M][I>,N'*._[5DNF8%[]`#/V4(SJ>PZ8!%R]`!!`(0&!!@P$(%B28<"!"@PP/ +M.FP($6)#BPH=+GPH_O$B1X45(W*DZ%&CR(T`&(+LV+'D1HPO20Y$&9(F3)8> +M:YK4&7'DQY4_<[JTV5*BRJ`3,PI%F/+HR)Y)<=:LZ/3H1:(_C>[,217CTZI? +MP8:$`,&!@P=GT3X86Q:``+<%9KH5D)4I5Z`B6\XTF7)A79]V8TK]>](G3;]= +M78+42)2Q4*\AF2*67'0P2KJ$9<;T&ADI9+V&)T.]JY/S0;Z:$X=5BOIEZ:9) +M3_=T/12OY,>.68\^O#HJS*R.&Y]6/3SL6K-ISQIO^S:NV]^6;R[][+DD=+[7 +M87^V+E,[=)N&9S:6WENZ7MG>>U=/C-ZR>?34W77DDC$`&IFLTLHKL<2Q1BPGS-+++\$,4\PQ;702.2B9F]$Y +M,MELT\TWX8Q3SCGIK--',]-",\;FYK+3SS\!#53000DMU$T\T=)32BHA.XE` +M#Q^B"$1(KWR0S"VKPK3"(J^J],1&(\7O/2(G[-+2(!6TL5-#60T4T1;9BI)/ +MHP`+L+654E4U4YXN-2W'RS(\0S,+_X))VO +MP8Q%+;;B!#$.<&**ZV./MNA&NQC#E[O$S+](07[9M_%L?O3D?GFN\U]%9U6V +M9.WJM6KGS,!E62O%:(O,6X[[S9^UE57-/KT5#;<1;X[VX(=+8QK!`R.D%'!X'X8Z +MYI4I50S$#4VFV6P&_I423_"PZPV<;'S/;IQ>BA&;3G.5#%\ZL/_VE5MU+^D. +M>,^[:=7ZYLTX#Q5LKO6.2D&5_;XP<<#0M9SKX"K_^EGC]4:^Y9L2_OPV8#G' +M>C5;US98Z=&+KWWU[?V]]LFZ!6;T<-+9AK8KZ7&_ZG+@$:^\_;VUCCTSX78+ +MKW[BM7?_[?6%MG_VX6\'/?R!K5,"C%]M^H:PT^6/>PU<4NM>9+>!X0T^6'F4 +M^P8G/]P5J'@=\B#);%;!]]$L.HLCH%(`3+!2VT.XN-9S&HDUS5 +M7`:@D(7P@QP350MW2,/!G>YC'7/@$<$$P6T%S4VI\]'3D#@HOC%IBE&T_N(5 +MNU<6;`$-=F]RXA,GAT4QCI&,99R3$B4H/C.ND8UM=.,;LWB<,X'O=1/\(ASQ +MF$<][C&/:`P?P?@82$$.DI!F]&,=U5A(12Z2D8UDU2&Y14%'3I*2E;1D'+=( +MQTC>\9*=].0G02D6[\W1=9L,Y2E1F4I5%@223%SE*V$9RT*VLHNRM.4M<;E& +M6MHQE[WTY2^WM\M$`I.8Q32FGX0)R&,NDYG-Q.3W2NE*9TZ3FM4T4C(E:4UM +M;I.;P\$F)[L93G$:\YLDFN&.OG@(@ZBS)H=@)QS!B:)SCI.>_2IGWJ!7K`U^ +MQ9T"Z6<[WSFN+WV.BHG;5=[JF5#6C3)/FI3F_H\0^L)]5L6=%0WHG.))+(@* +MZUP*]6B;[FG0BYGJ:*7"60X/8M%_6K0@%6TI2VFBTI?^,P`N92=,11A"`+K, +MA#D[:4]AAK,/I:]C((R9Z$;V4:7R**0;%!(&$>HVB*[THC2UZDTO^E)_5E6= +M5*TI5M/U-+1!46IL$XS;-">OY]UE=.9;ZEN/TE3Z+!"JOW-43[WZ59=N5:M? +MC2E8]=I/KZHTJ]\1ZWINF$_%E?1QY2L8Z6#XV`/"E;+>9&BB'%K+\5E-:>F3 +MW5_YFE>_\G6T$1DL8&%*4\QMKJ[S.6C37MNU\[%6*R7LWV0KF]NJR-4WPE/@ +M;=]F6K"*]JJD%>Y>_D^;4L!ZRW?`R94K8T:IVG5F5:6!G6E@2CO>$.9N][EBO%R=")P@:UY8#(F6,$4MF*#(9QA.DE8PQWV,!DY +M_&$1C[B!(2;QB5',+Q.GF,4M=M5E817!/V;3Q36V\9]6?&,=[SB),`:8C!&I +M3!X/FC"2ZHPT-^^Y.$S.K)/!_D.Y +M'N59S_K54AC%1&A"\YG/PKC,&'; +M6MC#]E^PD?UJ91LDULDN]K/%%BI2D[HIDNKUHZ&]:6T[K-76GK:WM^3J97NY +MV84N-,>L`^X14;O4O9XANP'4PW3[>G[@MET5G3WN5Y<[V]^6MKVQG6MKY_O> +M^SKVMI%]<&X/'.'9UC>F^=WM6XN7V+0F=KL3'NY1#]SBN)[XKU'X[`>)^^%6 +MCO@44=T73__PA#7B&[QY;>>4%[6H&5]Y@2!;_O)QPQG1VV2SSO=<9J`/?9Q" +M)_K1MVETI"]]FDIG^M./Z72H3_V74J?ZU6]I=:QO_95:Y_K73^EUL(^]DV(G +M^]DG:7:TKUV1:F?[VP/I=KC/'8]RI_O=V6AWO.]]C`<>Q-\!'WC!#Y[PA3?\ +MX1&?>,4OGO&-=_SC(1]YR4^>\I6W_.4QGWG-;Y[SG??\YT$?^9P89RRE-WTT +M-7N0T*^>]:UW_>MA'WO9SY[VM;?][7$O^-&3Q?2]__,P!9)[X0^?^,4W_O&1 +MGWSE+__SNR_$\Z$?_4*@'M"J9_[UL9]][6^?^]WW?O&=+WWI4Q_X`?C^^=&? +M?O6OG_WM)W[XQ0]]_O(+.?CNM__]\9]__>]?_?"/__2!S)1"@O\(L``-\``1 +M,`$QS__B;_YHK/X$#R4"KST`ST,&P0(=3P(/CP(W4`,!P/`^?`%HU$:3U$.I3$:[Q`$ +M9S`+@1$*M[$8C7$;.5`;M[`3Q_$#OW$ +MN7$-Q?$>)Y$5^6_WRB(@!5(@EV@6"7$7T=$3&S$7F7`115`"TQ`=/7`-<7$5 +M*;$##?$8XY`:DS$(X5$>-S$3LW$9L[$DX_`DY9$$@S$B*;(06](,2(I]Q)#LR/,&3-\.R-,63 +M--O1+Y6Q)W'1*R?3_A:-,0L)\SHI$S.'TCU#,Q[54CU%4R_W+PEI0CC/D0(QL!^!TRTM=`++D1[3,2_MDQ)E\CUS\#D!-5$5=5$9E4E=,?H&]15CT4R=LU$M]5(Q_C53 +MP>]1HT]2)[4Y#U5317542;54-T\IEW(@*3543;557?55837P1B]54W55`8!6 +M<357=757>;57??57@358A758B;58C?58D359E759F;59G?59H35:I75:J956 +M;54YL25;M75;N;5;O?5;P35Y75> +MZ;5>XQ4"KM5>]75?^;5?_?5?`39@!79@";9@#?9@S15?0?566\3W'+;TYNAA +M)79B*;9B+?9B,=;W&BIC.;9C/?9C039D179D2;9D3?9D439E4S8MJK5E7?9E +M=34Y\E4MPA5;(0`1<#9G=79G>;9G??9G@39H_H5V:'M6.2$`89$V:95V:9F6 +M8)436\^D::5V7X]6+6:V:K_59HEV:[FV:[W6:XUV:L5V;,FV;,WV:;<5:\UV +M;<^U:A563X]#;;M5:[^V;NWV;K-6 +M6R=@<2.@<1^`;O$VU`7Q?W=5]77"5@=AO!`FR7$0PA=]D5`!Y@=@7W<.$V.;)U`AY` +M(,YB`B(`W9P%@9RU#9Y\W9U%">I?W9RLW<[$W>[4W:0-7=#WW`41W<-,B +M`")@!#B7SU6VO=G@Y%P`280(N('G/I'IY-GIQ +MMGD_.(1%&(2;%X0YF&>O=WM5>(59V%X#%RWV5WBWU7S+MWP?0!$H('7!M7W? +M%SD*P'X/`@_&-8#YUP+LX(B+%X!C.%LCX"L26%P+HG@?H($?&(*W"'@-E6$_ +MET5$EW@?@`(R6'E/6(3)F(2I%Q',V(3'.&=3N(7=^(WAN%PWMW-E&'0#X`(H +M(``HP(MU>(?=%W[10GX#H``K>*^SAJK19Q91AV&?444*,QUB-3=B,R[B$UQB%\R2.97F6 +M:5E;NU>*SR)\9WB21^`")*!\<[B3M541`L!]1T`1&`&0"X!^':&0Y[=;13E_ +M%3D`C)B:[<"1EQA;FAAV*[EQ*UF!!3B3'T"3-;ET44*88_F3@Y=F)P`A5G=U +M7]>*'W>#7YF,T?B,5[F#ZUEGV[B6_?F?5_B%0N968 +MW3>9XU>2N95XHYASB9BB%9J4'YF):6*2O]E;?WF<1;J<.5FD(QB+-REQ(_D@ +M+B`1Y!F53UB5\?F,\5F-Q[B?`3JG=;IPYWA\_NNXH!NWER/@`GJ9`LH7AW-8 +M=0,`HA^@`!KWA_U7?O%@`BB`H=.BG:NYFI68?R^@J[MZHSF:F\FWD@7"DKLU +MI!/:@5$BH37YBM4YBU7ZCA=AKN?Z@E^:GNM9ID>8ID.8E=<8IWW596RU:=/%:>"/YG=_9I5D6KU]9K^^YMWV[K^WY +MA`%[L(F[N+DWM]-BB<47+=+WBT-WG"-@CP%X<27@D+]5E+&;JC5[>!_`B(]8 +M(+8:?+U87+?Y=4];_K3)%YR_-:0EP#)<>R8,]ZU3FK;EFJX7P:Z1.U'V^;?1 +M>'JEU[]I&L#_FJ"-N\`-_&![&BT\=[E[EW/;&KI)%W5GU[JO.[N1%WFK.K6O +M.J/_EXA'^UM7NIO16\//6A%&8*U'&B5^5[YG):X#P+;A^:[S9+]I7'*'^\!Q +M/,?IM;!A>(M9A',I`(=#MZHGX'UGM[HIW%L9]\(C@,FIFL2OVL(_/%Q#_+(% +MXK*A?%N)>75+5Y/A>\5E>[[9.;HUNZI18KSG><9K?,WK]L9U_,WA7%T%&GP) +MG$5RN*O?%W7/XLX%5K0'.%U%&WP)6-`=5UP301$20=!5O%LE&)1]?&YU_IO- +M)7UHW3S.+?W2P77./1G3Z[71UYG!L06F)WW483E1./W443W3\]NM4_U>4;K% +M?QK2U9S4:;UHZ[S5<;W5-?W6Y7W>Z;W>[?W>U=U60V3?^;W?_?W?`3[@!7[@";[@#?[@$3[A +M%7[A&;[A'?[A(3[B)7[B*;[B+?[B,;[B054N.+[C/?[C03[D17[D2;[D3?[D +M43[E57[E6;[E7?[E83[F97[F:;[F;?[F<3[GB'5^YWD^YB.IYX$^Z(5^Z(F^ +MZ(W^Z)$^Z95^Z9F^Z6G^YYT^ZJ5^ZJF^ZJW^ZK$^Z[4>ZV4D1@K@Z\$^[,5^ +M[,F^[,W^[-$^[=5^[=F^[=W^[>$^[N5^[NF^[NW^[O$^[_5^[_F^[_W^[P$_ +?\.T^XPF_\`W_\!$_\15_\1F_\1W_\2$_\C$^(```.P`` +` +end --- acidlab-0.9.6b20.orig/html-doc/perform_analysis2_6025_image001.gif.uu +++ acidlab-0.9.6b20/html-doc/perform_analysis2_6025_image001.gif.uu @@ -0,0 +1,266 @@ +begin 644 perform_analysis2_6025_image001.gif +M1TE&.#EA@P+D`7<`,2'^&E-O9G1W87)E.B!-:6-R;W-O9G0@3V9F:6-E`"'Y +M!`$`````+`````""`N,!A(&!@8``````@(``@,#`P````/_,F8"`@/__`/\` +M_____P$"`P$"`P$"`P$"`P$"`P$"`P$"`P$"`P$"`P$"`P$"`P$"`P$"`P$" +M`P$"`P$"`P$"`P$"`P$"`P$"`P$"`P3_L,A)J[TXZ\V[_V`HCF1IGFBJKFSK +MOG`LSYUBWWBN[WSO_\"@<$@L&H_(I'+);#J?T*AT2JU:KSX)=LOM>K_@L'A, +M+IO/8RUZS6Z[W_"X?$ZWJNOXO'[/[_O_;7>`@X2%AH>(B6>"BHV.CY"1DG^, +MDY:7F)F:FT>5G)^@H:*C?9ZDIZBIJJM2IJROL+&RJJZSMK>XN8BUNKV^O\!H +MO,'$Q<;'3,/(R\S-S,K.T=+3L]#4U]C9G-;:W=[?A]S@X^3EKK7^CL +MR04WM>Y!$SCT\O$YP_CR1)7]X&U1IN^=EX`&B]R95S"*O7S_=`!LN,]&0&X3 +M(V912/%'1R$$_S\FI()P),B")8UH62AR1\8A*16T_#=SWTQQUNA!JVG22 +M/5A:C"=TJ$Q]:EB:6HFRJ=(*-B4BM4?AJ%%!3*7FP_I0J*NJ58\F?>B2[-.M +M4,/>(]K4ZM6V0*O\C*O5J%BW8^_BG6HW:M&\;@-#],L7,-7"+^'F7;P4L<7! +M7R'SW0L1\-:];(=F%DP7RMS.@RF+-CS9S=NT%[YBE+7M).+]1V8=%C5H24#1\ZY^69&P:5:SEI]M?.N +MQQ-3SUY<8/DG?\>KGZW]>>V^+V-K=JU7KEA=QUUU67$V("]V49;N%!9YN',+*%6GIO16=BB4>2\9D>GABH +MR4XM)IG$DE*>]*21(XH"9515(MEE.T[NPIP_!>+8B04'&8C=EUZRZ>:;N%`) +MYYQT&B)GG7CFR628>O;I)R%W_BGHH&GP2>BAB`9B:**,-AI&H(Y&*BE'DU9J +MZ:.+7JKIIC!ERNFGH'(9ZJBD6EGJJ:C6E>JJIT+*ZJM?N@KKK$?*2NNMY]F* +MZZZ=Z[+L,(4VS'QO03[$W'&/Q[@\<<@ARSRR"27 +M;/+)**>L\LHLM^SRRS#'+//,--=L\\QU:KLQQ`9O+!$!0`?/?M]]][PSVGNG(!;OCAB">N^.)F"PXGX20Q +M+OGDE%=NN=Z.OPGY_Q0%7.[YYZ"'+KK0F;NY>2NCIZ[ZZJR[73J;ISO4^NRT +MUV[[TJ_'VO4O^/!5%H^>\M!'+_W:S$OIO$_3 +M9Z_]]E%7G^3U)W(O_OCD!^U]K;N?4_[Z[$=_OHG6.E6W7G0'U?[]^/O^/HG2 +M)J7Q__UZF/WR1\`",DT"B=O?@=PU,)X])FP&&YL!)TC!H2$0<0HD$`/E)T`( +M!E""%0QA`2>00*Z)`2D9<"7#*'9\(YX[(`;^79&-&I. +MC8&PHP$&2O*3 +MH`RE*$>I2$I64FV7Q"`5(\%)4KKRE;",Y2=->`M:/GEJSWOVLZHUU:E'@2K)=\[3HP_U9U"% +M:M&-4E6H$(TH0(OJ-)*6-)G9S+.>E;,X_2AHS3K8 +MAII6L&2-:4_5N5C&KI6<<`4#"BNB0B;:-0.K?:1:^?K0K0;VM+T%+E`ZHLQ2M8XWG/PKISNG6[C%1K1W>+5?.JM;4";:QC32K;R5:7LMB524)_Z\W^^E>O\)6:6W$)QC)P +M,*5-7:E^MP,<-0&#-L"2^*<$,ZPAOLIX:=1N,)IU.5^-TSB#;^V +MPY?]\%LMS,H1E_C%#CXQBE6\XA!?V,4D[BB,GREC"=.XQG\4,8-WW&`B`Q/% +M2CLJZ*(+E(,B`Z=M% +M+WHWK>I*=YIHD(YT;..:102W:!ZEWN:ITYOHO"KWN!#FA4I4UM\(KYU7:4[^A"/9+(TM:Z7^,!I8U,[EX*6YC$+K:- +M3QJEVEYWV=D-<[GG_=X5-Q"V]!R[+YQK\X`BO@+X- +M,EVS.%790+RKO`E.<5+:NY+XSK>D#U+7?]LVXLQV=L5'GEYL9USCLSYI"VOM +M]:^'0^QH[WK0@Q+U +MMM=0W$TW,-K#_FG:,2_NQ<@0WM,P=K?[?04S)GOK[GY-N(-YXD9/_-&Y+/C! +M;\2@AK_QSA5/\8M#4>TH%W?A.23Y(5.^Z)8?(N8S[Y+-JTJV\6+Y1&YBP<\K +M/O0BK+OM".^0N;:G?B"'^ZUWOVQX[=WVHFJ'==T=[I=/OM(B=[UB6SMZTDMD +M"`(P57=L&S$U=?SCR;Y1?K&@=Z=W$-P<,[[G89Q\Y<.^@LUW/O!]((#V(Z@R +M/8Q@]FV??>R_6V,HW%D:(G]"_W_77X#%]S/'1V735E-W5F709E-5YD^IEH#1 +M9FV'AFK+5U2R=SNT]P/MEX%,55W_)Q@"DR'@!X"2A1?%]WO8I3.217SAAQ86 +MP$VB54J'96<3=6>^YDZ,=FEHQE[$!5I_UX,^N`(7V`,9.(0>P8%T]1O?IGG^ +M]R/WUX$B:(+PAH+7I8(B*(#:M6MZ]EN_]H)AI6.$U6M<"%2*EEJJM5E7%5KG +M9T#IIV[/!P1#&'U%6##Y5WJ%D7OW55D`=X1/N'U7T'TJYW'?!W$M04F6!E-2 +M)D]U!FQ[Y6Q?2(-AN&H])7)^98`4]4]LUGBS]WANZ'X;*%A>6U5M"8B-,`B!-Y5IZ[6/Y%B._M@KZCB0 +MTDB&RC=P%]D^:PAB;:B1`ND(!.F1'TEO(;D^%1@\02A=&XF2';F2,=>24<2/ +M%JB)D#63DU:3-CER.#D^(TE@I0=Y)_F3`QB4+S:4W/.2QQ/_DTWFDXJ0DN2W +MD*[GE-M3E$99DCV9E%4)E$W)E*6$;CKY.U(9:%0Y=&(Y9[6H6POHD->(@*YV +M;V>I/SPIDV`Y$*EG:_(B;FU9:*M5?K98@[>X9W:IE4B5ER>R?BC%[;1 +M>XYYBJ?'<7KX?S\TB(%I:I%(B64F6(>99LNDF-$#E&<7>)EHRI`ZWIFAY! +M(_'7;[G'FQWW0'.HA[1VF6`R@M0);[Z)>%&FDK`X5(@X7M48;,AIFHMICC[0 +MG*RY@7((@',SA1GIA%4H(Z8(D-.I_Y^`V)VV*7![UFK?58W&Q6KA%6P_F*`* +M2@*JB0/NF0#P>8>[Z6_8F81BXS`J*#!5M)>ZZ6Z;J47@66D":E-@F(/'A97U +MMD=@,/&J')-G\`M!)V&*,G6)OZ=W_9&7R8V9\AV)M6&6,%F5[2-I?6 +M9FAU648KRJ++N9KNV8FE2'UD'TD*)T;JIWGV)>K.*6M^)MD.6_J>3Q+ +M&D=-VC#$2%G&"!;(Z'M>RHK,J*.A.!"Y>79+&:;'249E:J;L2:?=4J=VTIEX +M2F1C^CNH*3TM6GO!X(#BIA<=*B(>J;[!JB%$*2/6FZ%:CN2.JE]JI=: +M&I:.FJE)^O]$>RHYB8ISE@HH@DJJ.;9%IXJJE,IPJSH(F.JJ.[:IM!.K3/JI +M4\FA=BI5"SJL''!YR>D^LZJJP!JH<^=&O-JK&?F5HC^65**$J6WVJJSRJKV,M/EPVN>=W#>N))&$@!B` +M012BN)I3[)IM`PNNR7H#"?M^5Q&=NSF=_@IQUEFA$MN'%.L0\()LM0F8K>JJ +M'QM[[NJI\-H#"-"S]6"$K"BG,@JQ]H=2_M-O`,FH^MJO#PL@&+#_L1&IKE([ +MM7<4K@K0LR,;AQ(:(!3Z;\]7BB,HLY2YH_*QM)EYG_\*:U#;4!W;J>,3KECK +MLUIKH_C:0/&IA"NHHQEZE'_(H[IYMO[)F35+JC=+006+D7SK`W&;M>88I0P[ +MI9KXH6#CN"UK!R^+'N6JBK6&KAH+EP=)6-46L.+):@SX7MUZN(CKE0B[N(Q[ +ME&"+H6RJ4K@W%7"ZLL68M)?+!P#K@M989J*[:(AU@[=8N".$NNNYLY;[I_MJ +MJVH+;"0ZC<1)NF685Y%(O<:Y>&F7L]ICM8VYJ+F[![OKO-Y5GEY8B46*AL!5 +MO=!+NM5JO*DKK]WVO4S2O+W+6_%(G/A[_V@+J%J69J"&V*QNNS[S\!+,`A>W7R"S#T2YK%*8-;>+^!-672ZXUS +MY[Z6,\#F4,`T69,+2;Z@>Z0C.KTZV%?=-8G9.\&@=L'JH,)*R8YKB[TFI[WB +M@\+)DL%X$+X`[@I +M6Z,;#$MT"9);]\9PC+S)!%52FJ:=F(>./+1--:<36\85ZZ%62K-3/(,DU\;9 +M8\B'G+@],``*(/_*HER$=G.W0HNR9UNE4WB=IOB,T\J7,BNYG-MLT/26XO7" +M#&FD%A?$8?RV%SP`PORS1V@:'UB?:*NFAE&"N$G)_&K)36NE.?K*ENFW>^S'JUS0S!;/GCO(">R( +M)EIGOPO$`>;)2Q:RI#S*C7S*>=BP[$G+'42YDNRRSHRY9ZRYSIBQMDS-25R/ +M%-E9)8I/2*?1G_/$INP=8;MR9J+,;QK4/M2,>NRGL1RL:VS-HXO+(2S_41!I +MTX'WRQ;,SXKZ"U%,K9GLO$IMCX_H4A?-L1U6P9(CU56CTSO$GX"2P*:TKK;UC_LV(8ZV'HCV9.-R&1\U/")UO#\TH"-T0%5 +MV(BCVFISV-VPUZ_9TGZ-V6NKV;<#V>W*V5?CVMH`VW$XM+/-V(]JV[6#VWW' +MR;R=#;Z]$30*!W_MQ<1]U\:=KOJ" +MV[%F--VLC3DA&P`*'@#$#'*+;,X[7;3V%1W>@MW:B0X/;I]`2N`%/M]H<^`( +M3M4+ON"-7(=10I]\J^'5.=0,W#Z1](NS>&;'=_-!N(A#MHW,.(* +M7N)V.QO'G.+)G(S+C*4NKM"1J1,SF\ZO[-Y0'N52WG:IZN,,_ISB'+,G6\Y@ +M.Z]B>[+>9]GQ:M"77,LVSJFXK>-\4^4^_M%/'N3`7'#--U`$ZXCWN`@G>$2>]!%?AUU'N8O;L;BK'JU6]I\WCIJWC;AO6U9 +M[+`\[>4^W::S"YEXC/_.E6O42H[54ZZN;^3GTU3I7D?9Z.&]8EZR<3!&7WW: +MO(3C2P/9K+YV/%XFI`T(%JX;_$%J$&WK47;CG[/KO#[>VMKH=#CJ)Y34QEZJ +MNZKJ5Z/LRZZZY%WJ/]NUBVW:TYZGU6[M58/MV0Z_E1KK:.+B_3FV_W3A69,:-/=]7_\OR^FP!41GSXX#_ +M[^@>SO2'QK)M60JIOPGYN?)HC^\(3^,[S]8KGB@OO+ZU\JIS\:[U\DQC[]/` +M]/T-$Q*SA#0N<2!/\B#\D.&(:@DOPI!(AD@Z]3G_@F*?.B9,]I_-[,ET-TXB +M)(.XIG6\WN>:1?R-L4W:#S2O$'+>T`@=;W$_T;TK5G0_GJ%97@RLD@Y\H(9I +MPZL3^&;_-&A?6;/)^H_+R!'>Y(%8MJ(>^?8R^1IAHY:_X8C7CG%_SW3F^35= +M6EY=7/)8F.!(\6/OOH+/I[V.Y[1K^@\(AE]]4.Z(M#-AX8[JV;SS7=[[W?R"OT"(6C4=D +M4KED$D;#9E0J?4*G5VQ62SB`3E5P6(P:H4P92LKB>9K=Y+=9O?Z:UF5[B9V/ +MKT!S."]!,,$0P[V]/$`4HAF9(,A(R4G*RANKKG2UE_A7=8^8MWBE5JWQ3=7E11$=+_RP5;U;_M[?!87:/Y^?VAIVT99 +M$ZBE2D&$G;H!R^=E#AYV[O]LF8ME[!B)8>'((#-648Y$8N,8`JOG\*+%ABD= +M+OO7TN5+(0D'$I09Y6!-G%,6&E+9L%[)63V%X@,JTAS1DT6'WK/B""80#$^E +M0LVI*5O5)%>Q;CVR4^-2I/,QK1Q['\_''FH(T@/,/T\:TRR-A(I3'@*V=,X67)IAYP_!BWT +MU"2[6U0;`QDU;S2P`D4O'%G/66=64E_!I;U;%41-!/5$_Q7'5O1:0_785(4# +M$:=67440UD?[]$66377%:!9=>ODSCHAVF7;47ME+Q<2R0!JUVW'$0';=_\1P +M]UUXXY5W7GKKM?=>?//5=UXM]X5T%59J%3660/J@EJ>#S>648'`;+NI3/G/5 +M`]#B&)&/78Q=.C2G5:=IUME734DJWXW@H?9@C?X%M-.)O3%Y7(L`=EA7<5,[ +M[J%=N:UX`E,S]MF9C6OJ>*8J00[-T:'D.3FM0&4].5137H[T7)J%K1E84"$] +M1TR.?NKY9[`I"7K.91'ZV.B0O2DWY881IA5EJ7^BN>UWPK4:6IOS-.SKL/M. +MD[.AL0D<;8&03FXLJ75.]^F8V__(**1D/$KGVYB9^TMM7O4FJA%_._?\<]!! +M![QH9LLF/.VIO\0[=#8]NIV9YYSG:??GSAL2:_U(O] +M5K^2L04GW>SNP0?2^?/K-VI,^RTVQ_!FK?PND +MBDP`*(KD#9`:!33@]!!H/P4R4(,[$.`FWG>["$J0&_2KH`4+4\(+\&U"4-J@ +M#SJHO`^R*H0B'`4%40B\"]8O@ZAB80LY"+\8>F^&-*PA"6^(PQ/>S'*:8N(2 +M6]3#^O#_)S/7N4\49<,F-V51BFB*A'VVR,4ITD91#_3@$(DH"AL>47,YU-/` +MMD4L!>T0*A2R$&TJQ$(F.>DV3X*B%6>$H?O,1HS;,.,G"GG&4*21*;\BC#Q@ +MQJF=(4Z2,*N6"%C&-'(=SHW#4ACZS/0FR-C&/S7:8R"G0Y?J5+%)I<0.C*KX +M2BZ:LI6N)"5E"$G&+1P2D8DTXH/6PC"U0*Y72D$7'%%6,&0P,IBJL^2MBJF. +MUC!)1GKT(A7Q4TL__O&/JW0E*V/Y35KFATW8?&%G@AC`799'D?;(5N2X-JQV +ML"%AV/(6YN8YMW;"$Y])!%7.6F9,Q-D'FQ:*#8>R@\H8]8>*_]RLY9L>4TW\ +MN(F4="RE';5W48QF5*,97>:)D%5";W%^.Z<].6I)A33,7)IVSR7^F +M%!B*&:@7&Y.=<2+4FI=(Y37U.,MNPE*H!IU.0XNZ&R&6NI39KM:FN^^0%*&).XK,A,8Q4CR4B>ZLVME +M>BM4I(A%:VX(+CEMTQ<[*\NY\A1-8=3B0@.H5'.BMJ\$[.6*0$HUBKBM#F6- +M&ZR>2:IOV^2&!J +M>=796@C)[7Q5Y6T%Y?A>#1I7K^2U+QKQJT8\L?&`[@6P^@3,5QA"N,!^+1^" +MD?C8(_ZW4)AM\`^M(F$L+&_"1SNPA8VDX/%I^%2_!2]J11R%`,0X`"\>U#(_*)JF +MS$YFFG4=]%*'^`09)UK1-V9THS&<-6%Z=6Z"2M^$=NIG,&93E+*>CZ<+3=\O +MB[J(3DZ.I'%%B_5&-Y*4)/82#2LQ^K%73VV#+4"?N.%7<_#*<)6KF_]#A5OC +M.MNZ?A:O>])82:D%?R!)9KB=[4SI=379F4R:2M&MN#CN66/@%`)G@^Q0#M?: +MG.Z;,[=M[&W62*L6X!9W2'FB3Y0B.Y\QC1M5&,9USC +M&Y?7HCWU6K+B=F(<,2G3)`[=:2FVX>N&;,157596G]7B##S4D0VY_VU_V^6I +M_G(W;+5*M<*&]:,N@_GO&!M5959,V2E*^&V?/?,-2LGFVNYWSGGC\9H![.J_P3K>CF[/=.R3N;;= +M;2=S6W9D-G?:P5KNB$07(]/=VF0G-_"6`IYU#]=S +MJPOOM[K@KKZ*-UK=#P?PX%V8Y1F6]^>/%?JJ%S?VI"6\#2Z3>YDT"Z^S\'?#3T&T`+ +M="`RJL`.O#H,S$#>V4#2@"2U>PBV"T&RB;/18T%GB3\2#(SM>Y2QHIN=43\8 +MK(8'`L$=9,#R:PM?\Y7`4CIA^[6TK9O%3*S%P+H6 +M:)HM9FRV4!RV&HR6DI&<23LLKSE&]VL"4/-&PJG$DMO#7$D<M%UA/'WK"=%Y3'4<,^UUI">$/#R&LL3(.H%(=@+#B=0]D#Q#Y>/(XMH_\3/) +M;@O)&10K$]0AE1015E1)+L3'E@Q`DHQ`A93).J3).PS"F_1%WKM(ASR;_Y[T +MR9\,J$E(TQN,14SF!A3A:Q33I[ +ME^JDH>O$SI?23NUCP7CY3O`43[54(^Z<,.]$3_\B"D_U1+5XE$!W033XC,_Y +M/#'RC$W[%(-0R\_TW,\,5#?[#]W0<`#7%`):E`' +M18S?'#S[$P,+;2H,S=`V8L_WF\P/E9\0%5'`V%#NZSX3/5$45='\@M`&<5'C +MA-'*E-'E;!#G!,@5I+WQ4RO$LX4RKE5?%$A':`4)=)8H='H>;=S +M.T51*\:4;-*NA-+U8%&V4)E`S$%_"U(M/:XGY=)>,]+@)$R5:LU&Q%(WC5,Y +MG5-W.5,T;4XU-3C-#$8F"P,%+5,SO=/QS%-J1#;('+'MP4)`M2\[%53WX%%Y +MBM2!Y-/R\M!%9;)&=53_II#2+G5/2[W4&LM43?4H3@V62IU04`4S41W52R%1 +M1#I`*F'25-VE56553RE5(MDE2/S46<546^T27'TI1/(R7NU57_W5$PQ6L4(D +M5#564:M59'7*!:.A9G769XU6#576FY$@>+%6?X-6;,U)HF2>\_16;@/7<'U" +MG9R=;C77G$/7=%VF<<62)-,_^:I6=SW7>%U1;:442;U+@#W4`YE#_&S7?)T[ +M>$U7+_VES*Q2@2V/.2S7@U6\A`W7A5U#VA33.B'6]YS8$1$`T-Q7L[C87WH9 +M)-6?'Y%8C_U8`0!95Q39NHS-0ITX.JU9F[W9U6Q9G6W$BL56DOW2F>5%E%66 +M_XY=V0,!`YUU662$V7+IUTC14X<=3MY06:,-$8,E@*15VJ5E6AN$U"2TKFV, +MSH2`U8PLUJJU0GF9@@186[9]6:X50E>M"47-0ED]6ZJ[VE!@V[8EO[?%T_I, +M"(*]UQN=U7GA"KU=6[?M6Z)PVD?#B8@U6\K4VC@LW!]9VP+8VYI47+^]H?9< +M2#+]3IVE/JH]VGK1V\357%*-6QDJ6@N47(1HV7K!$GM1V[5%`,3E6]3=5-7M +MA'K!3Q8,7=ZMEZ15E=@M"`0(V=Q=W-T5W7M9+=<5B*PMV[2-@L--@/^AW-!` +M`.WUR^1E)\;MDE2\B<]UEN>-`N`]+7K1!K:U7>L-O__FS0M]V=[3[=Y!^%[> +M2:JC-(+R98+SE8+UO=V[Q5XC^-_V!2)\F5R,TP+M7>#YI5]*65Y"@]Q.V%\E +MJ%[:30#V!C=:?+<$]%=LF,.(X0V(CZ)P!QN#F.UZ$L.(>3@@>QN(? +M3EWT8M.'78+`E;W6C.(V5ML\+@@U-F'CY6$TILPL1M8M/D$YEEH8`^-[T5XH +MKN`]IMY'QN,KG@)`#N1MJ&3_NRV"0?[50M;00]:7!$@R!"A='J:7/A[E>BGE +M>:EDG&UE5U[*3;;53KZ]J,T]#3CE;\!E5*CD7^#E->1B8/;D^1/F8'[C^DVP +M0[9E"_#E4V#F%=7`8J9E8C;D:`9.8S[F!%L[_:KF9QYF:9[F;P[G7^;F:Q;7 +M;8P>)YG>[YG#`IB?-YG?NY2?>YG@`[H!Q5H +M@B[H]/MG@TYHA7Y4*0O6>G[@@4Y68(UHB:YHBS;HAXZ8C'Z;V]OH1)128/IE +MCRZIC@9IS@-:>07HD:;EE>[#<6YI=1W9F);IDUZ;FK;IE`:LF];IG-[GE;9F +MDU;F_SP4ZJ%&0L(@:E\B0L%$ZGRDT.68/LVJO&ZJHFS4T< +MT:A.X:\&:Z-FZ+$F:Z66YZFFZK`>#:W1SHH0Q:-N:YJ6ZY%UZ;/V7O,A3S%9 +MZR2RE*;-ZX).:[5^Z$C%+IJ>%,)VMWHN[)X>ZI1K[!5Y[,4&1 +M:CRU;=&^ZZ+F[=YVZM3;[=@FY.'VS5CT;3*<%-I.;KJV;+#]:]W.;=R6[N#V +MB=E&[MJ>[G[F;+UA[,G^Q,0&;\P6[[E^;FQL;N=^[8!3;O_L#C?TQNCB-K72 +M!NWEGM+01L3/5NW),VWI(FW'&6_$UFO%CN]1Y6ZPK.[-;6\XKF^Q5O#DGF^> +MSN\(O^^EAO`)9_!X-O`#Q_!6Y?`.=_`/A]#H3E.^OE4$A]L2QV8/=V<-/_"6 +MOFY^U6RN'FGU[MH5-_$;=XC5)G$0SW`"IT^)Y/&D0_$@YVJ@M&[8@6>1@G$A +MIPCF7'(9Q^O4:'&NI7+CCO*XYM201NF?WO+Q%BFH!G.;%O,Q=Z2%GNDQL^OO +M#D/^1O.C9G.W#0FF2IF\L +M_\A!QW-S-K']_O,DUVXD'_%)E_3_1^VJT7QT"Z=N==3J1(3N=&3TH73TX_YR +M\S[O4S^]]VXW]C;U&L_R5W^055?U5!?U1$^@`>=O3==O)J_P__;O_H[S8!?V +M76?U``?V8K?U6\>@3R=T"J]P"3?V:)?V9W_S:FN@9L/H]U +MY>7W?A=X9;?(##N#7A=,@@GO_?[NA3?UKWOR=4CX!$_V]>Y#AP<6><_=C9^_ +M'7?L:P':A>?RT@3V=-<[AC5S5J=TQQ[R@N]X8,[V+$\1@-]<$3]W7RI5Z)3I +M+2]OF._>_Y^'PG4'.QOO=I`4<7;/>79LO>"!F-(HO^FQ==MTU>AT_ +M^:@!Z9"/\:7'.ZC/\R?K(F'A;.W#X'Q;`7>QR#]W=F24$7 +MP/7&>44OK:/4L$/_`5'?-4)$Y$?]79C_)1W?$V2?,4/ +M^I?7^[O'>FBI\Z\_.+K77,N_?'(V='`69\7'^],?_;/?=D/ +M?=FO??JE?=O/?=#_?-WO?9'%?=\/_G@%?N$O?N(V?N2W=>)/?N9'T^5O?NB7 +MT>>/?NHGT.FO?NS'SNO/?NZWS.WO?O#_RN\/?_*?P?'G^)Z/>O\;Q"J[QKWR +MSS#>_^''OOHF5SOU?_^YCW\4[N_+?H^3Z#D(*+*H6B?%]F:J)`=^V!1Z&YJJ +M*]NZ+QS+,UW;-Y[K.S_V/S`H'!)S)9`(Z4EV.#Z?:,-\2IO0I?4Y+7*[WB\X +M+`9&Q^8S.JU26I7.JY.4M4S+<>Q($V7:U?X_8*#@3]^@X2$B"IM6&U[=R5O5 +MG:(G)Z'FI^@HU^,D(ZHIY2G=B9LJ*A7I+&UM8J%MKJ[+%DDL +MVUZ);.M6JS$?GG'F+G.S,Q'NL_0T=;7U-?9E]C9WM_[O[.WS8>CQ]O?T]/F;^/G^_?_>\?P*)!Q(L:"B@P80*%S($U?`AQ(@292"< +M:/$BQGP5,W+LZ)'0"_0,!(0`"$0$#$0'_Q`&B```! +M!0$!`0$!`0```````````0(#!`4&!P@)"@L!``,!`0$!`0$!`0$````````! +M`@,$!08'"`D*"Q```@$#`P($`P4%!`0```%]`0(#``01!1(A,4$&$U%A!R)Q +M%#*!D:$((T*QP152T?`D,V)R@@D*%A<8&1HE)B7J#A(6&AXB)BI*3E)66EYB9FJ*C +MI*6FIZBIJK*SM+6VM[BYNL+#Q,7&Q\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ +M\O/T]?;W^/GZ$0`"`0($!`,$!P4$!``!`G<``0(#$00%(3$&$D%1!V%Q$R(R +M@0@40I&AL<$)(S-2\!5B7J"@X2%AH>(B8J2DY25EI>8F9JB +MHZ2EIJ>HJ:JRL[2UMK>XN;K"P\3%QL?(RKR +M\_3U]O?X^?K_V@`,`P$``A$#$0`_`/UL\2>)/C1KW[:'BKX<_#GQ5\+_``?H +MG@_P5X7\23S^)/!6H^(;J_NM6OMN?_`#64?\(Y^U-_ +MT63]G_\`\,WKG_S64`'_``CG[4W_`$63]G__`,,WKG_S64?\(Y^U-_T63]G_ +M`/\`#-ZY_P#-90`?\(Y^U-_T63]G_P#\,WKG_P`UE'_".?M3?]%D_9__`/#- +MZY_\UE`!_P`(Y^U-_P!%D_9__P##-ZY_\UE'_".?M3?]%D_9_P#_``S>N?\` +MS64`'_".?M3?]%D_9_\`_#-ZY_\`-91_PCG[4W_19/V?_P#PS>N?_-90`?\` +M".?M3?\`19/V?_\`PS>N?_-91_PCG[4W_19/V?\`_P`,WKG_`,UE`!_PCG[4 +MW_19/V?_`/PS>N?_`#64?\(Y^U-_T63]G_\`\,WKG_S64`'_``CG[4W_`$63 +M]G__`,,WKG_S64?\(Y^U-_T63]G_`/\`#-ZY_P#-90`?\(Y^U-_T63]G_P#\ +M,WKG_P`UE'_".?M3?]%D_9__`/#-ZY_\UE`!_P`(Y^U-_P!%D_9__P##-ZY_ +M\UE'_".?M3?]%D_9_P#_``S>N?\`S64`'_".?M3?]%D_9_\`_#-ZY_\`-91_ +MPCG[4W_19/V?_P#PS>N?_-90`?\`".?M3?\`19/V?_\`PS>N?_-91_PCG[4W +M_19/V?\`_P`,WKG_`,UE`!_PCG[4W_19/V?_`/PS>N?_`#64?\(Y^U-_T63] +MG_\`\,WKG_S64`'_``CG[4W_`$63]G__`,,WKG_S64?\(Y^U-_T63]G_`/\` +M#-ZY_P#-90`?\(Y^U-_T63]G_P#\,WKG_P`UE'_".?M3?]%D_9__`/#-ZY_\ +MUE`!_P`(Y^U-_P!%D_9__P##-ZY_\UE'PS\4?%/_`(:G^(WPS^)>O?#_`,4? +M\(OX5\)^)]-U+PQX6OO#_P#R%;O7;2:">&YU._\`,V?V+$ZNKQ_ZUP5.`:`/ +MH"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`** +M`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@#Y_\.?\`*4WXR?\` +M9*OAI_Z=_&=>(?LF?M#^)M>_X(0Z#^TC\:-5U#Q?K>B^'_%_B3Q%=V&GV5M= +M7]II.H:D`D-O"(+82BULTC4?NU9@"S`EFH`\OM/^"C6L:?\`LG>-/BYXV_9K +M^(&A^&-$^'^C>-]#U.P&L-HFL7&I7EO80Z3-J6J:1IT:7(EO[&8RV2ZA;O;F +MYEBDE,(CET/&'_!0+Q#\.?B9\3OA[XU^"&G_`/"P?`GC7X>>!-/M?#?BZ_UO +M3-8U#Q7:76H0R/*FBI?I%;VMD^4MK"[GFF9(HX3G?0!T&G?MK?$K6OB9\%_A +M[9_LUZAX:^(/Q?\`$'CK0H+7QQKVK>%],2/PY:6VH+J%I+<:&;^YL;RUNAY; +MRV%K(DT4D3Q_*7'E^K_\%$-=^)G[)UW>?`_X>?V%XVU#X`>+OC%?ZAXDUZ*W +MA\(PZ7>7.BG[`D=C=KJMRFH6EU+''<1V<4D44!=D:9XX0#[_`/V>O%.N^./V +M!?@=XU\4WW]J>)O&'P_\,ZWJ]YY,4'VN_N].MY[B7RXE6--\LCMM1549P``` +M*]@H`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`*^?_#G_`"E-^,G_ +M`&2KX:?^G?QG0!]`44`>'ZM^TU^S;H'BK4M"UW]H/X'Z+K>BWA__)-`!_PUC^RQ +M_P!'+?L__P#AP]#_`/DFC_AK']EC_HY;]G__`,.'H?\`\DT`'_#6/[+'_1RW +M[/\`_P"'#T/_`.2:/^&L?V6/^CEOV?\`_P`.'H?_`,DT`'_#6/[+'_1RW[/_ +M`/XA__`"30`?\`#6/[+'_1RW[/_P#X +MA_P#R30!H:3^TU^S;KWBK3-"T+]H/X'ZUK>M7 +M<-AI^GV'CK1[FZO[J9Q'###"EP7DE=V5%1069B``2:]PH`**`"B@`HH`\_\` +M'7Q8^%?PO_LK_A9?Q+^'_P`._P"W//\`[-_X2?Q#8Z1_:'D[/.\C[3(GF^7Y +ML6[;G;YB9QN&?/\`_AK']EC_`*.6_9__`/#AZ'_\DT`'_#6/[+'_`$A_P#R30`?\-8_LL?]'+?L_P#_`(A_\`R30`?\-8_LL?]'+?L_\`_AP]#_\` +MDFC_`(:Q_98_Z.6_9_\`_#AZ'_\`)-`!_P`-8_LL?]'+?L__`/AP]#_^2:/^ +M&L?V6/\`HY;]G_\`\.'H?_R30`?\-8_LL?\`1RW[/_\`X%OVA/@%XX\=V'A;P3\1MJG"HS'`!->P4`%%`!10`44`%%`!10`44`%%`! +M10`44`%%`'S_`.'/^4IOQD_[)5\-/_3OXSK/\!_LF?`WX:^%;7PYX0T'QA:> +M#;2TU"P'A*_\?^*-5\+S6E\DR7<,VB7E_+I\\4HN9V9)8&4O(7QOPP`.0UC] +MB+X$R_`GQCX.\.^&OL=SXI\*Z?X,CU#Q/J.J>,/[/T&PN!=VFE0+JEW+-:Z: +M)D4M!8364@PDD$]K(=0^*_B+XH^(/"WB#[ +M8EYKVGR>&[KP[`T6EW&FZA=:M?:U!?(TUR6NO[3+>7(L$:PPJR2`'M_AC]EO +MX$^#_'?@;Q3X?\"_9/$WPZU7Q+KNC:O-K6J7=^^J^((Q#K%Y?7$]P\FI7-S$ +MB1F:]:=U6.-4*!%`X]?V(/V8X?AGH/A#3_AWJ&B:)X<\/ZOX3MAH_B_Q#IEU +M=:!J=V]]?:9>W=M>QW%_8R74DLOV>[DFB1I)-BJ'8$`^D/"?A;0?`WPL\,^" +M?"UA_9?ACP?I5EHFD6?G2S_9+"TA2"WB\R5FD?9%&B[G9F.,DDY-=!0`44`% +M%`!10`44`%%`!10`44`%%`!10`44`%%`!10`5\_^'/\`E*;\9/\`LE7PT_\` +M3OXSH`^@**`/G_\`9I_Y-U\1_P#95?BQ_P"IOKM?0%`!7A_PT^._A[XM?&7X +ME^%_!GAGQA=Z)\*?$%_X1UGQ=<1V%OHTOB*Q%L;S3H(FNO[0>6(W0!E:S2W8 +MPR[)G'EF0`]PHH`**`"B@`HH`X^3Q_X,B^/ME\+&\0Z>?B#?>'[GQ5%H2,7N +MET:"YAM'NY`H(BB-Q&/VB?B!9_#CPW:S6-BM_9: +MK&]&2[T#2I/M+V\I>9YHY[J*()YYELH+F.2)T,+3,=H +M^[_"WQ5^''C3]G&P^+WAKQIX?U#X9:AI4NMIXD:Z6WL(+")6:>6X>7;]G\CR +MY5F68(T+12)($9&``/C#P;^UA\$OC?\`\%LO!G@SX4^(]0\;R>!?AKX\T[4] +M9TO2+N?1A>W6K:`RQ)>+&4,2IHT[?:SBTD-Q:)#/-).L=?H?0`44`%>/_&?X +MU>%?@?X$\,:OXCT_Q!KFH>./%>D>"?#.B:)!!)?Z[KNI2%+:UB>XEAM8)_"U]X@_Y!5WH5I# +M!!#;:G8>7O\`[:E=G9Y/]4@"C)-`!_PCG[4W_19/V?\`_P`,WKG_`,UE'_". +M?M3?]%D_9_\`_#-ZY_\`-90`?\(Y^U-_T63]G_\`\,WKG_S65H?!?Q9X^U[6 +M_C!X:^(NH^#]:UOX8^-8?#<&I>&]#NM%M+^TFT#1]85WM+B^O7257U:6(D3E +M66-#M4DB@#W"B@`HH`**`"B@`HH`*^7[;7_C[XX_:`^,^D>"?&_P?\'^&/AG +MXKL?#%G;ZW\/=5UV_N_,\/Z/K$D\MS#KUE&/WNK/&J+`,+$I+,2:`-73_#_[ +M6LFA64FJ?%O]G2SU-X(FN[>U^$FO7,$$Y4>8D*(VD16R%=HXRP`)12=H- +M/\/_`+6LFA64FJ?%O]G2SU-X(FN[>U^$FO7,$$Y4>8D*(VD16R%=HXRP` +M)12=HR@ZGN\R2TUL[V>FBT5UOKILM-=.ZO3P:]K["I.5II4[PC'FI^]>4[5) +M+D7.:?X?\`VM9-"LI-4^+?[.EGJ;P1-=V]K\)->N8()RH\ +MQ(YF\41M(BMD*[1QE@`2BD[1W?P0\:ZK\2OV+_A#\1==M]/M-;\?>"M`\2:A +M!8(\=I#=7UC#=2I"KN[K$'E8*&=F"@`LQY-4^9Q3FDG;5)W5_)V5UYV7HC#$ +MQHQK3CAY.5--\KE%1DXWTBD]SU"OD_PE^U3I7C3]D?5/B= +MHW@[4(KM/$'A;PWI6DWM^D4=Y=>*(M%N/#[W%RB.;>)K?Q-I!O2D4[6L@O4A +M6_6&*2YLP/0(_B?XRT;6_A=H/CSX=Z?X=\1?$+QK=^$)?[,\2C5-,ACBT#4M +M=2^L[AK:">XB8:9]C>.XMK.1)C.5$D,<4MSY_P#`O]HGQE\3O%7@+3O&WPGT +M_P`!V?Q9^&L'Q0\':GH_BX>(+2\TX/9+>65ZLMG93VE]`-7TI\)%/!(MQ)MG +MW0LI`/K"B@`HH`**`"OG_P`.?\I3?C)_V2KX:?\`IW\9T`?0%%`'S_\`LT_\ +MFZ^(_P#LJOQ8_P#4WUVO`/VG_A-_PM#_`(*P_L-_V_\`#3_A8GPRT/\`X69_ +MPE?]H>'O[7T'3_.T>V^P_P!H>9&]O%YES$OD^=C=)&-F67@`^0/#_P`%?BG< +M?\%/]:UCQ3HWQ`T;QM;_`+55SXRTCQ'I7PLOM2U6^\"+:+]GAN?'TK0O!LS74=\+;PY)=WTVF>&_.: +MZD1+];4[+HM+`BR+)-G_`+1'[/\`X^U3]O/X^:7I_A/QAX>T35+3X2V'P2UC +MPA\([KQ7J?ABTTS8DD/AC68M1L=,\(16U_%+)=)=W%LK0R&5`@*O*`'[47P4 +M^)6L_&7_`(*0_$'PK\./B??^,H[OX):C\+-3T;3-6:2YU"S%FM]?:*L`V3WU +MFDTCENHUDB2XG63V_P`=_#_3F_X*K_M*^(/C?\"/B_\`%_3_`!1_ +MPJK_`(4M>^%-#U&\O]*^QB1;W^RO$-O+!#X:\C5#]JN/.U#3MR[YCYB2`R`' +MD'A_X*_%.X_X*?ZUK'BG1OB!HWC:W_:JN?&6D>(]*^%E]J6JWW@1;1?L\-SX +M[EU*VTZV\-OIF^S?2T,]S&X6(6\K$VR_L=\0M,N-:^`7CC1K.3QA#=ZMX?U. +MS@D\)W]O8:^DDMM(BG3+JX>.""^!8&"65TC278SLJ@D`'\^.E_`SXA:)^R=\ +M3=1\.?"[_A'=0_9Y^'_A/XH^"OBSJW@G7OAE?IKOAZ\EU%K#7O#$^_2M;UNW +ML'U>WCU"**\C"B(7%W*][NB[`_#K5?CW\/8/VQ8;'QAKVJ?&CXP>*/$.@6UU +M\.W\>^$;CPOHUE/H_AS2/&OABP\R>&51:7]I#J>FVM^]LM[,TDOGS021`'8> +M`?@1\4[7XI^%_'6F?LX^(/A#XV\:?L@>)O"GA$V,U]J-SX;^(\,US'IYDUBZ +MEENM$N7T9[6.U?4KF%K6W=-,6(?$B-]L@>\M=/,#I<+B6)Y5A +ME`.?_P"&5=8/^M^"_P`0+G?^P!Y=S]HTK6)_[1^(Z_ZC3[S?G[7J5MMM_LMA +M/YC6OV+3_L\,/V&T\C]GOV>O^$I_X8%^!W_"=?\`"0?\)M_PK_PS_P`)#_;O +MG_VK_:O]G6_VO[9Y_P"^^T^=YGF^;\^_=N^;-`'D'[-KCX@?#N+2[_`%>P:ZAAOY/%&F1V#@@LL/E:@]E.[R072M%#-%Y#-*KQ +M^/\`P$^&G_!2WP_^UCX4U?\`:!_:$^#_`(X^$5G]N_M[1-$TVVAO[W=9SI:^ +M4Z:':L-EVUM(V)T^5&'S?<8`_(#2/"O[5=]_P2V_8&U+P3\3_A_I7PRU7XJZ +M?I/@31YM*$=_H7Q!?Q%K_P!DU*^E>VN?M-LF')*LL>UHXS92-&T\W[O_``A\ +M&_MDZ-^P+\3_``]\8OBQ\/\`Q7^T'JO]M?\`"#^)]*LX8]*T;S=.BBTS[3&N +MF0*WE:@LTSYM9LHR@^8/W:@'R?I/PG_X+$Z;XJTS4+S]IK]F_7K.PNX;B?3+ +M_2D2TU&-'#-!,UOX>BG$4@!1C%+'(%8['1L,/);^%5CDMV9[B(!B +M<&,`\_\`V6/V@?V*?!?_``14^%WA+6?BS\']/\/Z?\/V7Q=X4UO6X;B_GOY8 +MI)=?MY=(NF:[N//O9+[;;I"ZS+*JP(\3Q`_@C<>&OVP/$O\`P31NM2\&:)\; +MW_8ST_Q!K\:UCL8KM+ID%O/+,K` +M'Z/_`/!+#4?&6I?M<>`+6W^+/P/\2>#='^&OBLR>%_#'A4:;K.A2-)X6CNEU +M/98Z<[WTSKI(_M*4ZG'<#3;V))&?,\?]!U`!10!^"/A3]G;Q]H7_``;_`'[- +M%GI7P;U#PYXQE^,&BZM\9--NO`%U>ZGK/A>RU[5_(.OZ#`(=0UZQMS/I\WV' +M#N80KH(T7S4Z#4/V;=5U3]F#X#6.]$;]LJWUR+3=8^$[^'[3PQX"O +MI9/[6@LM!ENKZXTKPM+=6_G>3>BTW*T;S6X!CEE`-#P_\%?BG'O#=Q>W6 +MI'?`ML;RXEM+99)+5BCW"1L8>O\`B[\%_C1IWP]_X*B?#_X/>#_B?:^'?$=I +M\,;_`,&6EI)J(C\4-]BA/BN:RN)GSJ=]=6]O*FH.KS7-[(?+F,\T@5P#H/CO +M\.-%\0_`(1?LT?L^_$_P!\/;?XZ_#W6/B'I^H>`-9M_"_BK1K:V*W5S;^`C- +M!>7UC;RMI?VZ[4WCVZN&G^RM/;_8'[#7@75?`?[,'CJSN_P#A,+;1->^) +M7B?7/#NFZWX)?P3::1IEQ+'^XT?09KZ[N-.T@W27"?%KZ=I=UJ$D7A+7M.LQ-!NFLYGMH-4NKK4ETZ +MVNI;G3MQ6[A`/3[S]H#Q]H_Q,@^%6M_#'P?#\:-:N]'30].L?'%U<^%[BTU" +MTUZ]CDNM7?28KNWE6'PGK0:./39UWFP`D(GF:T\@^)'[6/Q/U#]GCX[1_"_X +M:Z?I/BOX4_#76_$FL^)-0\40C3O#NIV%_P")M#O$LXFL9I-1EBOO#$UQ9":V +M@ANX-_VIM.=8X;@`^O\`Q1X^U7P1X5^&^I>*/#VGP1>*/$&C^&_$T]AJSW-I +MX8NM21K6T>%FMXYK^*369-.TU2(8&"WPN9%ABAE"^(0?&+XC^+_B+^R[XHT& +M'P_X8^$7Q=\5ZO:"+>VH:KXLTAM#\2ZEH]WN>*-=.MIK32M)U+RMKW1>^^SR +MFU^QRK?`&_\`'SQ3\0+/XI_#WP3X"OOB!'-X@TKQ!K=Y9_#Z'PR?%5PFGS:9 +M`DJ2>)E_LA=-C.ILMRI87K33:>8`T*7A7`UOQQX[\.&WA?[-:_5_P"SKXU\3>/OV5=/UWQA;ZA; +M>(K#Q!XK\-W2:BEDFH%=&UV_TB)[X6+M9?;FBL8VN3:$6QG:4P*D)1%`/<*^ +M=/@]I]A)^U/^U1JDEE:/J=G\3K2UM[MH5,\$$W@GP@\T:28W*CM!`S*"`QBC +M)!*KB)TXS5I)-:/7NG=/Y-)KLS?#XFMAYN=";A)J4;Q;3Y9Q<)1NK:2BW&2V +M<6T]&T>Z65E]H_LG6-8TG2+;Q-;6#6\DEN_VK[#Y_E/22W?[5]A\_RGN8(+EXHY&A:6"(D +ME(_,\F)F12H"X1HWMSTXZVE+K[RY;?95[6TD[-)K:P:WDDMW +M^U?8?/\`*>Y@@N7BCD:%I8(B24C\SR8F9%*@+XM^R=_RBR_9I_[)5X-_]-%K +M6M*%ES.*4I6E7 +MB_9[];<%U5+E[22=(97\Q(I6CE>*X1&AD\/U#]E/1;?Q!XFU#PEXU\864GB: +MT\*3R?\`"6:UK/C*2#6?"VM?V[H$Z7&I7[W"V(NI;I+RR651<1O'Y$MA(LLM +MQJ<)V&D_"/QW-WN(?"]KI%@UM=Z/JVCP:38 +MVT4C26]M;Q:LD@EN9[VXD:&0/(1*OD\?\"_V=O&7PP\5>`M0\;?%?3_'EG\) +M?AK!\+_!VF:/X1'A^TL].+V37EY>M+>7L]W?3C2-*3*2P01K;R;8-TS,H!]8 +M44`%%`!10`5\_P#AS_E*;\9/^R5?#3_T[^,Z`/H"B@#X@^"7[0GP"\#?##QC +MX6\:_'#X/^#_`!-I?Q5^*GVS2-;\9:5I]_:>9XSUJ:/S;>:=9$WQ21R+N495 +MU8<$&O7_`/AK']EC_HY;]G__`,.'H?\`\DT`'_#6/[+'_1RW[/\`_P"'#T/_ +M`.2:/^&L?V6/^CEOV?\`_P`.'H?_`,DT`'_#6/[+'_1RW[/_`/XA__`"30`?\`#6/[+'_1RW[/_P#X9+=M(^R*-%W.S,<9))R:`.@_X:Q_98_Z.6_9_ +M_P##AZ'_`/)-'_#6/[+'_1RW[/\`_P"'#T/_`.2:`#_AK']EC_HY;]G_`/\` +M#AZ'_P#)-'_#6/[+'_1RW[/_`/X'[%NK?&6+QW=?L_P#@^+6X +MKNTO%MK.>^LM&,EL(Q&ITB"=-/:(B)?,B-N8YB7,BN7/?"W[, +MGP/_`."Q'PP^+WB6P^#_`,)M6\8_#_X@M>>)-7FT_1(=1UM-3T!H[@/,T<)U +M)X=4UA7N$`N)HIIDD=XU`7W_`/X:Q_98_P"CEOV?_P#PX>A__)-`!_PUC^RQ +M_P!'+?L__P#AP]#_`/DFC_AK']EC_HY;]G__`,.'H?\`\DT`'_#6/[+'_1RW +M[/\`_P"'#T/_`.2:/^&L?V6/^CEOV?\`_P`.'H?_`,DT`9^K?MA_LH:+X5U+ +M6+S]I'X'S6>DVDUY/'8>--,O[IXXD+LL-K;S///*0I"Q1(\CMA45F(!Y^+]N +MG]CZ;4?!-JG[1'PO63Q]:2WFF,^KI'':QQP+<,NI2,`FE2E'`6*_-O(\@:)5 +M:160`&AX?_;6_9'\2_VU_9W[1OP?MO[`U6YT:Z_M7Q+::3YMQ!MWO;?;&B^U +MVQW#9=6_F6\G/ER/M..@_P"&L?V6/^CEOV?_`/PX>A__`"30`?\`#6/[+'_1 +MRW[/_P#XA_P#R30!YAXO^-WP7^)7[6G[*VA?# +MGXN_"_Q]K=I\2M4OY]/\-^*M.U6ZAM%\%>*(VF>&WE=UB#RQ(7(VAI$&-::1BRN+BSB;3XK=H+>:6"$Q1.R$`[#Q9\&OAWXV\5:CKVO:-J`\1:E:: +M59G6=,US4M)U.SCTU]0:T-G>6<\4]E*HUC5(GEMGBDEAO9X96DA8QUGP_`3X +M30>!/&'AJ/PI_P`2CX@>%5\%^)$;4[]YM:TCS-1F=;B6[DEEEDDPP`.PU;P'X9U[X!:E\,==M=0UKP;K7A^;POJ%M?ZK>W-U?Z9-; +M&TE2:^>4W7:C!9,VFH7<6V0,O[W:VMKNPNX9[>QE%E:2RV4+I;2SP1W#Q-./-H\6?! +MKX=^,?A[X.\*ZAHVH:+HGP]NX+SPS#X5US4O"TF@20V4^G1+:3:5/;2PQ+9W +M=Q;B)'$?ER%=N`,`'/ZK^SK\*M6T[PA;_P!G^,-$D\#6FJV>E7OA[QSXCT'4 +M#'J<\%UJ1NKW3[V&XOI;NZM(+F>6ZDFDFG5IG9I'=V]0\+>%M!\%^!+#PUX: +ML/[/TC3_`#61&FEN)IYI9&FGN+B>5FFN+F>:26>:XF=Y9I99)9'>1V8@'05\ +MT_"%-*_X;$_:?>73_,UM?B-$MI??V>[_`&:U/@OP7]HB^U!"D7F.+5O*+JTO +MD[E5Q`Q3*JH)563PM3DER5+OG5.\/9R] +MI'F;BGSPYHNZ!;7PN]:\1V>DW,$.N76FJ9Y(`UJ +M+KS+F&%+>%YY%MI&A7RA*8BR1E8#Y9:VEA9Z[H%M?"[UKQ'9Z33F +M]N_;%K:6%GKN@6U\+O6O$=GI-S!#KEUIJF>2`-:BZ\RYAA2WA>>1;:1H5\H2 +MF(LD96`^7Y#^R=_RBR_9I_[)5X-_]-%K6]"$8\R6KTNVK.3Y5J[))Z65TK:6 +MTM9>7FE>M6=.I.T:;4G3IQFYQI0=2H_9Q4ISG32FYR4*CYVI>T?-[13EZ!\4 +M=?\`%/A/X$ZYXI\':)_PDNK>&OLNJW&D1V<]Y>:KI5O<13:G;6%O"5:;4I=/ +M2[CLHRRH]VULLA$98U\P1>)M8^._[4_@[P_K&J>(-'^#?BC2OB#XB\*KX5\1 +M:QX9U'7;/1+OPOI=CJ5QJ&F744T]M<3:CKUU:>1.;2ZL+S3+AXVF53%N>4`\ +M3>._B#_P34_93\2:CJGB#Q#JWQ#TKPSJOC+1_#/B*U\)^)O'GVCPU!?@WX9\8:?X+\46=I\0M!U'3?'7C35O'6C6NH16W@K +M7K<:5)<&PU/Q%*MAJ,SJM_-;SVAO=6,4KV=G#;S^P?#3Q_XR^(?[7'[/_P`0 +M;WQ#J&F^#?C+\"M=\867@6W8?V=H4AD\'SH\\V`^H7ROJE]&+EEBC2`Q1Q6\ +M+FYFNP#G_P!G'6?$+^*OV:M8O?%7C#6KOX_?`K4OB'XUCUC7[_4[2\\10OX6 +M>.XLK6YED@TJ('7=3'V;3DMK\=?&3]G/]NS]GK]G'PYI7B#Q7\3?@'JOC[PQ\'=9U*Y1 +M?[:\/>,]/MM.\)3M>WZ?9[JYTZYFN+:9!;PV*_V?':HVU))$`/W^^`/P$+KQ#:7]IJUSI-TSHMOJ=@\,L;Z+$`2\BLLSC:"`:`,_P#X1S]J;_HL +MG[/_`/X9O7/_`)K*/^$<_:F_Z+)^S_\`^&;US_YK*`#_`(1S]J;_`*+)^S__ +M`.&;US_YK*Z#X2?#SQ3X&NOB5J_C7Q;X?\8>)OB9XKC\3WEQHGAV?0K"T\K1 +M],T>."*VFOKV0_NM)CD9VG.6E8!5`%`'L%%`!10`44`%%`!10`5\WO\`"_XT +M:!\;_BAXE^'/Q3^%^BZ)\3O$%GXDGTWQ)\-]1UJZL+J'1M-T=D2[M]>LD>)D +MTF*4`P!E:1QN8`&@"73_``G^U99Z%96=Q\<_@5JMQ:010RWUU\&=66>\=5"M +M+((?%,<0=R-S"-$3).U5&`#3_"?[5EGH5E9W'QS^!6JW%I!%#+?77P9U99[Q +MU4*TL@A\4QQ!W(W,(T1,D[548`RA3DN6\V[*W37;5V2UTZ66KTVMW5\72J>U +MY,/"'/-2CRNI^[C[W[N'-.5X/F6M3GJ>Y&TU>?.:?X3_`&K+/0K*SN/CG\"M +M5N+2"*&6^NO@SJRSWCJH5I9!#XICB#N1N81HB9)VJHP!Z7\)O`O_``J_]ECX +M:?#/^U/[<_X5WX5T;PQ_:7V;[+_:'V"SBM//\G>_E>9Y6_9O?;NQN;&35.+C +M%1;O9;NUWYNR2^Y)=D88FK"K6G5A35.,FVH1YN6*;NHQYI2E:.RYI2E9:R;U +M/0*\_P!?^$WPK\5_"S1/`OBGX:?#_P`2^"/#7V;^R/#VJ^'K&\TK2OL\+6]O +M]FM)8VAA\J%WB38J[$8J,*2*LP-#Q)\//`'C+3M;L_%_@?P?XKL_$MI8V&KP +M:QHUK?1ZK:64\EU9PW*S(PFB@N)IIHD<%8Y)7=0K,223X>>`)O"MEH4O@?P? +M+HFF^'[GPG::>^C6K6EKH%RD,=QID<)38EC*EK:H]NH$3K!"&4B-<`'/R?!# +MX+S?#.R\%2_"'X7R^#=-M+FPM-!?PKIS:9:VES=PW]Q#':F'RDBEO+6UNG15 +M"O-!#(P+QJP]`DTG2IO%5EKLNF:?+K>FVES86FH/;HUU:VER\,EQ#'*1O2*5 +M[6U9T4A7:"$L"8UP`<_X;^'G@#P;XJ\3Z[X0\#^#_"NM^-KL7_B+4-'T:UL; +MK7[H/+()KV6%%>YEWSSMOE+-NED.PH`**`"OG_PY_P`I3?C)_P!DJ^&G +M_IW\9T`?0%%`!10`44`%%`!10`44`%%`!10`44`%%`!10`44`%%`!10`44`% +M%`'/^+/%.@^!OA9XE\:^*;[^R_#'@_2KS6]7O/)EG^R6%I"\]Q+Y<2M(^R*- +MVVHK,<8`)P*_+#Q=^V-_P35\9?MM?"/X_P"H?&_4+'X@_!RTUFPTR>Q\%:[% +M'JMIJ-L]JT.H,VD-/-%`)KB2W1)8UCDN)FPWF,"`?H?\%/CU\)OVB?A9?^-? +M@YXK_P"$P\,:7JLNB75Y_9E_I_E7\4,,[Q>7>0Q2'$5S`VX*5._`.00/8*`" +MB@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@#Y_P##G_*4WXR?]DJ^ +M&G_IW\9UZ!XZ^+'PK^%_]E?\++^)?P_^'?\`;GG_`-F_\)/XAL=(_M#R=GG> +M1]ID3S?+\V+=MSM\Q,XW#(!Y_P#\-8_LL?\`1RW[/_\`X&]9M=5M(;I421H7EMW=%E"2Q,4)W!9$.,, +M,@'844`%%`!10`44`%%`!6?J6K:5HNG17FL:EI^DV21$4%F`(!H5S\?BSPK)X$TCQ3%XE\/R>&/$']G?V7J +MZZC`;#4O[0DBAL/L]P&\N7[3+<01P[&/FM-&J;BZ@@'044`%%`!10`44`%%` +M!10`5\_^'/\`E*;\9/\`LE7PT_\`3OXSH`^@**`"B@`HH`**`"B@`HH`**`" +MB@`HH`**`"B@`HH`**`"B@`HH`**`.?\6?\`"4_\*L\2_P#""_\`"/\`_";? +MV5>?\(]_;OG_`-E?VKY+_9/MGD?OOLWG>7YOE?/LW;?FQ7XP_&7_`(;Z_P"' +ML/[%_P#PEG_#('_"S?\`BXO_``@?]D?\)3_8/_('A_M3^U_-_P!(_P"/;9]G +M^S_\M-WF?+B@#]7O@I_POW_A5E__`,-%_P#"G_\`A-O[5E^P_P#"N/[5_LK^ +MRO)A\KS?[1_??:?.^T[MOR;/*Q\VZO8*`"B@`HH`**`"B@`HH`**`"B@`HH` +M**`"B@`HH`**`"B@#Y_\.?\`*4WXR?\`9*OAI_Z=_&=>9_'C_A7'_#POX'?\ +M+/\`^0!_PKOXC_9_^/S_`(_/[2\([/\`CV^?_5^;U^7\<5YF=?4_[.Q/]H?[ +MO[.?M-_X?*^?X?>^&_PZ]M3Q^(?J']E8O^U/]U]E4]K\7\/D?/\`![WPW^'W +MNVMCC/A[_P`,X_\`"H=(_P"$\_Y&O_2/MW_(7_Y[2>5_J/W7^J\O[OX\YH^' +MO_#./_"H=(_X3S_D:_\`2/MW_(7_`.>TGE?ZC]U_JO+^[^/.:_E3*O\`B'/^ +MP?7?^@=^W_WG^/\`N;?#_P!QO@]SO]D_BG)/^(3_`/"9_:'_`$"R^L_[W_O/ +M^S\OP_\`TGE? +MZC]U_JO+^[^/.:V?V&/^1-_:#_[*JO\`ZBGARON?"K_5S^T<)_8O^\?5)_6? +MXGQ\V&_G]WXN?^'[ORL?I'@K_JG_`&K@?]7O]Y^HS^M_Q?XG/A/^?GN_%[3^ +M'[ORY3[FKQ_PM\=_AGXR\=V'A_0=4\0--K/F_P!BZC?>%=:TW1/$NR-I_P#B +M4:M=6L=AJF^WCENHOL4\WG6\4MQ'OAC>1?Z%/ZF/8*Y_Q9XIT'P-\+/$OC7Q +M3??V7X8\'Z5>:WJ]YY,L_P!DL+2%Y[B7RXE:1]D4;MM168XP`3@4`>?S?'?X +M9VWQVU'X=7&J>(+?Q!HVJV6A7]W)X5UI-!L=5O+>VN;.RFULVO\`9D=S/'?6 +M*Q0M*=!\#?"SQ+XU\4WW]E^&/!^E7FMZO>>3+/]DL+2%Y[B7RXE:1]D4;MM168 +MXP`3@4`=!10`5\_^,_\`E(Y\!_[5_P"1?_X17QY_9WVO_CS_`.$JWZ)]B\G? +M\G]I?V3_`,)'Y6W]]]D_M3;^Z^T4`?,'A?P_\4]!_98_9G?QOK7[3^NW.N_# +M]]5\2S:5>7TWBJW^)DEGH2:';7,6U8;>V@ACUJ%X]51=':9%FU@S7,QGF\?\ +M'>$_BG%^SC\"?"WB7PS\?X_%7A_5?@#_`&;I%CIU\/#>F^"-/7PE-J?]K6\B +M_88KFVUVWUB278HUN(0Q-)MTA)2`#]3[R]\?1_&72;'3O#/@^Z^'LUHSZGK5 +MQXENH-9L[K$NV.#2UTYX)XB5MP9'OH6`DE/EGRU$O84`%%`!10`44`%%`!10 +M`5\_^'/^4IOQD_[)5\-/_3OXSH`^@**`"B@`HH`**`"B@`HH`**`"B@`HH`* +M*`"B@`HH`**`"B@`HH`**`.?\6>%M!\&/&&E7FB:O9^=+ +M!]KL+N%X+B+S(F61-\4CKN1E89R""`:_*#XA_L6?L)^`?V[/V=/@I_PS'_:O +M_"_?^$N_XG/_``L7Q/!_87]AZ?'?_P#'O]J;[1Y_F>7_`*R+R\;OGSM`!^C_ +M`,%/@)\)OV=OA9?^"?@YX4_X0_PQJFJRZW=6?]IW^H>;?R0PP/+YEY-+(,Q6 +MT"[0P4;,@`DD^P4`%%`!10`44`%%`!10`44`%%`!10`44`%%`!10`44`%%`' +MS_X<_P"4IOQD_P"R5?#3_P!._C.N9^)WC'PWX(_X*6?!35?$^H_V9I]Q\,_B +M3:1R_9YIMTS:KX/<+MB5F'RQNIB\1+EITXN4G9NT8J[=D +MFW9+9)OLCCS#'T,#A:V-Q4N6E2C*(OL&K6'VOSX/L%Y+LWW4TB_-'$RG*.IX)ZXZT?!WXQ?#CPK^SEX +M%_%OA/"?V']8QO+]6P,Z-3]W5?+ +M4?U.T=*;O_"J:QO'W=]8W/@[\8OAQX5_9R\.:#KWB+[!JUA]K\^#[!>2[-]U +M-(OS1Q,IRCJ>">N.M<9^PQ_R)O[0?_955_\`44\.5[GA_P`29;F6(RO"8*KS +MU,-@IQJ+EDN65\(K7E%)ZQDKQ;6GFCZ/POXMRG-\5DN"R^MSU<)EU2%5+:TWLU?[FK\X/&?PX^-.J?L]_%/X9?#7X7?$#P+H7B7X?^ +M+]`O_"^N^+M`UCP3-=W&C7EI9IX2G-V^JV.;\Z9#;6]S%IFEPZ']6_9UMO\`A$M7UKX7^'K;0[#2O&M_';^+ +M;/4`ND7,MMILUS%/?>$;V22]:%9$TNW:.26>R@B'E^K_`+(OB;Q9\$/V@(O% +M7PST_6M2UKX/WND?"S0=2U&RN;3PUJ`)-&A\>2>)HV708-?D'FSZ8BQ1H=( +M!%[*DDGE$/H?%GX>Z[=_M]>(O&MQ\*OC_P"//#&L?#_PIHEA>?#+XFQ> +M$/L]_8ZCK\]W%>QCQ#I,D_[K4;%HF99U7=,%*$N&X_XY?L_^)OB'\/?CKIT' +MP>T_7_#OC7P_XPM/`_AB\UJRFC\->-'LKMD\4+97$@L+:75KK8L;PR-<6,FR +M[*Q3:YK?V(`T'_9[U&X^&W[16L:-\*_^$6U3Q_JOA>V\.^'I+[3EFL/!-OH/ +MA6WU32M/M(KJ32+>Y-7U+P9I5W<:"6T[0)M(TL^5]FT.VM=,LI?MZZBT]O:0+$ +M+EKEUEO1)]MN@#ZPKR_QWX[^%^C?$+P/\//'=UI]QXB\?78O_"^AW&E3:C)J +MMUI=[8R>=!&D4@\VSN+FRO"_#01PRW9*0VD\T(!Q\W[4?P)L_#NHZUJOCG_A +M'_#^G?8I%UG6]%U32M*U2SN[ZVTZ&_TZ]NK>.WU+316LLD +MT<4TJ-:VVG/''ILJWDL\431>:`'PZ_:X^'?BWX9W^JZW=:?#K&G7:6\5IX+;4O& +M=IXECEN]3LX)]`>UL([S58C+H6M*XCLDD1=+O+@(]@(+VXT/"?[6GPF\0?#J +MV\1WNK_9M/O-5\1P)>Z):W_B+2K+1-,US4-&M];U'4;&V>UTS3;M=,GNH[J] +M>&WV1W.V:1+6:10#H)OVH/@K9_\`"72:AXB\0:5I_@C_`(2-=1U34?!VOV6E +M7$V@_:CJUO87\UFMKJ5S;KI]^[6]E)/*R6=RZ(Z0R,N?\:_VD/#/P>UN#19( +M]/U'6XK2YU/5H[^YO;*TT/3!H'B;6K:\FF@LKIY(I7\(WUNR6\4LT:DR^4Y$ +M<4X!Z`OQH^%YGT&)O%^GP2>)O$&K>%].2>.:%I]3TS47TB]1@Z#RXDU-8[`3 +MR;89+FZLH(W>2\M4FT'^*/@2/X1:OXZ;7,^&-$U74="N+A;*Z::35;'4I='F +MLK>V$?GW-RVHP/:0PP1R/\`X^3]HKX51^%;+4H[_QA>W=Y=W-G +M_P`(_8^!O$=YXHLY+=(9)S=:!#8MJEI$D=W8R-+<6L<82_L&W;;RW,O/ZG^U +MM\`-.\:1>';7QKJ'BO6YKNTLXK/P?X7USQ5)+)=Z5'K=F4&E6ER&BN=,D:[@ +ME&8YX[>\,;.;2Y$(!]`:3JVE:]X5TS7="U+3]:T36K2&_P!/U"PN$N;2_M)D +M$D,T,J$I)$Z,K*ZDJRD$$@UH4`%?/_AS_E*;\9/^R5?#3_T[^,Z`/H"B@`HH +M`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@#Y_^)?BCXI_\-3_``X^&?PS +MU[X?^%_^$H\*^+/$^I:EXG\+7WB#_D%7>A6D,$$-MJ=AY>_^VI79V>3_`%2` +M*,DT?\(Y^U-_T63]G_\`\,WKG_S64`'_``CG[4W_`$63]G__`,,WKG_S64?\ +M(Y^U-_T63]G_`/\`#-ZY_P#-90`?\(Y^U-_T63]G_P#\,WKG_P`UE'_".?M3 +M?]%D_9__`/#-ZY_\UE`!_P`(Y^U-_P!%D_9__P##-ZY_\UE>`?$/]GK]J;QI +M^W9^SI\6O^%M?L_R_P#"E/\`A+OWW_"N]Z3'&R-`4_M!_%;1/@]_P4"^!OB77K[P?IUG??#WX +MC:8DGB3Q9I_AJT:1]2\)2A4N;UEC>7$+$1`[BH=@,(UBO=Z(\P^%O[9'PO\+_`G0M"MO&GP,U""Q^T[;B[^,/AK39I-]Q+(=UM--YD +M>"Y`W?>`##@BCX6_MD?"_P`+_`G0M"MO&GP,U""Q^T[;B[^,/AK39I-]Q+(= +MUM--YD>"Y`W?>`##@BOPW),QXKPW]F$>9/ZO[TKQ_=R_=K] +MW+WGS2M_#D?SAP]FO&V$_LCEX:E+ZO@Y45?$4X-/@9J$%C]IVW%W\8?#6FS2;[B60[K::;S(\%R +M!N^\`&'!%=9_P3_UK1O$7PI^/6L>']6TS7=(O/BJ?(OM/NH[JVGV>%_#J-LE +MC)5MKJRG!X*D=17N\"RSJ>(RZGF672P].AA)4XS&7O123I2M"_)/WO +MB7V)'TGAM+B">*RJEFV52PM+#8&=*,W-3]HV\&ES123HRM3NJ<_>^)?8D??- +M%?KY^[A10`44`%%`!10`5Y_J/@7^T/VI_!OQ+_M3R?\`A$?"OB7PQ_9OV;=] +MK_M>[T:Z\_SMXV>5_8FS9L;?]HSN3R\.`?.%C^R;JHT3X;:+J_Q)T^]T3X(V +MGAO0?`4=GX7>UNH-`TO7_#^M/#J\SWTJ7]],GA33+<7-O%8Q1M+=RFVD#QQ0 +MZ&L?LH_VKI<=O_PGOE>1_P`+(?R9=$\VSU'_`(2KQ?I_BS[)?P?:1]JTU?[. +M_LR]M-R?;[2ZN$\RUWX``?`W]DZS^"GQVN?&MAXE\/RP7O\`PDTK:%H7@VS\ +M.:58S:U;^%8IDLK>UD,<%M#+X4=HD99)62^433SS0R7-UX?IG[._Q5_9^UOP +MN_PVA\8>/[NU\/VGAQO$7AG3?#GVJQT[^P/#&A:FG]GZUJ]E!;WSGP;I5[87 +MOFZE!&US?076GR+%!+<`'0?!/]G?XAVOPE\$7NJ0ZAX#^)_P>M/"^C^%=?\` +M%^FZ;=P7UEHND:OHD%M<:!H^KW$0L4L=?OYUF_MG[7-J-YM?%#3_$DFM6GBV&77O%?@'2];U/1KK5]9U;6DO\`1E9X[32K +MZ2;5U@U*>"WW7D-A9BV_LJ2&*6(`^C]&^!?]D?\`"N/^*H^T?\*_^*OC7XF_ +M\@W9]O\`^$@_X23_`$'_`%Q\OR/^$F_UWS^9]D_USWG_"K]0OM5\6:BUNT7]LS:=I5_P"%M7\%:!87&VZ$7VG3/#U[HEO,T,TR +M32Z5)^^G>X>]<`]?\)O@Q;7O[/'A+X6>#-2T_P; +MX-\!6F@MX?M9;"XU.2RU#P]?Z;J&@%Y9+I'FL87TP174#'S[F.4;+JU="\@! +MS][\)_BY<>*O#/CZ/XN>#Y?BQH%IKFC_`&R^\`RR^%XM&U1],DGMK32H=4AO +M(I1+H=C*LUQJ=T=\U^-OERV\=ES_`,//V5M*^&M[X'@T+QAJ%WHG@#QKIGBG +M3[>_L$>ZFM+'X?Q^`X;2:='1&E*1+?-.L2*6)B$*C]X`#W#X3>!?^%7_`++' +MPT^&?]J?VY_PKOPKHWAC^TOLWV7^T/L%G%:>?Y.]_*\SRM^S>^W=C!O'=]X6\:_'#X/ +M^#_$VE^5]LTC6_&6E:??VGF1K-'YMO-.LB;XI(Y%W*,JZL."#7/_`/#6/[+' +M_1RW[/\`_P"'#T/_`.2:`#_AK']EC_HY;]G_`/\`#AZ'_P#)-'_#6/[+'_1R +MW[/_`/XA__)-'_#6/[+'_`$A__`"31_P`-8_LL?]'+?L__`/AP]#_^2:`/0/`O +MQ8^%?Q0_M3_A6?Q+^'_Q$_L/R/[2_P"$8\0V.K_V?YV_R?/^S2/Y7F>5+MW8 +MW>6^,[3CT"@`HH`**`"B@#Y_\1_\I3?@W_V2KXE_^G?P97T!0!\(?$K]M2X\ +M#_\`!0O4OV?M+^&6GZCK>E6GAN\M5\1>,[?PIJ'CB/5+I+>5?"T=];C3]4EM +MA*B^5<:C8R3SQW,$*N8'>O+_``5^U1_PK_P)\7KBRT/X@>._$WBC]K_5O@KX +M;L/&'CS[986^JW'3KZ23S8I75=L8VLB@Y#$H`>`?\`#Q/PK_PV3_PK7_A$_#_] +MD?\`"ZO^%';?^$U@_P"$R_M7;Y/]K_\`"._9MO\`8G]H?Z+]J^W;\?-Y/F?N +M*^?_`(<_M6>-OAK_`,-`?&#XS1?\)!XFU+]I6Z^!/ABWO/BGJ=EX-\,(?(,D +M5U#):I86.FZ?;V9E&KQV$E[:;)%]E*?`_@\7?P7M/!3^-+,_$%+?6=3NM=$4MS'X4T +M^6P4ZY%86\\H?MD_%OX4?"KX(_\+)_X4/_`,(?_P`)A)+XQM=$U6[_`+>5KD?V-:7$!M+O +M[-9+YS_;+^PWN'B7HKN`>/\`_#Q/PK_PV3_PK7_A$_#_`/9'_"ZO^%';?^$U +M@_X3+^U=OD_VO_PCOV;;_8G]H?Z+]J^W;\?-Y/F?N*_1^@#Y_P#C)_R<5^R= +M_P!E5U+_`-0?Q77T!0`44`%%`!10`44`%%`!10`44`%%`!10`44`?/\`X<_Y +M2F_&3_LE7PT_]._C.OH"@`HH`**`"B@`HH`**`"B@`HH`*^;_P!I27QE8>`? +MA[K'AKQKJ'A32K#XE?#VVU>STV`)=:]'>^+-%L3:RW98F*Q-O._#?[4^I>)+-OB!KOV3XJ_#CPSI.N>'O&EJOA7P9H. +MJ7?A^QU#1]=T`ZE%Y^I7']HZG<),^F7DB0ZOIDJ7,7DQ_8_;_BQXUU7X,?&6 +MT^)M[;^,/%?P]\2^'YO#>I:#I*/?7%CK]D+J_P!%?3[5GC@CEU,RWVDN60>-H?$/AW5;Z?X;?$3XGZQ +MX&O/$'ACP!\0_$.L^*[^\;Q#XBU7QEH&DW2Z(YD\K3);6QG\0VUX^BQZ=;V] +MS?P0V_\`I.G-'I8`>&[/4/$?[?OB/]GC5O&7Q/D^%O@R[\6WFEV]OX]\06FL +MK)::1\/KRW6?78;Q-6NHDG\5:XPBN+N2/%S$I4K:VJP=!\"/%WQ/\5_&7]EG +MQ7XV^(>H:]9_%']G74/$MUH=O90Z?IRZF@\&22WT\<7%Q?27&I:AB0".&&"2 +M*&&"%OM,UV`>_P#P7U;53K?Q@\!WVI:AK6F_"+QK#X7T._U.X>[U.?3)M`T? +M68TO+IR7NI8'U:6V2>3,TD,$#3O<7!FN)O<*`"B@`HH`**`"OG_PY_RE-^,G +M_9*OAI_Z=_&=`'T!10`44`?.GP>T^PD_:G_:HU22RM'U.S^)UI:V]VT*F>"" +M;P3X0>:-),;E1V@@9E!`8Q1D@E5Q[I967VC^R=8UC2=(MO$UM8-;R26[_:OL +M/G^4]S!!K[\RY>5VMK:V][KEC:_ +M3U:68UHT5)8FHJD$Z<$K\JI5%5]K'FYTX)N;3IJ#C456JY..TRRLOM']DZQK +M&DZ1;>)K:P:WDDMW^U?8?/\`*>Y@@N7BCD:%I8(B24C\SR8F9%*@*65E]H_L +MG6-8TG2+;Q-;6#6\DEN_VK[#Y_E/G'6TI=?>7+;[*O:VDG9KEC9=MZN/]GS?5L76?L^:E1NN7]Q/VOM$[59>SYN +M?WJ4>>$O:U;ST_>%E9?:/[)UC6-)TBV\36U@UO));O\`:OL/G^4]S!!UM).S7+&R[%7'^SYOJ +MV+K/V?-2HW7+^XG[7VB=JLO9\W/[U*//"7M:MYZ?O.`\(>,O^$J^.WB_P[K' +MPT\4^&O$WPRL-*MY/$E]I6=!UG^UK=+NY@T'5'5)+V&"6VBBN288,21P[DR! +MMY_P!\7O"OQ!_:Q^*7PT;PS'K?Q%>O'!/8)_PD-FNHB#3+W*W$ +MT(^R1B4RP6VYHH3L.T;2-&]N>G'6TI=?>7+;[*O:VDG9KEC9=BKC_9\WU;%U +MG[/FI4;KE_<3]K[1.U67L^;G]ZE'GA+VM6\]/WGK]E9?:/[)UC6-)TBV\36U +M@UO));O]J^P^?Y3W,$%R\43$S(I4!2RLOM']DZQK&DZ1;>) +MK:P:WDDMW^U?8?/\I[F""Y>*.1H6E@B))2/S/)B9D4J`I&C>W/3CK:4NOO+E +MM]E7M;23LURQLNQ5Q_L^;ZMBZS]GS4J-UR_N)^U]HG:K+V?-S^]2CSPE[6K> +M>G[PLK+[1_9.L:QI.D6WB:VL&MY)+=_M7V'S_*>Y@@N7BCD:%I8(B24C\SR8 +MF9%*@*65E]H_LG6-8TG2+;Q-;6#6\DEN_P!J^P^?Y3W,$%R\43$S(I4!2-&]N>G'6TI=?>7+;[*O:VDG9KEC9=BKC_9\WU;%UG[/FI4;KE_ +M<3]K[1.U67L^;G]ZE'GA+VM6\]/WA967VC^R=8UC2=(MO$UM8-;R26[_`&K[ +M#Y_E/22W?[ +M5]A\_P`I[F""Y>*.1H6E@B))2/S/)B9D4J`I&C>W/3CK:4NOO+EM]E7M;23L +MURQLNQ5Q_L^;ZMBZS]GS4J-UR_N)^U]HG:K+V?-S^]2CSPE[6K>>G[SPOP8] +M])_P4P^*\FJ6UI9ZF_PC^=O:W+7,$$YU7QEYB1S-'&TB*V0KM'&6`!**3 +MM'T76]/F<4YI)VU2=U?R=E=>=EZ(\K$QHQK3CAY.5--\KE%1DXWTBD]PHJS`**`"B@#Y_\1_\`*4WX-_\`9*OB7_Z=_!E?0%`'R?\`&S]C +M_P``?'[Q5?2?$+QE\3[WP;K5WH=_JG@@:M:W.@7-UI;OY4UJMW:S7>D2S0RO +M;7#Z1,?'>G:1IWB?PYJ6L^&M&N3:06,>MWFIZU$EQ?3 +M);M*7M[J_)',TPD8@^_I\.M/^,7[0_P?^.?C/P9\3_A9XR^`MWXEM_#VA:QJ +M'A^2/4H]8L(;2YGN1IUS?H\00;8@MS#(LD;ET9"FX`S_``_^RKX5\)_';6O% +MWA;XB?%_PUX?\2_$"Y^)^K^"=*U^"ST'5?$UQ;K#<3W,L5NNIS6TLB)15!@,0$58%S^Q3\*Y_`GBG2(M?^(%CJ'B#XU2?'ZPUN&^L3?^&?&321NL +MEBDEHUJ]LBQO&(+R"Z&V:0L6<(Z`&_JO[*OA7Q)X$^'>D>+OB)\7_&6H?#KX +MJV7Q@M];UO7X+N_U'7;629X;>5#;BUMM-59_+6SL(+2-%C4H$=I'D/$W[*OA +M77?VCO'/Q)T7XB?%_P"'.H?%7_A&O^$YL/!^OP:9#XK_`+#8BR\R[^SOJ5CF +M`BUE_LV[L_,B&#\[.[`&!\2/V*?A7\4/^&D_[?U_X@6?_#4G_"'?\)7_`&?? +M6,?]G_\`"->7]A_L_P`RT?RO,\I?.\[SMV3L\OMO^)OV5?"NN_M'>.?B3HOQ +M$^+_`,.=0^*O_"-?\)S8>#]?@TR'Q7_8;$67F7?V=]2L'_`!+\0+GXGZOX)TK7X+/0=5\3 +M7%NL-Q/6Z3QI=6L\=U:S*K@@2PW$,,T;@;DDC1U(900`<_>?#SP!J/QETGXBZA +MX'\'WWQ!T"T:PTSQ/<:-:RZSIUHPE5H8+UD,\41%S<`HCA2)I1CYVSH?\(GX +M5_X1W^Q_^$9\/_V1_:O]N_8?[.@^S?VK]N_M/[9Y6W;]I_M#_3/.QO\`M'[W +M/F?-0`7WA/PKJFL7&HZEX9\/ZCJ%W_97GW5UIT$TTW]F73WVF[W92S?9+N22 +MY@R?W,KM(FUR37G_`(?_`&>O@%X3_MK_`(1;X'?!_P`-?\)+I5SH6K_V5X-T +MJS_M72KC;]HLKGRH%\ZVEV)OA?*/M7*G`H`T+SX(?!?4?@UI/PYU#X0_"^^^ +M'N@7;7^F>&+CPKITNC:==,96::"R:$P12DW-P2Z(&)FEY^=L^@2:3I4WBJRU +MV73-/EUO3;2YL+34'MT:ZM;2Y>&2XACE(WI%*]K:LZ*0KM!"6!,:X`.?\$^" +M=*\#>%;BPL+C4-5U+5;MM3US7-3=)=3\1:FZ)')>7DB(B-*4BBB1(TCA@AA@ +MMX(H+>"&&/L*`"B@`HH`**`"OG_PY_RE-^,G_9*OAI_Z=_&=`'T!10`44`?- +M/PA32O\`AL3]I]Y=/\S6U^(T2VE]_9[O]FM3X+\%_:(OM00I%YCBU;RBZM+Y +M.Y5<0,4]TM;2PL]=T"VOA=ZUXCL])N8(=NZ!;7PN]:\1V +M>DW,$.N76FJ9Y(`UJ+KS+F&%+>%YY%MI&A7RA*8BR1E8#Y9:VEA9Z[H%M?"[ +MUKQ'9Z3]+W.6;M'5JR]Z-HQUO;E]W>6.QE2WL>2GSPJ2I\M=KV-#_:/:X>'-6?) +M"IS5/W57FK5;QY.;V[]M^6_[?W@/Q?XRUZV\'R?#OQ7XLT"W^$?B*XL/'5I\ +M/CX^U;7?%L,,UM8Z#;6L-C<6WA=[F6Z@OKK58+6VDNQ!;P13VWV)6BXK6_`V +ML:K\4_@7XI_:D^#/Q?\`C9\,G_9`L]"N-(_X1+6/%FJP_$=YK.;4T^SPI)<: +M5K<]MLC_`+0N&LV9TV_:5:!C'UTXN,5%N]EN[7?F[)+[DEV1\[B:L*M:=6%- +M4XR;:A'FY8INZC'FE*5H[+FE*5EK)O4\^^)GP8^,5SI?_!1NP\%_#CXUMXS\ +M8_#[X/V/A35=8M)KC7/$&DZ=IMA'XEL?[;A+VVH7C01F&\M[:ZF-[(DB(MP1 +MBOI_]BWX?)X0_P""HG[6^L1?##XE^$/"OB'2?`$/@36/%_A>YL3J&DVNFM%> +M+:SF(6]G"TALG72T^S&UC6&V^QV?V)K6UY%2IKXKNS2?NKWI>YRS=HZM67O1 +MM&.M[%25/EKM>QH?[1[7#PYJSY(5.:I^ZJ\U:K>/)S> +MW?MO8/VTM'UN?]E/PGH6B?#Z[^*_B.[U2PT74?$%]X0D\4CPKH=Q)!:ZCKMU +MH-I`+?7'@D>SNTTDQ&-[F&"]6W==,/E?G7H7PJ\?+^QK8^&[OX:_%_7_`(>^ +M%/VQI=_!D75A<7*#08["`-IMQ?2V=Z^E6MDB/+#-,EH!9S& +M"HPI1BXR7-K&[<=7)2M&W3ETPJ8C'U:T*M"HJ473K>SA&M:-* +MBW6=2C'GJRE!2O52HSE[2JI[5'6BY_6G_!,_3;#2_!/[2&G7VF>*SXCTOX_? +M$.SAO/%`74]2`-:BZ\RYAA2WA>>1;:1H5\H2F(LD96`^7*I4 +MU\5W9I/W5[TOQY*?/"I*GRUVO8T/]H]KA +MX:M5O'DYO;OVQ:VEA9Z[H%M?"[UKQ'9Z32`-:BZ\RYAA2WA>>1;:1H5\H2F(LD96`^6*E37Q7=FD_=7O2]SEF[1U:LO> +MC:,=;VY?=)8[&5+>QY*?/"I*GRUVO8T/]H]KAX:M5O'DYO; +MOVWBW@RVFL_^"F'Q7L[B_N]5N+3X1_#"&6^NEA6>\==5\9*TL@A2.(.Y&YA& +MB)DG:JC`'T7773BXQ46[V6[M=^;LDON279'SN)JPJUIU84U3C)MJ$>;EBF[J +M,>:4I6CLN:4I66LF]0HJS`**`"B@#P_XC_#CQ]KWQ]\"_$7X<^.O!_@_6_!_ +MA_Q'X;G@\2>$+KQ#:7]IJUSI-TSHMOJ=@\,L;Z+$`2\BLLSC:"`:S_\`A'/V +MIO\`HLG[/_\`X9O7/_FLH`/^$<_:F_Z+)^S_`/\`AF]<_P#FLH_X1S]J;_HL +MG[/_`/X9O7/_`)K*`#_A'/VIO^BR?L__`/AF]<_^:RC_`(1S]J;_`*+)^S__ +M`.&;US_YK*`.?\6>$_VQ+OX6>);3PM\;OV?['Q-1:1U^SW[0N +MMN_G2^(KN.+;*4.][2Z5<9,$P!C;\X="_;#_`&CI[K]D_4=?^.'P_P#"^G^( +M-*^)EO\`%*QU;X22&_\`#.J^#M'6YU.+7K"WU9KI[E&C>YCBLCI3[9HI'M62 +M1+5`#Z?_`&0O$O[^-_PN\2_$7XI_"_6M$^&/B"[\20:;X;^&^HZ+=7]U-HVI:.J/=W&O7J) +M$J:M+*0("S-&@W*"37TA0`44`%%`!10`44`%%`!10`44`%%`!10`44`?(&K? +M%CX5_"__`(*F_%#_`(67\2_A_P##O^W/A5\._P"S?^$G\0V.D?VAY.K^+_.\ +MC[3(GF^7YL6[;G;YB9QN&>__`.&L?V6/^CEOV?\`_P`.'H?_`,DT`'_#6/[+ +M'_1RW[/_`/XA__`"30`?\`#6/[+'_1 +MRW[/_P#XA_P#R30`?\-8_LL?]'+?L_P#_`(A_\`R30`?\-8_LL?]'+?L_\`_AP]#_\` +MDFC_`(:Q_98_Z.6_9_\`_#AZ'_\`)-`!_P`-8_LL?]'+?L__`/AP]#_^2:/^ +M&L?V6/\`HY;]G_\`\.'H?_R30`?\-8_LL?\`1RW[/_\`XA__)-`!_PUC^RQ_P!'+?L__P#AP]#_`/DFC_AK']EC_HY;]G__`,.'H?\` +M\DT`'_#6/[+'_1RW[/\`_P"'#T/_`.2:/^&L?V6/^CEOV?\`_P`.'H?_`,DT +M`'_#6/[+'_1RW[/_`/XA__`"30`?\` +M#6/[+'_1RW[/_P#XA_P#R30`?\-8_LL?]'+?L +M_P#_`(LV +MNJVD-TNJ>,)&A>6W=T64)+$Q0G<%D0XPPR`?6%%`!10!\2>$_CW\$?AC^VC^ +MU!X1^(_Q:^'7@'Q'JOQ#L=8M;'Q%K]IICR6*>#/"R)] +MD1ERVO*3Y;1?N[M\MI:16W5QM!7E?X?=WJT?;-M#_TO[/Y4R)]A&7+:\I/EM%^[NWRVEI%; +M=7&T%>5_A]TJT?;-M#_`-+^S^5'))/+`Z6L4TC2JPC` +MBW_O3''LB?9Y?K'[47[%OQ#U&7X3Z]^U/HKZIX-CL[^[UG3_`(BWW@Z/4I!` +M$#KKNE36-G>,PN-TEM;3M&L@.84:#$9&7+:\I/EM%^[NWRVEI%;=7&T%>5_A +M]TJT?;%?$VH:Q81/;?ZA-:V4TC76YHX!;^=AB +ML;);_NM#Q3\>?V,O&/A70?!?C#]ICX3:U=V,8U*RURT^)ECH^IVUU;(MM)=1 +M:KI=Q;&PNY8[N2)A;R6[30SW<:HT!G0$9SHT8>VYJL;5?X<(>UO27/5=KV]V%;FKSY:7LV_:+VN?\*OC'^P[ +M\%/`EK\/_!7[0OP63^U)M0\0:GJU_P#$/3=0O_$6JR21&]U'5=3><^?J%Q)+ +M&Q,SAW5"L2B*WVQ>@67[6O[+&G_V3H5U^U%\%M6U#[`SMJ%QXVT/_2_L_E1R +M23RP.EK%-(TJL(P(M_[TQQ[(GV$9SHT8>VYJL;5?X<(>UO27/5=KV]V%;FKSY:7LV_:+VI9?M:_LL:?_`&3H +M5U^U%\%M6U#[`SMJ%QXVT/\`TO[/Y4R)]A9? +MM:_LL:?_`&3H5U^U%\%M6U#[`SMJ%QXVT/\`TO[/Y4R)]A&7+:\I/EM%^[NWRVEI%;=7&T%>5_A]TJT?;:I"*I45]=UO3BXQ4 +M6[V6[M=^;LDON279'E8FK"K6G5A35.,FVH1YN6*;NHQYI2E:.RYI2E9:R;U" +MBK,`HH`**`"B@`HH`**`"OY$OVL/&7PC^/?_``4+\1_%+X7:!\;[[]F#1?$& +MG:K\2[K2M$BMK+2M0U"ZCT_4=4TN+;]FLY=6M=/LI(Y=1$4]S=AO.4;51`#^ +MGW]G3XO?"/XV_LC^$_&?P2FT^+P)%:1:5;Z-;VL5E)X6DMHD0Z7/9Q'9:RVZ +M&-1$F8S&8GB9X7CD?W"@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@ +M`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@ +M`HH`**`"B@`HH`**`"OB#X$>$_%.C_\`!9S]O+Q3JWAGQ!I?ACQA_P`*N_L' +M5[O3IX+#6_LFA3PW7V.X=1'<>3*5CD\MFV,0K8/%`'V_10`44`%%`!10`44` +M%%`!10`44`%%`!10!X?^TWIEQK7_``3;_:#T:SDT^&[U;X:^++."2_O[>PM$ +MDETNY13-=7#QP01`L"TLKI&BY9V502/A#]A[]N#]E/2O^"5'@/P_K_CSX?\` +MPB\0?"+PK%:>)/#=W.;.:::W-PKW=G&8(O[2N;[[,]_)%9+<2K+>!'+RN#(` +M=A_P2YO/#VN?LC_'/QGX,TG3_#O@3Q]\=?&'B'PMHUN]A')HVC316*6MK/9V +M,/AK\/8? +M&ME<:?J?ANVDGNI]9%C?K#`ZI8WI$36[W;D^4HW1I\XSM;\$?!GPT_X)HWO[ +M6/QHTCQK^T)\7]'^$6B?\(Y_PK;6[33;EK_Q!YUF[ZQ]K0:'(R>1=B../=!; +MY4DCS?O@`_J-^"%EX,TW]B_X0Z=\.=6U#7OA[8>"M`M_#&IWZ%+K4=&2QA6R +MGF4Q1$2R6XB=@8HR&8_(GW1ZA0`44`%%`!10`44`%%`!10`44`%%`!10!Q_Q +M"BN)_@%XX@L_!.G_`!*NYO#^II!X1OY[>"T\52&VD"Z;-+<*T$<5R<0,TJM& +MJR$N"H(K\4?&?P.^-WB;]K'X+_$+2?\`@E%\'_"OACX8_P#"1_V]X/M/&_@/ +M[!XY_M&S2VM?M92W2,?8I4,\?F0S_,QV^4?F(!^IW[+^GZUIOP"U>#7?V7_! +M_P"R9=MX@N'3PCX;U71M2M-1C^S6P&I/+I<,4`ED(:`JRF0+:H2=I0#Z0H`* +M*`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`* +M*`"B@`HH`**`"B@`HH`**`"B@`K/U+5M*T73HKS6-2T_2;.:[M+".>\N$@C> +MZNIX[6UA5G(!EFN)H88T'S/)(B*"S`$`^4/BC^WK^R=\%OCMKGPS^)?Q6_X1 +MKQMX:^R_VEIO_",Z[>?9OM%O%=0_OK:SDA;=#/$_RN<;L'#`@=_X`_:C^!/Q +M0_98\:_&KP+XY_MSX9?#O^TO^$AUG^Q=4M?[/^P6<=_=_P"CSVZ7$OEVTLC_L)_P#1<_\`RS/$_P#\KZ`/?_'W[4?P)^%_[+'@ +MKXU>.O'/]A_#+XB?V;_PCVL_V+JES_:'V^SDO[3_`$>"W>XB\RVBDD_>QIMV +M[6VL0IX#X6_MZ_LG?&CX[:%\,_AG\5O^$E\;>)?M/]FZ;_PC.NV?VG[/;RW4 +MW[ZYLXX5VPP2O\SKG;@98@$`/BC^WK^R=\%OCMKGPS^)?Q6_X1KQMX:^R_VE +MIO\`PC.NWGV;[1;Q74/[ZVLY(6W0SQ/\KG&[!PP(&_HW[9G[-GB#]C;Q9^T# +MI'Q'^U_"+P-JL6B:WKW_``C^L1_8K^1K1$B^RO:BZDRVH68W1Q,O[WD_*^T` +MX#PG_P`%'OV,?''Q3\,^"?"WQD_M3Q-XPU6RT32+/_A$O$4'VN_NYD@MXO,E +ML5C3?+(B[G95&UG^Q=4N?[0^WV9;122?O8TV[=K;6(4\!\+?V]?V3OC1\=M +M"^&?PS^*W_"2^-O$OVG^S=-_X1G7;/[3]GMY;J;]]-O#7V7^TM-_X1G7;S[-]HMXKJ']]; +M6A__)-`!_PUC^RQ +M_P!'+?L__P#AP]#_`/DFOB#X[?M"?`+5_P#@LY^P9XITGXX?!_5/#'@__A:/ +M]O:O:>,M*GL-$^UZ%!#:_:[A)S';^=*ICC\QEWL"JY(Q0!]O_P##6/[+'_1R +MW[/_`/XA__`"30`?\`#6/[+'_1RW[/ +M_P#XA_P#R30!T'A;]H3X!>./'=AX6\$_'#X/^ +M,/$VJ>;]CTC1/&6E:A?W?E1M-)Y5O#.TC[(HWD;:IPJ,QP`37L%`!10`44`% +M?/\`_P`-8_LL?]'+?L__`/AP]#_^2:`#_AK']EC_`*.6_9__`/#AZ'_\DT?\ +M-8_LL?\`1RW[/_\`XA_P#R31_PUC^R +MQ_TA_\`R31_PUC^RQ_T +MH>"?B%X`^)7A6XUWX<^./!_C_1 +M+2[:PGU#PWK-KJMI#=*B2-"\MN[HLH26)BA.X+(AQAAD`["B@`HH`**`"B@` +MHH`**`"B@`HH`**`"B@`HH`**`"B@`K\,=,^$7[2_P#P4RTZ3XYZK\?=0^!' +MP-T;QK=ZK\%="TW0HY]0CCL9Y+2/5+H6M]$\%]$]MM266YGD2=[XP+;6[Q^> +M`>__`+*]GK7QR^,OQR^$?[C6L&C/:71D:ZA-DB"`Q3&:4R(4VN9'W`[CD`\_P!)_9D_9MT#Q5IF +MNZ%^SY\#]%UO1;N&_P!/U"P\"Z/;75A=0N)(9H94MP\ +M.OA-\*_BA_97_"R_AI\/_B)_8?G_`-F_\)/X>L=7_L_SMGG>1]IC?RO,\J+= +MMQN\M,YVC``>!?A-\*_A?_:G_"L_AI\/_AW_`&YY']I?\(QX>L=(_M#R=_D^ +M?]FC3S?+\V7;NSM\Q\8W'/'ZM^S)^S;KWBK4M=UW]GSX'ZUK>M75]LTC6].@U"PN_*D6:/S;>96C?9+''(NY3AD5A@@&N/\$_!#X+_#7Q5< +M:[\.?A#\+_`&MW=HUA/J'AOPKIVE74UHSI(T+RV\*.T1>*)BA.TM&AQE1@`S +M_%/[/7P"\<>.[[Q3XU^!WP?\8>)M4\K[9J^M^#=*U"_N_*C6&/S;B:!I'V11 +MQQKN8X5%48``KL-,^'G@#1?@U)\.=&\#^#])^'LUI=V$GABST:U@T9[2Z,C7 +M4)LD00&*8S2F1"FUS(^X'<<@'G^D_LR?LVZ!XJTS7="_9\^!^BZWHMW#?Z?J +M%AX%T>VNK"ZA<20S0RI;AXY4=5974AE8`@@BNP\=?";X5_%#^RO^%E_#3X?_ +M`!$_L/S_`.S?^$G\/6.K_P!G^=L\[R/M,;^5YGE1;MN-WEIG.T8`-#P3\//` +M'PU\*W&A?#GP/X/\`:)=W;7\^G^&]&M=*M)KID2-IGAMT1&E*11(7(W%8T&< +M*,>?ZM^S)^S;KWBK4M=UW]GSX'ZUK>M7YNK^ZF*)BA.TM&AQE1@`S_%/[/7P"\<>.[[Q +M3XU^!WP?\8>)M4\K[9J^M^#=*U"_N_*C6&/S;B:!I'V11QQKN8X5%48``KT# +MPMX3\*^!O`EAX6\$^&?#_@_PQI?F_8](T33H-/L+3S)&FD\JWA58TWRR/(VU +M1EG9CR2:`.@HH`**`"B@`HH`**`"B@`HH`^?_$?_`"E-^#?_`&2KXE_^G?P9 +M7T!0`44`>?\`Q1\??\*O^!.N>.O^$*^('Q$_L/[+_P`4]X)T?^U]=U#SKB*W +M_P!%M-Z>;Y?F^:_S#;''(W.W!]`H`*SY-)TJ;Q59:[+IFGRZWIMIUM6=%(5V@A+`F-<`'/Z3X_P#!FN?&7Q?\/=&\0Z?J +M7C+P!::5>>(],MV+R:-'J0G:Q6=@-B2RI:RR"(MY@C,4C*J31,_84`%%`!10 +M!\__`!D_Y.*_9._[*KJ7_J#^*ZS_`(U_M0>`/@/\??@5\.?%VC^,-1UO]H+Q +M`?#?AV?1[6UFM+*Z%S8VN^]::XB>.+?J4!S$DK;5D^7(4,`'P4_:@\`?'?X^ +M_'7X<^$-'\8:;K?[/GB!?#?B*?6+6UAM+VZ-S?6H>R:&XE>2+?ILYS*D3;6C +M^7)8+](4`%%`!7S_`/LG?\HLOV:?^R5>#?\`TT6M`'T!10`5Y_\`\)]_QE/_ +M`,*M_P"$*^('_(J_\)5_PEW]C_\`%*_\??V3^S?M^_\`Y"7_`"W^S[/]3\^[ +MM0!Z!10!X_\`%[XU>%?@M_PJ_P#X2G3_`!!?_P#"V/B!HGPXTC^RH()?LVJZ +MIYOV>6Y\V6/;;+Y#[V3>XRN(VYQ[!0`44`%%`!7S_P#!O_DXK]K'_LJNF_\` +MJ#^%*`/H"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`K^>'Q9\9 +MOC)_P24^*?B7X':5J/A_XX_!OQMI5YXA^%]GKNM)%JO@NXEF==UY;0CSOLWG +M>9YL2+!;WCHTUM+:3&]A4`_3_P#8X^"GQD\$^(_C3\;/VB[_`,/O\;?VAM5T +M;4=6TKP].CZ5X>TK3K$0Z?8*HB7%S;_:+FVD99[I'2"W832N9)9/M^@`HH`* +M*`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@#Y_\1_\I3?@W_V2 +MKXE_^G?P97T!0`5Q_P`0M,N-:^`7CC1K.3QA#=ZMX?U.S@D\)W]O8:^DDMM( +MBG3+JX>.""^!8&"65TC278SLJ@D`'\\-_P#!7XKVW_!.#]H/X<^$?@!XP\06 +M(M?NHO$MG=-I.M^%6W6>KZO:1&\)U:Q2Z:.WMOW +MUY,UZP3U#_@H7X,\4V&L?MY^+_&O@CX@:EI_B#2OA'_PK;Q3$9SI&D:#;720 +MZQ:O>"984MGU22,OI3%Y);J:UOQ:,D'VVW`.P_:B^"GQ*UGXR_\`!2'X@^%? +MAQ\3[_QE'=_!+4?A9J>C:9JS27.H68LUOK[15@&R>^LTCDC-U`K3VD>$_A7\0-.\3>#M*\':G\,?$7A+P!?>+-;\: +MZJ]_:277IMI+8//<7$UXSRBZ:.8`S_P!I?]F?QE?_ +M`!"_X*86_@SX)ZA=ZW\7/#_PW\2^`KW1_#@:/6K*QO;6Z\41VU[%'Y27TMY: +MBYEL&D2[O9(XYDAN#L^#/Q?C@^*W_"D9/!E +MG=^$KY+_`,3VVGR0+<36=LJ-(^R*,3R0D"XME<)=16TR20Q@'?\`[87P`O(_ +MVOX-)T+X7_8_V>XO@!XB\.>&M/\`#?P9O/']AH/BRZU5[B\_L71=,GMX=%UN +M>&:VEAU.X,,#-$59W*LT/ZO_``FTC7?#_P"RQ\--!\4ZCX@U?Q-HGA71K#5[ +M_76B;5;V_ALXH[B:\,5S=1FY>57:4IO +M?MN_!?5O!7[5O_"`^&/$WQ`DM/"6@_\`"LM'U3_A"K^+P;K;W-W]JFD$E_Y\ +M5KJ$7E3!5C_M'$_'7[17_"Q/B;KGQ5U; +M_A'O'G_"`Z7I'_",^==^%X;3_B5P.;>[^S7*R7/[UAYOF>6V%4&@`_X)^_#O +MX[7W_!4W]L3^QOVBO[!_X0'XJZ?_`,+'_P"*!TNZ_P"%J>7J^L^?]]Q_8_G> +M1>?\>N[9]MX_U*9_5[XU_"K]I/QQ\4]/U;X.?M6_\*+\,6^E16EUH/\`PK+1 +M_$_VN_6:9WN_M5Y(LB;XI((O*`VCR-P.7-`'0?`OX=_';P#_`,)1_P`+J_:* +M_P"%^_VK]A_L;_B@=+\*_P!A>5Y_VC_CR=OM'G^9!]_'E^1\N=[8\`_X9W_; +MK_Z2*_\`F!/#'_Q^@#W_`,??#OX[>(?V6/!7A/P+^T5_PKOXFZ'_`&;_`,)# +MX\_X0'2]7_X2;R;.2&[_`.)7.XM[3[37Y:Y5B:Y_\`8HT[7=+_ +M`."1_P"SE;>(O$7_``E&H2?#_0[N*\^P16/DV%Q;)/8V?EQDJWV2TDM[3S3\ +MTWV?S7`>1@`#Z@HH`_/#]OOX=:KXV@^!VKZ78^,-6D\%>(-6U"+39/AV_P`0 +M_`6HW1TZ3R+?Q1H-KYFH>5.4>U@U&TM+IK+[1.%BHML@`O_L2^'[;PO_P5W^&.AP^`_&'P\N]._8UT6WU;3=?L;C3& +MFUF+6K.+4Y[;3KAO,LXGOH[H2!H;87%RMU>*DRW8N[K[P_;X\+?$?QI_P2%^ +M-OACX3V'B#5?&VJZ59K!8:),T=_?V"7]M)J5O$JLK3>;IZ7<;6Z[FG5FA5)& +MD",`?'_Q.^'GA#6?$?P:G_9S_9P^+_@/PQI/[57PO\0>(6;P9JWA_0;R&TL; +MA;O5+'0)RDFFVUM$UM!>7K:?913R!,R7)B+IP'Q-\&?%/5?^"J_A+QKIGPK^ +M('@KQ-X7_:5\,V,#^'_`%]J+:QX`83-J7B/5/'2VDDEQ;7<5_'9#21?0VVGV +M4`M7MG$(:$`\/F^`/CZTG^(7@BP^%'[1_BC1/$'A_P"(DVN>/+/P==>&/BUX +M9:;44DDL-7OTO8=!^(MC>-!$X@CO+JYNH[J[:#[((88F_1_]@/PYXM\+P?'' +M2M=^%FG^"]$M_$&DPZ/XKTGPUK?@73/B&L6G1PR7X\&ZBL2:/?!([?[7/9VU +MO;74TAC3S19^:X!^A]%`!7S_`/!O_DXK]K'_`+*KIO\`Z@_A2@#Z`HH`**`" +MB@`HH`**`"B@`HH`**`"B@`HH`X_QK\0O`'PU\*V^N_$7QQX/\`:)=W:6$&H +M>)-9M=*M)KID>184EN'1&E*12L$!W%8W.,*<>7_\-8_LL?\`1RW[/_\`XA_P#R31_PUC^RQ_TA_\`R31_PUC^RQ_T!+?5[GQ38V>E>+=!LV: +M'3-0TRXFCMH;BV$,1M5,9ED9+6*>8JUTH/V__P`-8_LL?]'+?L__`/AP]#_^ +M2:`#_AK']EC_`*.6_9__`/#AZ'_\DT?\-8_LL?\`1RW[/_\`XA_P#R31_PUC^RQ_TA_\`R37T!0`44`%%`!10`44`%%`!10`44`%%`!10`44` +M%%`!10!\G_%CXA>`/AK_`,%)/@GKOQ%\<>#_``!HEW\-?B180:AXDUFUTJTF +MNFU3PA(L*2W#HC2E(I6"`[BL;G&%..P_X:Q_98_Z.6_9_P#_``X>A_\`R30` +M?\-8_LL?]'+?L_\`_AP]#_\`DFC_`(:Q_98_Z.6_9_\`_#AZ'_\`)-`!_P`- +M8_LL?]'+?L__`/AP]#_^2:\0\=^(_P#@GO\`$SQ5=:IXV^-_P/UB+4[O3[_5 +MM'7XRQ6F@>(;JR>%[:;5=&@U)-/U.5!:VD9>\MYF:*UMXF+10QH@![?_`,-8 +M_LL?]'+?L_\`_AP]#_\`DFN?U']M;]D?2_'?ASPY<_M&_!^34/%'VO['+:>) +M;2\L(?LT8ED^UWT+/:V.5($?VJ6+SFRD7F."H`.@_P"&L?V6/^CEOV?_`/PX +M>A__`"31_P`-8_LL?]'+?L__`/AP]#_^2:`#_AK']EC_`*.6_9__`/#AZ'_\ +MDT?\-8_LL?\`1RW[/_\`XA_P#R31_P +MUC^RQ_TCW5R(A+,MN'$$LH-M;O&\L;M#)$ +MDD1C=0U`!\//@O\`"_X4^*OB#KOP_P#!^G^'=;^*OB"X\4>+-022:XNM:U.9 +MWD=Y)9G=UB#RS,D"%88FFE,:(9'W>H4`%%`!7PA^S)^TU^S;H'_!-O\`9\T+ +M7?V@_@?HNMZ+\-?"=AJ&GW_CK1[:ZL+J'2[:.6&:%[@/'*CJR,C`,K`@@$4` +M>W_\-8_LL?\`1RW[/_\`X\*ZEH6N_M!_LWZUHFM6DUAJ& +MGW_CK0+FTO[29#'+#-"]P4DB=&9&1@592000:`/$-.U3_@GWI>L>(M7MOVB_ +MA_)XF\4:59Z%>>)KO]HN_O/$<.E6UT;V.RL]8FUE[^QMC<$R20VL\23'`E60 +M``=AX)^*?[%O@#Q5<:QH7[5G@^^N[FT:S>/Q)^T9?>);01LZ.2EKJFL7$"2Y +MC4"54$@4NH8*[A@#T_\`X:Q_98_Z.6_9_P#_``X>A_\`R31_PUC^RQ_T+/"OCCXG_`+47BGP3XE\/ +M^,/#&J?%6R^QZOHFHP:A87?E>"_"\,GE7$+-&^R6-XVVL<,C*<$$4`?4%%`! +M10`44`%%`!10`44`%%`!10`44`?G!\5?^"HW[./PN^-GC3P+%H7Q?^(NH?#; +M[1'XMOO"?AF.2P\-W$%__9D\-U)>W%JPV7;01>W[,?@3X57OB#XRZAX;^*L?]O:GX%TM]8T30_[1 +M\+ZW86OG:DA%K)E=0FNW^SR3>5;Z7J;R;'MO+?\`0BRD_L_^R="NKS5M6U#[ +M`SMJ%Q9_\??V?RHY))Y8(4M8II&E5A&!%O\`WICCV1/LRF^5J;;MM9*^[23T +M3>GR23;EHKKNPL/:TYX>,(?V +M3OA]\1O":>-FTCQA8:@]I/XDTR""_F_LV\;3;B2\:RW6,,TLT9D2-'3>I=HX +MPLSHT8>VYJL;5?X<(>U +MO27/5=KV]V%;FKSY:7LV_:+VOK]E)_9_]DZ%=7FK:MJ'V!G;4+BS_P"/O[/Y +M4:MJVH?8&=M0N+/_`(^_ +ML_E1R23RP0I:Q32-*K","+?^],<>R)]A&7+:\I/EM%^[NWRVEI%;=7&T%>5_ +MA]TJT?;R)]A92?V?_ +M`&3H5U>:MJVH?8&=M0N+/_C[^S^5'))/+!"EK%-(TJL(P(M_[TQQ[(GV$9SHT8>VYJL;5?X<(>UO27/5=KV] +MV%;FKSY:7LV_:+VOD'@#XW^%?%/[6/Q2_9_LT\;7WC;X%V'AY_$&M:IID"6& +MK?VE9K=0R1W-KB$3%""\;Q6VYO,\F-XXW,?K]E)_9_\`9.A75YJVK:A]@9VU +M"XL_^/O[/Y4S;]HO:\W +M:>-O">F_?A#=^,(M6^),GAB7Q)]@G\LZE=:3:SP64NH7"01I#")+FXC5? +MDB61Q,(4*PRB/I+*3^S_`.R="NKS5M6U#[`SMJ%Q9_\`'W]G\J.22>6"%+6* +M:1I581@1;_WICCV1/LNSIJ+E)NR2V3NVTDW:/Y6BDVVK)6P4H8J=:%&A3IN3 +M=1>_**IQA&TUI].T?[5<3>?;+ILE[=-!'%:PI$UZMW/@1[;>&[ECB9('5>F_9 +M^_:S^`O[37A5+SX4>.M/U'6XK07>H>&+_%EK^DJ$@:7SK)SO>*)[J&%KF#S; +M8RDHDSD55)ZHL1&$(1JWG&$)`?&'_@IG^SS\(/VG]=^$::-\3_BCXK\*6EU< +M:XW@+1[/5+32)+2*:XOH)9);N$F6TM[>2:Y,:O'`JR+(ZO#,D7O_`.S/^U3\ +M(_VK_@U>^+_A9J.H1R:+=_8]:T#6(HK;6=#D8OY!N8(Y)$\J=$:2*6.1XW`= +M-PDBFCCU.$^D**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`K +MX@^.WA/Q3J__``6<_8,\4Z3X9\0:IX8\'_\`"T?[>U>TTZ>>PT3[7H4$-K]K +MN$4QV_G2J8X_,9=[`JN2,4`?;]%`!10`44`%%`!10`44`%%`!10`44`%%`!1 +M0`44`%%`!10`44`%%`!10`44`%%`!10`44`%?`'QI^-/COXM_';XF_LL_LL_ +M$W_A3_[37P?_`+%\3WEYXG\.6M[H/B;0;FWA:Y@@N6BO/(\K^U+"1G>V60R* +MD<:O&\TT0!G_`+/'PO\`^"C.A?M/Z5K/[2/[2/PO\7_"W3;2\>[\/^&]!LVN +MM9NGB:*WC>8:19/;11O)]H,B2.Q:!(C&5E9T/VA_A?\`\%&=<_:?U76?V;OV +MD?A?X0^%NHVEF]IX?\2:#9K=:-=)$L5Q&DQTB]>YBD>/[0)'D1@T[Q",+$KN +M`?/_`/P3-_:*_9Y^&G_!.I/@YX_\6>#_`((?%CX:^(-8M_&NF>-9[/PO=:EJ +M$][<-'.&N7C-U+%;I#92A_W\#6:QR(D?D-)^:/CWX"?$?]H/Q'^U%\5/V%/" +MGB"/]E6_\5VFF7GA+1M3;2_^$FFT^Q74+F>#0FF#7%M#=G[3;6K()4_M*UCM +MK962:*V`/3_V-?C!^T5\1?V_?V>/@WXG^+W@_P"'EG\./B5JT_\`PK&S^&.G +MZ)J&CM8Z1JLVJ,;:UTFULK>*YBFU339%-R+F&>\>?[,6C62OZ5[*R_LC^R=& +MT;2=(T_PSI]@UO'';O\`9_L'E>4EK!!:I%Y?D^5YH)#IY?E1*J.')BRG#53C +M%.2TUTLFUS6=GT5[;-I)VW7=A:_[N>&JU9QHR]YQBN92J0A-4KQ3CSZN +MG"G>$/V[ +M/'-G\2OV18-X=BTY; +MRUDTHZ@Y3;#:#39V,?"&J>$=3TV#Q0VJ6&NV] +MSINK:?.^O7DMJC6,T(;9+!*\I=V0@"':DBREH]Y\R7NI/;=VTOKT>RV75Z76 +MZ\K#QHRFU7DXQM*SC%2?,HOD5G*.CE92E>\8MR49M*#\`_;^^'FM^*->MO`V +MC?![5)/`NG_"/Q%)X?\`$/A_X=2>.YY_$5O#-:Z9X8TVR2TNX?"J2-/Y_^,GP]^(EI\#O!.O_`!%^'7Q4UOPKH?[!USH&E/#% +M=H?"'Q`BMX)M5DNW,L7]DS?V:FV[:Y:$W]M#<6`6]=C923"A3CR\L4N565DM +M%IHNRT6BTT78WKYGC*_M?;UYS]K-5*EY-\]1FN>=I.[]^6OO._P"K +M_P"RB]\/^"9_[,$<=M:-IC?"/PFUQ<-_X5]X;\(7?PMU[P5X#OO$FM^)M +M52_T[*V.LV]A<_\`"+6&DVUC?;-.M+G37>XD:Z_TA;UT,N,N;GY%=:)WUY7R +M\W33;X5=/EC=J_N[TJU%45AWB*BIS3G.*BN7VL%55)6]HE-6DDZC494U4JJ- +M.?+^\Z#XZ_!WXX3^(O\`@J3I'PE^&OBFPTCQKX;^$MIX6ET>"YTS^W+#3+&W +MBU*PT=%B2&^A&GB_MYX()=W$=JL,S7&Q>*^)7P4^(EQ_P3=_;GL/AOX&\::O +MX<^(U]X`DT;PMH/P=U7X>Z2FK:?>:5]LE\-^%9[JZU"1);8*U]=S06@,UDOE +M_;$#M:$(RA'DIP22LDD[+ETZ):6UM%73LM5?0KUJ.)K?6,7B*DZE13G4DXJ4 +MG5;FXJ[J7FIODTW]NGQE=>"/@9XP\+_``V\ +M7_LZZKH.D:C\%O`]A)>V?BZ'6%N;P"WA-O#%+-HSRV\JSS6K:C:276GV\LL\ +MHA/TK^P-X?\`'GA;5OC1HVL_"/1/!OA"'6-/CT[QEI>AZ[X$L_'TL%A;P+>1 +M^"-1ACBTJZ,2`WUU:16MO/.4BB2Y%L9UTGS)>ZD]MW;2^O1[+9=7I=;KAP\: +M,IM5Y.,;2LXQ4GS*+Y%9RCHY64I7O&+IW?Q:\+>'[;P;:::TOV6.WO+ +MO4AINFZA-+:FW584DADN56RN&M(G1&9II0Y%R**C%644NR2Z625M4DKJR7>R +MWQ]?ZQ46)J59U*M2\JKFM?:.4H\K45.7Z7_`/!-KXJ_ +M#C]GO1_CM\*?VGO&GA_X5_M-7GQ`U#6_%$OCRZ6PO]7L!:V`@EFUNYQ;WN^Y +MN;VXA47,C2+<37,8:.5I6\?^%UI^T%^T5_P57_:U^-O[`OC3_A3/PRU[[!:I +MKVM^'K>#PWXOUN$6"3I+:RP3[;F7=J>J+(-,N/$^F6&E6J76HZ,ES +M&U[!"P\/1$2R6XE12)8R&8?.GW@`>X?M2?#S]N;Q1\4_#>K?LH_'OX?_``X\ +M,)I1M-;T'Q/HEI+F_29W2[@NGTV^DD\V*58FB(B6/[,C*9#,_E]!^RCX-_;) +M\(_\)[_PUM\6/A_\4/[0_LO_`(13_A&+.&W_`+,\O[5]N\_R],L=WF;[/;GS +M<>4_W,_.`?)^K?!;_@K[#XJU*'0OVO?@?J.B172(I&L3.$0R*-U`'T!10`44`%% +M`!10`44`%%`!10`44`%%`!10!Y?\;K+P9J/[%_Q=T[XBZMJ&@?#V^\%:_;^) +M]3L$+W6G:,]C,M[/"HBE)ECMS*Z@12$LH^1_NG^7+QG\-/\`@FC8_M8_!?2/ +M!/[0GQ?U?X1:W_PD?_"R=;N]-N5O_#_DV:/H_P!C0Z'&S^?=EXY-L%QA0"?* +M^^0#][O^">GAG]FCPK^Q?XGT[]E;XA>,/B5\/9O&M[<:AJ?B2VD@NH-9-C8+ +M+`BO8V1,2VZ6C@^4PW2/\YQM3[OH`**`"B@`HH`**`"B@`HH`**`"B@`HH`* +M*`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`K\X/AI\!/BQX?_X.6_VA/V@= +M7\*?8_A%XX^']EHFB:]_:=A)]MOXX/#Z/%]E28W4>&T^[&Z2)5_=<'YDW`'Z +M/T4`?-_Q,_9"_9H^,7QET;X@_$CX-^#_`!-XRT6[CO%U-X9+:34I(Q`L:ZDL +M#HFIQ(EK#&L5ZL\:QAHPH1W5O%5C3?+(\C;5&6=F/))H`^4/VG])^"^@?M(_LL?%;XG:9 +M\+]%DT7XE-87/C'Q1;Z=;-86D/ACQ+>6,+ZA<@>7$FIK;7$*%PJW(B=`)`IK +MKM#_`&L?V4H]"\.0>'OC[^SII?A$:2OV:%O'>DZ9/IR*L(M+=-/=E,2"(RAE +M5A4MSQ<8IRMHVGI&\>;WK.W1J.G,UV3:]7!J;PM6-6LX4+IN +M,7%N510J^Q?LG.#DD^:$JJ4O8QJ/1RG&%0T/]K']E*/0O#D'A[X^_LZ:7X1& +MDK]FA;QWI.F3Z.])TR?3D581:6Z:>[*8D$1E#*YB>$Q1IY3;F\K"ERKD +M]G32TM'1JT/5;6?+ZF,567UCZYC)SO-NO:=.ISXE>W]G*-J[^L +M0>O-B5=4_:SLI\T/;&A_M8_LI1Z%X<@\/?'W]G32_"(TE?LT+>.])TR?3D58 +M1:6Z:>[*8D$1E#*YB>$Q1IY3;F\KR_6?BI^Q/XZO/"FHQ_M)^!/#GARU\/16 +M=I:^'?VA=4\#II\$91K.#^Q=.U*TA4^7+.KM,LY=?#[C[0Z\JVL^4QBJR^L?7,9.=YMU[3IU.?$KV_LY1M7?UB#UYL2KJ +MG[6=E/FA[;L/AU^T9^R#X+^$_@WPKX(_:%^"EMX!T[26^PC7?BS%=:M8(S1R +M6MNR:E<276P1R3*5GF1[810PK%MXA\_\7^.OV!OBQH6CP:K\:?@I8>$=3\)G +M0KN'1OC-+X+GN]'*J+32K[3]/O+0W5FD5S?`6]Z?]$,LR)"/M4^TIW]G*-J[^L0>O-B +M5=4_:SLI\T/;13>.OV&/$>HZ)J>F?M(^#_#'ABYT6VCM].T']I'6_!MIH\,$ +M%M!86MKX?LM4MK6SB%NCAT6.W:-XE#1.\DC1^J^#?VG_`-DG0?AQX)\/^$OV +M@?@)8^!=(\/6UG8)J/Q*LDU*Q@@B@CLH'@NY3<,?($GFM49J"NU[K::?*^7FO>/NO\`N/XN5;6?+A/"*A1JX>>):IQ=JL82IRBZ\575 +M+D4:UJU.RL\1%6I*K))2O#VVAH?[6/[*4>A>'(/#WQ]_9TTOPB-)7[-"WCO2 +M=,GTY%6$6ENFGNRF)!$90RN8GA,4:>4VYO*-#_:Q_92CT+PY!X>^/O[.FE^$ +M1I*_9H6\=Z3ID^G(JPBTMTT]V4Q((C*&5S$\)BC3RFW-Y4TN5;=>TZ=3GQ*]O[.4;5W]8@]>;$JZI^U +MG93YH>V-#_:Q_92CT+PY!X>^/O[.FE^$1I*_9H6\=Z3ID^G(JPBTMTT]V4Q( +M(C*&5S$\)BC3RFW-Y1H?[6/[*4>A>'(/#WQ]_9TTOPB-)7[-"WCO2=,GTY%6 +M$6ENFGNRF)!$90RN8GA,4:>4VYO**7*N3V=-+2T=&K0]RZ^'W'VAUY5M9\IC +M%5E]8^N8R<[S;KVG3J<^)7M_9RC:N_K$'KS8E75/VL[*?-#VWS?^U)\Z#:VVEQ.DN5N; +M>(^0QC97@B@,$JR.J?HCX6\)^%?`W@2P\+>"?#/A_P`'^&-+\W['I&B:=!I] +MA:>9(TTGE6\*K&F^61Y&VJ,L[,>236^&MR)1BHPLN56:]VRM>+2Y;;<4M_M]G)%=&V#7,S_9S(8B[[ +MRF\!A[!X6\)^%?`W@2P\+>"?#/A_P?X8TOS?L>D:)IT&GV%IYDC32>5;PJL: +M;Y9'D;:HRSLQY)-;GE'044`%%`!10`5\@?!GX6^._"?_``5A_;0^)>OZ%]@\ +M$?%C_A7/_"*:E]MM9?[5_LO1YK2^_7RY;YHWV2QHVUU93C!!&17?\`QK_8S_9L_:)^*>G^-?C%\-_^$P\3 +M:7I46B6MY_PD&L:?Y5A%--.D7EV=U%&<2W,S;BI8[\$X```.@^!?[+?P)_9K +M_P"$H_X4IX%_X0O_`(33[#_;/_$ZU34?MGV/S_L__'[<3;-GVJ?[FW._YLX7 +M'@'_``ZX_83_`.B&?^7GXG_^6%`'O_QS_9;^!/[2G_"+?\+J\"_\)I_PA?VW +M^QO^)UJFG?8_MGD?:/\`CRN(=^_[+!]_=C9\N,MGG_@I^QG^S9^SM\4[_P`: +M_!SX;_\`"'^)M4TJ71+J\_X2#6-0\VPDFAG>+R[RZEC&9;:!MP4,-F`0"00# +M@/%G_!.']C'QQ\4_$OC7Q3\&O[4\3>,-5O-;U>\_X2WQ%!]KO[N9Y[B7RXKY +M8TWRR.VU%51G````KU__`(9;^!/_``PG_P`,T?\`""_\62_Z%S^VM4_Z"']J +M_P#'Y]H^U_\`'[^]_P!=_L_<^6@#R#PG_P`$X?V,?`WQ3\,^-?"WP:_LOQ-X +M/U6RUO2+S_A+?$4_V2_M)DGMY?+EOFC?9+&C;75E.,$$9%=_\:_V,_V;/VB? +MBGI_C7XQ?#?_`(3#Q-I>E1:):WG_``D&L:?Y5A%--.D7EV=U%&<2W,S;BI8[ +M\$X```.@^$W[+_P5^!?PL\7^"?A-X=\0>"O#'CC?B?_`.6%`'O_`,<_V6_@ +M3^TI_P`(M_PNKP+_`,)I_P`(7]M_L;_B=:IIWV/[9Y'VC_CRN(=^_P"RP??W +M8V?+C+9Y_P""G[&?[-G[.WQ3O_&OP<^&_P#PA_B;5-*ET2ZO/^$@UC4/-L)) +MH9WB\N\NI8QF6V@;<%##9@$`D$`X#Q9_P3A_8Q\>XE\N*^6--\LCMM1549P```*]?\`^&6_@3_PPG_P +MS1_P@O\`Q9+_`*%S^VM4_P"@A_:O_'Y]H^U_\?O[W_7?[/W/EH`\@\)_\$X? +MV,?`WQ3\,^-?"WP:_LOQ-X/U6RUO2+S_`(2WQ%/]DO[29)[>7RY;YHWV2QHV +MUU93C!!&17O^L_`3X3>(/VR?"?[0.K^%/M?Q=\#:5)HFB:]_:=_']BL)%NT> +M+[*DPM9,KJ%V-TD3-^]X/RIM`/8**`"B@`HH`**`"B@`HH`**`"B@`HH`**` +M"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`*_/#X7_`+0_Q/US_@XR_:1_ +M9NUG5=/U'X6^$/!6D>)/#]H^GPQW6C70M=%,R1W$85Y8IWU:>1Q/YK!HX1&T +M2AU<`_0^B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`*^0/@S +M\4?'?BO_`(*P_MH?#/7]<^W^"/A-_P`*Y_X133?L5K%_97]J:/-=7W[Z.-9I +MO-F17_?.^S&$VKQ0!]?T4`%?$'_!1[PGXI\%6D?9%&\C;5.%1F.`":`/M^B@`HH`**`"B@` +MHH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@` +MHH`**`"B@`HH`**`"B@`HH`**`"OD_P1\+?V>=#_`."M/QE^*6@>.=/UO]H[ +MQKX?TVS\1>&W\36)O!_] +MC_8[76X)Y["7[7JEG8R>:D,L4AQ%#?$U@(M*"6-AQB>\M+J,W+RK!*JB,-LMY2&`!#?B!\._'/[6%K^W9 +M^T5J/A_]O7]D#PGXVU7_`(1'_A*_&6K^(-"CT'QWY6GR)8_V1+)I+PR_8H2U +MO<>3%#MD90_F-\P`/Z/OA-_LL?#2\\4^*?#_`(X\37?A71IM7\2:%+%- +MI7B"_:SB:XOK)XHXXWMIY2\L3)&BE'4A5&`/0*`"OQ!_:G_9]_X*(>._A%\4 +M-'^+'[6'[+^C?L]ZUJJRSIK</_&OX"?";]HGX6:?X)^,7A3_A,/#&EZK%K=K9_P!IW^G^5?Q0 +MS0)+YEG-%(<17,R[2Q4[\D9`(_*'P;^S+^PGXM_X+)?%C]DG_AD_^S_^%7^% +M;;Q/_P`)7_PL[Q/+_:?FQ:5)Y'V'[0OE8_M?&_SWSY'W1O\`D`/U^^%OPM\" +M?!;X$Z%\,_AGH7_"->"/#7VG^S=-^VW5Y]F^T7$MU-^^N9))FW33RO\`,YQN +MP,*`!Z!0`44`%%`!10`44`%%`!10`44`%%`!10`44`%%`!10`44`>/\`QK^` +MGPF_:)^%FG^"?C%X4_X3#PQI>JQ:W:V?]IW^G^5?Q0S0)+YEG-%(<17,R[2Q +M4[\D9`(_.#X=_L6?L)^/?V[/VBO@I_PS'_9/_"@?^$1_XG/_``L7Q//_`&[_ +M`&YI\E__`,>_VI?L_D>7Y?\`K)?,SN^3&V@#]7_"?A;0?`WPL\,^"?"UA_9? +MACP?I5EHFD6?G2S_`&2PM(4@MXO,E9I'V11HNYV9CC)).3704`%?@C_P5U_: +M!U7Q?IVK_LS_``U?4+BS^%EI9>./C!.I>RCMK26>PM='LPS3(+V(W&KV=Q-$ +ML,RK(^GR*X:"X$0!^IW[(7QBUWXR?L;65SXZA^Q?%WX;:K?_``]^)-GOBD^R +M^+-(807K>9!%':OYZF&[Q:[X(_M/E*[^637U!0`44`%%`!10`44`%%`!10`4 +M4`%%`!10`44`%%`!10`44`%%`!10`44`%%`!10`44`%%`!10`44`%%`!10`4 +M4`%%`'R_;:_\??''[0'QGTCP3XW^#_@_PQ\,_%=CX8L[?6_A[JNNW]WYGA_1 +M]8DGEN8=>LHQ^]U9XU18!A8E)9B370?\(Y^U-_T63]G_`/\`#-ZY_P#-90`? +M\(Y^U-_T63]G_P#\,WKG_P`UE'_".?M3?]%D_9__`/#-ZY_\UE`!_P`(Y^U- +M_P!%D_9__P##-ZY_\UE'_".?M3?]%D_9_P#_``S>N?\`S64`'_".?M3?]%D_ +M9_\`_#-ZY_\`-97SAX9_8[^-'A7_`(*7?$+]JC3OCW\+YOB#\2O#\'AO4]/N +M/A+J+:-!:11Z?&KP0KXD6=9<:5;Y+SNN7E^4978`?1__``CG[4W_`$63]G__ +M`,,WKG_S64?\(Y^U-_T63]G_`/\`#-ZY_P#-90`?\(Y^U-_T63]G_P#\,WKG +M_P`UE'_".?M3?]%D_9__`/#-ZY_\UE`!_P`(Y^U-_P!%D_9__P##-ZY_\UE' +M_".?M3?]%D_9_P#_``S>N?\`S64`9_AOQ)\:-`_;0\*?#GXB^*OA?XOT3Q?X +M*\4>)()_#?@K4?#UU876DWVAVJH[7&LWZ312)K4I("1LK0I\Q!(KZ0H`**`" +MB@`HH`**`"B@`HH`**`"B@#Y`^$VK?M3?%#]ECX:?$O_`(6A^S_H?_"Q/"NC +M>)_[-_X5)KES_9_V^SBNO(\[_A*4\WR_-V;]B;MN=JYP._\`^$<_:F_Z+)^S +M_P#^&;US_P":R@`_X1S]J;_HLG[/_P#X9O7/_FLH_P"$<_:F_P"BR?L__P#A +MF]<_^:R@`_X1S]J;_HLG[/\`_P"&;US_`.:RO(/!G[./Q]\#?M8_&CXQ:3\< +M_@_<>)OCI_PCG]O6MW\(M5>PM/[%LWL;7[&B>)UD3?%(3)YDDN6P5V#B@#U_ +M_A'/VIO^BR?L_P#_`(9O7/\`YK*/^$<_:F_Z+)^S_P#^&;US_P":R@`_X1S] +MJ;_HLG[/_P#X9O7/_FLKX07_`()H^/G_`&>/V@?`.H?M%^#]6N_VFO$%EXD\ +M=>*;CX672:S>75K?C4X4@2'7X[""(737#D):;B+F5=VU81$`?2'AW]G'X^^$ +M_P!LGXB_&SP_\<_@_8>(/BQI6D:=XKTK_A46JRZ5JMQI:M#8W^V3Q.UQ#UZ__P`(Y^U-_P!%D_9__P##-ZY_\UE`!_PCG[4W_19/ +MV?\`_P`,WKG_`,UE'_".?M3?]%D_9_\`_#-ZY_\`-90!H?!?Q9X^U[6_C!X: +M^(NH^#]:UOX8^-8?#<&I>&]#NM%M+^TFT#1]85WM+B^O7257U:6(D3E66-#M +M4DBO<*`"B@#Q_P".GC'Q3X&_9_35_!,OA^W\3:IXK\'>&+.XUO3Y]0L+3^VO +M$&G:/)/+;0W%M)-Y45\\BHL\66106`S7/_\`".?M3?\`19/V?_\`PS>N?_-9 +M0`?\(Y^U-_T63]G_`/\`#-ZY_P#-91_PCG[4W_19/V?_`/PS>N?_`#64`'_" +M.?M3?]%D_9__`/#-ZY_\UE'_``CG[4W_`$63]G__`,,WKG_S64`'_".?M3?] +M%D_9_P#_``S>N?\`S64?\(Y^U-_T63]G_P#\,WKG_P`UE`!_PCG[4W_19/V? +M_P#PS>N?_-91_P`(Y^U-_P!%D_9__P##-ZY_\UE`!_PCG[4W_19/V?\`_P`, +MWKG_`,UE'_".?M3?]%D_9_\`_#-ZY_\`-90`?\(Y^U-_T63]G_\`\,WKG_S6 +M4?\`".?M3?\`19/V?_\`PS>N?_-90`?\(Y^U-_T63]G_`/\`#-ZY_P#-978? +M!#QKJOQ*_8O^$/Q%UVWT^TUOQ]X*T#Q)J$%@CQVD-U?6,-U*D*N[NL0>5@H9 +MV8*`"S'D@'J%%`!10`5\_P#Q+\4?%/\`X:G^''PS^&>O?#_PO_PE'A7Q9XGU +M+4O$_A:^\0?\@J[T*TA@@AMM3L/+W_VU*[.SR?ZI`%&2:`.,^'MW^U-X[^$. +MD>*O^%J?L_Z5_:OVC_1?^%1:Y/Y7E320_?\`^$J7.?+S]T8SCG&:/A[=_M3> +M._A#I'BK_A:G[/\`I7]J_:/]%_X5%KD_E>5-)#]__A*ESGR\_=&,XYQFOFQ]W9T/A[=_M3>._A#I'BK_A:G[/^E?VK]H_T7_A46N3 +M^5Y4TD/W_P#A*ESGR\_=&,XYQFCX>W?[4WCOX0Z1XJ_X6I^S_I7]J_:/]%_X +M5%KD_E>5-)#]_P#X2IT/A[=_M3 +M>._A#I'BK_A:G[/^E?VK]H_T7_A46N3^5Y4TD/W_`/A*ESGR\_=&,XYQFCX> +MW?[4WCOX0Z1XJ_X6I^S_`*5_:OVC_1?^%1:Y/Y7E320_?_X2I*O^%J?L_P"E?VK]H_T7_A46 +MN3^5Y4TD/W_^$J7.?+S]T8SCG&:/A[=_M3>._A#I'BK_`(6I^S_I7]J_:/\` +M1?\`A46N3^5Y4TD/W_\`A*ESGR\_=&,XYQFC*N(OKOU#]UR_6L.Z_P`5^6WL +M?=V7-_&^+3X=M=#).*_[0_LS]SR_7,++$_%?DY?J_N?"N:_M_B]WX/A][0^' +MMW^U-X[^$.D>*O\`A:G[/^E?VK]H_P!%_P"%1:Y/Y7E320_?_P"$J7.?+S]T +M8SCG&:/A[=_M3>._A#I'BK_A:G[/^E?VK]H_T7_A46N3^5Y4TD/W_P#A*ESG +MR\_=&,XYQFC*N(OKOU#]UR_6L.Z_Q7Y;>Q]W9W?[4WCOX0Z1XJ_X6I^S_I7]J_: +M/]%_X5%KD_E>5-)#]_\`X2I*O^%J?L_Z5 +M_:OVC_1?^%1:Y/Y7E320_?\`^$J7.?+S]T8SCG&:,JXB^N_4/W7+]:P[K_%? +MEM['W=ES?QOBT^';70R3BO\`M#^S/W/+]W?[4WCOX0Z1XJ_X6I^S_I7]J_:/]%_X5%KD_E>5-)#]_P#X2IH:'8?#C6+&Z-IJOB6S +MT&5X;Y_$,R1RHEVTREK:1=RA2I'-&5<1?7?J'[KE^M8=U_BORV]C[NRYOXWQ +M:?#MKH9)Q7_:']F?N>7ZYA98GXK\G+]7]SX5S7]O\7N_!\/O:?<=%?3'V`44 +M`%%`!10`44`?/_P;_P"3BOVL?^RJZ;_Z@_A2OH"@`HH`^?\`]J?XL^*?@7_P +M3[^*'Q9\$^$/^$X\3>"M*6\L]*9)WA&Z:.&2ZN%A!D:VM(I'O)@I3,5O(#)" +M,RI\H>&OV^]%M?V#/VA/CG>>+OA?\=_#OP=N]*@TMO`.FZSX5U.^DU`6]M!! +MJFCZSYTEA%]NF*I>Q7-W'-"LY2)9K5X9`#Q_QU_P48\??#SX(?&?2TUG]F_X +MO?%'P%X*\->/M%\2?#F[NM3\%O:7FLZ;H>J:7?Q?;C<)?6MU>R20O'<;9[>6 +MWEDBM6!AD]0^-O[8GQ]^`_Q)^,O@S5O`'P_^(?B;PU\%;;XOZ#!X;M=5BAT# +M?KHT:ZL[YGDDDU6VLHIEOI+V.+3-\5E/N@MA+OM@#0\-?M]Z+:_L&?M"?'.\ +M\7?"_P"._AWX.W>E0:6W@'3=9\*ZG?2:@+>V@@U31]9\Z2PB^W3%4O8KF[CF +MA6VMQ=K=BYM[VXN3!-%-LN(3%(\=JZ-!(`?H_\,[;XIVWP +MLM/^%Q:S\/\`6/&T_ES77_"&Z-?:9I5CNACWV\?VR[N9KG9,)L7!\CS$,>8( +MF4[O0*`"B@#X`_:%_:C^!/P!_P""IOPD_P"%M>.?^$3^Q_"KQGYW_$EU2_V? +MVIJ_A_[!_P`>EO+GS?[#U3I]S[/\^WS(M_QA_P`%`OVY?`_Q*_X)MV.N_LG? +M''QA::WX6^)7A^P\0:AX;&O>&;J&TOM+UR2&%Y9(K9Y8I'L&8HA90T"%@#LR +M`=?_`,/(?V>/^'T'_"8_\+[\0?\`#/?_``I7^QOL_P#9/B3^RO\`A,O[=\_? +M_9GV7=]I_L_C[5Y&-G[OS,_+7Z/^/OVH_@3\+_V6/!7QJ\=>.?[#^&7Q$_LW +M_A'M9_L75+G^T/M]G)?VG^CP6[W$7F6T4DG[V--NW:VUB%(!S_P4_;,_9L_: +M)^*=_P""?@Y\1_\`A,/$VEZ5+K=U9_\`"/ZQI_E6$4T,#R^9>6L49Q+#]5O-$U>S_`.$2\13_`&2_ +MM)G@N(O,BL6C?9+&Z[D9E.,@D8-`'K__``U'\"?^&$_^&E_^$Y_XLE_T,?\` +M8NJ?]!#^RO\`CS^S_:_^/W]S_J?]K[GS5Y!X3_X*/?L8^./BGX9\$^%OC)_: +MGB;QAJMEHFD6?_")>(H/M=_=S)!;Q>9+8K&F^61%W.RJ,Y)`!-`'?_&O]LS] +MFS]G;XIZ?X)^,7Q'_P"$/\3:II46MVMG_P`(_K&H>;82330)+YEG:RQC,MM, +MNTL&&S)`!!/0?`O]J/X$_M*?\)1_PI3QS_PFG_"%_8?[9_XDNJ:=]C^V>?\` +M9_\`C]MX=^_[+/\`.O'/\`8?PR^(G]F_\`"/:S_8NJ7/\`:'V^SDO[3_1X+=[B +M+S+:*23][&FW;M;:Q"D`X_X0_MQ?LK_'?XRP?#WX6_%K3_$/C*[M)[RUTRXT +M?5=*DO8X`&E6!KZVA2:54W2&*-FD\N.63;LC=EY#Q9_P4>_8Q\#?%/Q+X)\4 +M_&3^R_$W@_5;S1-7L_\`A$O$4_V2_M)G@N(O,BL6C?9+&Z[D9E.,@D8-`'K_ +M`/PU'\"?^&$_^&E_^$Y_XLE_T,?]BZI_T$/[*_X\_L_VO_C]_<_ZG_:^Y\U? +MFA\=OVRW_:__`&G_`(+_`+*?[%GQKU#P=%\1KN\OO&7Q`MM*U32;K3K2RB>] +M6TL)9/(NQ*(;.ZEE5$A69C9PBZ2*2Z4`%#]INV^.'_!.;QW\,OV@?!/[0?Q? +M^.WPHU;54\'^*O`?Q7\77.L37LT\<]V)+2<1"&#=#9N%F6)9;>6),_:X+B:! +M/'_&G_!4#6/VA?'>N>#M`^,/A_\`8F^$4?FVLOB>[\/:QXJ\<:[;2QWT2M9Q +MV%N]K8Y4V1D430W%M)B2WO;C:T=`'ZO_`+`=SH-W_P`$;?V>I?#GBGQ!XPT] +M/"L,,M_K,LLMS;W\4LD=]8H9(T86UE=I<65NH4JMO;0JC2(%=OK^@`HH`*_* +M#XB?\%'/^$-^*?Q6\10WGP?MOAE\#/B!'\/M<\!ZIK'E?%#Q=Y$QM-5UC1;< +M7"VXMK>YN+0P0212?:H;6_>2XL6544`Z#QS^VK\4_"7@3]HOP5'H'P__`.&D +M_!7QJT+X+O(F-IJ +MNL:+;BX6W%M;W-Q:&""2*3[5#:W[R7%BRJB@!XF_;5^/OA[]F?\`:C^-?]@? +M!^7P1^S)\:M0^'W]C?8=5.J^,-*AU;3[#9]H^UB'3;F.&]\S[7Y=ZD[R[?LE +MLMONNO8/@GXR^.'B7_@MK^U]X1U_XC>']2^''PL_X0>UL_#[>&[E/(L-1TR_ +MO[9+&1=0$=MP +M_M;_`!_\%?LR^&?BKXE7P@GA+Q#L\RV\$\LHN+&VM+8:+)';W%K+ +M$JW,R0I;R-<-7?\`@_X[:Q^P+_P4U\>_`[]I[]HWQ!X]^!?B[PJGCOP/XB\6 +MPZQXB\1Z;<2WHLH=/GG@BED&8K:]\P!3;L;:":,6CW$T#`'RA^S)^W+X'L/^ +M"8]YX0_:%^./C#7_`(HK\=?!7BBT'B0:]K]U'X7T[6_#5]<.EV8ID6*)+#4Y +M1!Y@*+JQOE\)II7A&.WU#4M6?2UNVO![B0"(^`?![ +M]I?]J8?M8O\`!S0=6^']UXF^+/[2OQBT*_NO'-UKGBFP\%Z5X?L]'OC9:0\< +M]E(]M#%/?K!"T<"2-Y(VV@=RH!^UVDQ:K#X5TR'7;S3]1UN*TA34+NPLWLK2 +MZN@@$LD-N\LSPQ,^YEC::5D4A3(Y&XZ%`!10!S_BSQ3H/@;X6>)?&OBF^_LO +MPQX/TJ\UO5[SR99_LEA:0O/<2^7$K2/LBC=MJ*S'&`"<"OS`_9Z_X*/?L8^! +MOV!?@=X)\4_&3^R_$W@_X?\`AG1-7L_^$2\13_9+^TTZW@N(O,BL6C?9+&Z[ +MD9E.,@D8-`'E_P`:_P!KW1?@Y^V9_P`%)_A[X[^,?C#PSK>M>"O#=G\(-,2; +M6;F/3=9D\*3-*=-:V1XM,E>\NK*1I=T`:0K(6)0LOV!^Q+^US\'OC?\``+X8 +M_#'0OB9J'C;XT>%?AKHM_P",;:_T[5Q="ZMK:SM-0FFOKJ!8KF7[9.H9UED: +M1G+@L,M0!G_%C_@I?^R=\+_^%E^'_P#A87]N?$WX=_VSI_\`PBG]A:[:_P!H +M:[8>;'_9_P!N^P/;Q>91Y^7C7=ORRCGY/_9J^#/[0O[9_[,'B7]I7XD_M +M??&_X9ZI\6+O4F\$>'?AKXDO-)T#PM'9RSZ>IN;#PT[6+6*YD75X=LAN8XK2_22:X6U:>W>WW>?/)<$_5/P$_:(_9Z_:0^/W[ +M&?P[UGQWJ'Q"^(6B_!/Q!H7B&&_M==BNG\7&W\-7'J83$1YJ=2+C)7:O&2LU=6:NG:Z:?8X\PP%#'86M@L5 +M'FI58RA-7:O&2<9*Z::NFU=--=&C[B^#OP=^''BK]G+PYKVO>'/MVK7WVOSY +M_M]Y%OV74T:_+'*JC"(HX`Z>M'P=^#OPX\5?LY>'->U[PY]NU:^^U^?/]OO( +MM^RZFC7Y8Y5481%'`'3UK\$X?\-N',3_`&3[?"W]OA)59^_47--?5;2TFK?Q +M)Z*T==M%;^9>%_"/A/%_V']8P7-]9P,ZU3]Y57-47U.TM*BM_%J:1M'WMM(V +M/@[\'?AQXJ_9R\.:]KWAS[=JU]]K\^?[?>1;]EU-&ORQRJHPB*.`.GK7Q'^S +M#\8_`/Q4B_9HTCQW\!=0T4_M(6GC==`U]/%[W32ZAX2X$EI#Y0CL6M?W: +M3EEG-S!+&;00>7>3>GPUX2<.8S+LOQ]?#WY\/%SCSU/?G.-.2G=5%R\MIKE2 +MY7S].5'K\(^!W">/RK*\SQ&%O[3"PE4CSU5SU*D*4E4NJBY>6U1']1U;X\_$#2_AQX$MXOB+J*-06&:\2[6Z2'3Y(K=E%G>696WFO9+99K8&3RK2>1DN(=:'A'PQ +M0QF#P.(HN'JN;YJL8U9TY8:+JNU:]-WF[4XIP:G*[7)&_H?PS^-_@#44\+MXH^!T&I +M>#-4^.:_L_S>)XO&M['KC^)9X#/#MIO[.4'B[P9X/\`B1J'PU\3>)XOB$]EKEE<6T"SRZF=&DCAM7T^ +M)[BW@;R;]KIDS*ML[`Q5X_#_`(;<.8G^R?;X6_M\)*K/WZBYIKZK:6DU;^)/ +M16CKMHK>%POX1\)XO^P_K&"YOK.!G6J?O*JYJB^IVEI45OXM32-H^]MI&W,_ +MLW?%CP!\2M4_9STGQG\%H+?2?VF(_'9\%^([3QC>W&HM)X;N)/.75],$$$%D +MLEO&_EM;75X=Z(K*`[.GS9\!_P!H#PCX*_8(_9TTKQS\/++QOX]^(_A7QMXF +M_P"$Q^(WQ)U#PCHFNW&F:Y?V\.CVNL207-JVI&"!05O'LK>)6LE:6'M)*=36<8VDXOF346VWRI1B_=;C>,;?=Y)X#\)T)?!]S'KFKPW$MW'*OV\. +M?;M6OOM?GS_;[R+?LNIHU^6.55&$11P!T]:\9U/X>^$/^&%_A=X\_LC_`(JO +M_A:OPV_T[[5I +MK5@\*XSMS6TZERN^L796VX'\,^&H8KAW&QPG[V>#>)D_:5-:]-X*4)VY[ +M*SJ3?*DH.^L6DK?HS17[X?TV%%`!10`44`%%`'S_`/!O_DXK]K'_`+*KIO\` +MZ@_A2OH"@`HH`X_Q_P"#;;X@_!KQ#X,NM?\`&'A6+7[0VZZSX5UNXT;6=+D! +M#1SVEY`P>.5'56`.Z-P"DB21,\;>'Z-^R3\*TT?XW0^/Y/$'QDU#]HG^S(_' +M>I>,&L5FU6VTVU6TTZ&.'3;:SM;7[,JF2*:"&.X65A)YI>.(Q@'(>*OV*O#W +MQ!_9X\6?#7XD?'7]H_XA:)XJ\/Z'X:6;6O$]@9-+LM,OXM1CDB@@L(K2XOII +MK>%9K^]@NKMXTV"9`S[N_P#'_P"S%X,^(/[2OB'XL77B[XG^%?&.O_#4_"]; +MOPKXA.C2:7IPU(:M'>6D\$8N([Y+I5P3*T#Q@QR02(SA@#/T;]DGX5IH_P`; +MH?'\GB#XR:A^T3_9D?CO4O*S:K;:;:K::=#'#IMM9VMK]F53)%-!#'<+* +MPD\TO'$8^`U[]@KX5^,?@3\0O"'CWQS\7_B#X@^).E:#X=O_`!YXBUJQO?%5 +MAH.D7%K=V>FV5P;,6\%LUS9K<3XMS)=32RS3R2R['0`^WZ*`"B@#Y_\`$?\` +MRE-^#?\`V2KXE_\`IW\&5XA_P4+_`&7_`!]^UE^Q?X8^'/PYU?P?HNMZ+XUL +MO$D\_B2ZNK:T>TAL;^U9$:WMYW,I>\B(!0+M#_,"`"`>G_\`"E/%/_#Z#_AH +MO[?X?_X0C_A2O_"N/L/GS_VK_:O]N_VGYOE>5Y/V;R?EW>;OW\>7M^:OJ"@` +MHH`**`"B@`HH`**`"O@#]L3]COQ3\9_BGX`^//P&\??\*K_::^%?D6>B:W>7 +M4ZZ5J6E":5WM+I$CFV;/M5TP*PR).DT]M<1RQRH]N`>/^,/V._VIOVJOVCO` +M4W[9_C[X/P?`OP#OU(^!/A1=:Y;P^(M5#$(UVU[&LB;XI&C:=9G>.)7CMTMW +MNI;D>P?$#_@GQ\.)/BFGQ0_9O\4^(/V2_B[!Y"_VOX$B5=!U*&.:SD^SZAH6 +MZ.UGMMMB,V\1MXI9)#)<)=8VD`]?_8H_X2G_`(='_LY?\)C_`,(__:W_``K_ +M`$/[/_8WG_9O[*^S)_9F_P`[YOM/]G_9/M&/D^T>=Y?[O;7U!0`44`%?+^L? +MLJ^%;GXI^,?$'A+XB?%_X4:1\2=5T_7?&7ACP+K\&C:5XDU6VF$DMX9%MVOM +M/N;Q$BAO)M,NK)[I(U,A:0M(P!H>)?V7_`'BK_@I=\//VJ-0U?QA#\0?AKX? +MF\-Z9I]O=6JZ-/:2QZA&SSPM;M.TN-5N,%)T7*1?*<-NS]8_95\*W/Q3\8^( +M/"7Q$^+_`,*-(^).JZ?KOC+PQX%U^#1M*\2:K;3"26\,BV[7VGW-XB10WDVF +M75D]TD:F0M(6D8`P-<_8I^%?B#]D[X]?!R\U_P"($7AC]HGX@7GQ'\274-]8 +MK?V6JW-Y9WSQ6+FT,<=L)=/A4++'*^UI`7)(*^GZ3\!_#WAW]MKQ?\<_#/B7 +MQAX>UOXCVFE6_C/0K>2PGT;Q3)IEM/:6$\XN+66[MY88;@*!9W-M&Y@B,B.3 +M)Y@![A10`44`?/\`\&_^3BOVL?\`LJNF_P#J#^%*Y_XJ?!3Q3XX_X*3_`+*7 +MQBTF_P##]OX8^!?_``G7]O6MW/.E_=_VUI<5C:_8T2)HWV2QDR>9)%A<%=YX +MH`^(/"O[(/[Y@L_M2W,;:G>F2*WDA1&A@)ENDD:.+Z`_9D_9D^.'A;]N'XF?M-_M- +M_$SP_P",OBMXRTIO"6BZ+X2>Y;PWX<\-F>"\\B#[5#',NV:!%CB50%`FFEDN +MI[IWB`/#_@5^R_X^_9,_X)2O\.?B+J_@_6M;UK]HKX9^)()_#=U=7-HEI-XI +M\)VJH[7%O`XE#V:LD05@J!?)2.)`"A%^Q3\*[+_A(-1T?7_B!H/C;5?BKK'Q +M@TGQEI]]8QZ[X3UW5?(34+?3Y3:&$Z;<0VZV\UG=Q7,(_B?>ZWX-\:^-_'=C#K&NQ:E'-J'BFPMM.OX[F::W:[ +MN(HX;*)HGDG:NP:OX/2S_:R\%:)X;\(H]U="33KJS\.7>D2OJ0%N1% +M$;BY1E,)G8QAB5#`(?I_X(>"=5^&O[%_PA^'.NW&GW>M^`/!6@>&]0GL'=[2 +M:ZL;&&UE>%G1':(O$Q4LB,5(RJG@`'8>+/"V@^./A9XE\$^*;#^U/#'C#2KS +M1-7L_.E@^UV%W"\%Q%YD3+(F^*1UW(RL,Y!!`-?F!X(_9J_;_P#V=?`GBOX0 +M_LZ?%[]G_6_@E%]JB\!3?$*QO8_$?A"&ZDN+J5U-C8FWGN5N;R1B]U]IBD,$ +M3+!`CO;@`!_P3O\`%.D?\$2OB[\#M-\9^'_%/[0?QVU72O$_C+QKXAEG6VO] +M5AU.SOI8&O5MY+Z:VB2WN?+>=7>2XN;B8K`+AHXO0[KP3X-^&OCK]C#X<_&R +MXT^ZC\`?`;Q/X;N9[![][2;5K&3P7:N\+0HDS1'RIRI=$RI&Y5;`'F9U]3_L +M[$_VA_N_LY^TW_A\KY_A][X;_#KVU/'XA^H?V5B_[4_W7V53VOQ?P^1\_P`' +MO?#?X?>[:V-WX>_\,X_\*ATC_A//^1K_`-(^W?\`(7_Y[2>5_J/W7^J\O[OX +M\YH^'O\`PSC_`,*ATC_A//\`D:_](^W?\A?_`)[2>5_J/W7^J\O[OX\YK^5, +MJ_XAS_L'UW_H'?M_]Y_C_N;?#_W&^#W._P!D_BG)/^(3_P#"9_:'_0++ZS_O +M?^\_[/R_#_W'_A_N^_V`^'O_``SC_P`*ATC_`(3S_D:_](^W?\A?_GM)Y7^H +M_=?ZKR_N_CSFOCS]C?\`9X_9]\(_LX_!CQ/\>+SQ3:?%GP'8>);:3PQ+J5Y< +MZ/I=WJ&I7'^G1&S1SYTFG+:Q>5':DX^[-I.UCT/P%^SK^R,O_!/SX>_"SQ3XD\9Z'XD\ +M":T?$.F^(;2:XDU?2]2BU*XNX)E'V633I?W%J6CNN5SI7F*M/X5_`7]F;1=8@\7>)/B9\4])N]6\37OC#7/!-E?30:#> +M:O*KP^9++:V0OY(G"PW#6_VXP-(`&C,8,5<.4\5<&>SR^CCZJ<%AK5XN%5IU +MHK!*":Y6FK8:S4;P:A[U^;WO-R3C3P_]EE=#,JRE!83EQ,94Z\HNO!9>H)I0 +M:DK82S4;TY*G:5^?WJ7P)_9P_9*\#Q^!O$?B[Q;XYU34_`\?B!-`\*ZA+*=( +M\+-J=RS3/;R65G'=3L8!L7[5=W*JLK\;PK)SGA/]E#]E*]_8L\'?#KQ)\4_B +MYX4DTO3-8TG6K6PN4O(=:M[K4I+Z%[FVN=-NK)+B`E3#?\C7_`*1]N_Y"_P#SVD\K_4?NO]5Y?W?QYS7SN'QGA_B\1A<7 +MFLN:I4HSEB7;$*^)DZ+O:"25VZVE-*GY?`?*X7'^%^.Q6"QN=2YJM6A4GBW; +M%*^+DZ$KV@DE=O$.U)*DNR7('P]_X9Q_X5#I'_">?\C7_I'V[_D+_P#/:3RO +M]1^Z_P!5Y?W?QYS7F6I_\*A_X9U^%W_15_\`A:OPV_Z"'_0[Z5_V[?\`'K_G +M=75P?_J)_:.3\G^\>SCS_P`?_>N:A[/^[\7M=OW?\VG*=G`?_$-O[5R'V?\` +MO/LH\_\`O/\`OO/AO9?W?B]MM^Y_FTY#]3**_JL_M8**`"B@`HH`**`/F]_A +M?\:-`^-_Q0\2_#GXI_"_1=$^)WB"S\23Z;XD^&^HZU=6%U#HVFZ.R)=V^O62 +M/$R:3%*`8`RM(XW,`#6A_P`(Y^U-_P!%D_9__P##-ZY_\UE`!_PCG[4W_19/ +MV?\`_P`,WKG_`,UE>8?&ZZ_:O\`?L7_%WQW9_&;X'I=^"O!6OZ]`UA\(=3AN +MA)9V,UPIADN/$MQ`DN8QM:6WGC#8+Q2J"C`'E_[&?C?]KCXZ?\$V/AO\4]6^ +M-'P?DU#Q1_;'FMK?PGN[R_/V;5+RS7S9K#7=/M6^6W7;Y=I%A=H;S'#2/]/_ +M`/".?M3?]%D_9_\`_#-ZY_\`-90`?\(Y^U-_T63]G_\`\,WKG_S64?\`".?M +M3?\`19/V?_\`PS>N?_-90`?\(Y^U-_T63]G_`/\`#-ZY_P#-91_PCG[4W_19 +M/V?_`/PS>N?_`#64`?,'[3GC?]KCX3?\,]?V=\:/@_'_`,++^-7A/P'=?V5\ +M)[NVW6VH_:=XN?MFNWGF6W[D;X[?[+<-\OEW4&#N^G_^$<_:F_Z+)^S_`/\` +MAF]<_P#FLH`/^$<_:F_Z+)^S_P#^&;US_P":RC_A'/VIO^BR?L__`/AF]<_^ +M:R@`\+_#/XI_\-3Z#\2_B7\1OA_XH_X1?PKK_AC3=-\,>!+[P_\`\A6[TFZF +MGGFN=9O_`#-G]BQ(J*D?^MGSW_P?UA[J:TL;:.UA>9D\ +M4HC2E(E+%412Q.%4<#L/^$<_:F_Z+)^S_P#^&;US_P":R@#Y@^%7C?\`:X\8 +M?\%)_P!JWX5W/QH^#[:?\'/^$%^QK=_">[EL$_M;2Y;N3['##KL-U#ED'F?: +MKN]W-@Q?9DS&?I__`(1S]J;_`*+)^S__`.&;US_YK*`#_A'/VIO^BR?L_P#_ +M`(9O7/\`YK*^8/A5XW_:X\8?\%)_VK?A7<_&CX/MI_P<_P"$%^QK=_">[EL$ +M_M;2Y;N3['##KL-U#ED'F?:KN]W-@Q?9DS&0#Z?_`.$<_:F_Z+)^S_\`^&;U +MS_YK*/\`A'/VIO\`HLG[/_\`X9O7/_FLH`/^$<_:F_Z+)^S_`/\`AF]<_P#F +MLKY@_;,\;_M9:2Y7<%\MRLB`'T__P`(Y^U-_P!%D_9__P##-ZY_\UE'_".? +MM3?]%D_9_P#_``S>N?\`S64`?$'[?WQQ_:X_9=_8=T[QII/Q3^#]WJ'B?Q78 +M>&(KK1/AA=Z=?Z7YEO=7S3Q/?ZUJ-J^5L#`R26K?+.S*R.JFOM__`(1S]J;_ +M`*+)^S__`.&;US_YK*`.@^$GP\\4^!KKXE:OXU\6^'_&'B;XF>*X_$]Y<:)X +M=GT*PM/*T?3-'C@BMIKZ]D/[K28Y&=ISEI6`50!7L%`!10!Y?\8?`.J_$KX( +M'PUH7B'3_"VMVGB#PSXDT_4K_27U6TANM%UFRUB%)K1+BV>6*1[!8F"SQ,%D +M)#9&#Q__``CG[4W_`$63]G__`,,WKG_S64`'_".?M3?]%D_9_P#_``S>N?\` +MS64?\(Y^U-_T63]G_P#\,WKG_P`UE`!_PCG[4W_19/V?_P#PS>N?_-91_P`( +MY^U-_P!%D_9__P##-ZY_\UE`!_PCG[4W_19/V?\`_P`,WKG_`,UE?,'[9GC? +M]KCX%_\`!-CXC_%/2?C1\'XM0\+?V/Y3:)\)[NSOQ]IU2SLV\J:_UV_M5^6X +M.[S+27*[@OEN5D0`]0^"%U^U?X__`&+_`(0^.[SXS?`]KOQKX*T#7IVO_A#J +MN?\`S64?\(Y^U-_T63]G_P#\,WKG_P`U +ME`!_PCG[4W_19/V?_P#PS>N?_-91_P`(Y^U-_P!%D_9__P##-ZY_\UE`!_PC +MG[4W_19/V?\`_P`,WKG_`,UE>@?";P+_`,*O_98^&GPS_M3^W/\`A7?A71O# +M']I?9OLO]H?8+.*T\_R=[^5YGE;]F]]N[&YL9(!Z!10`44`%>'_$?X<>/M>^ +M/O@7XB_#GQUX/\'ZWX/\/^(_#<\'B3PA=>(;2_M-6N=)NF=%M]3L'AEC?18@ +M"7D5EF<;00#0!Q/@[X8_M+>"/AQIWA?2?C5\#+C3],\[RI+OX/:R\S>9*\K; +MBGBI5/S2$#"CC'UH\'?#']I;P1\.-.\+Z3\:O@9<:?IGG>5)=_![67F;S)7E +M;<4\5*I^:0@84<8^M>%E_#^'P?U3V4I/ZM1=&-VM8/V6LK)7E^ZCJK+66FUO +MF\KX7PN`^H^QE)_5*#P\+M:P?L;N5HJ\OW$+-#OAC^TMX(^'&G> +M%])^-7P,N-/TSSO*DN_@]K+S-YDKRMN*>*E4_-(0,*.,?6CP=\,?VEO!'PXT +M[POI/QJ^!EQI^F>=Y4EW\'M9>9O,E>5MQ3Q4JGYI"!A1QCZT9?P_A\']4]E* +M3^K471C=K6#]EK*R5Y?NHZJRUEIM8ROA?"X#ZC[&4G]4H/#PNUK!^QNY6BKR +M_<0LURK67NZJQX.^&/[2W@CX<:=X7TGXU?`RXT_3/.\J2[^#VLO,WF2O*VXI +MXJ53\TA`PHXQ]:/!WPQ_:6\$?#C3O"^D_&KX&7&GZ9YWE27?P>UEYF\R5Y6W +M%/%2J?FD(&%'&/K1E_#^'P?U3V4I/ZM1=&-VM8/V6LK)7E^ZCJK+66FUC*^% +M\+@/J/L92?U2@\/"[6L'[&[E:*O+]Q"S7*M9>[JK'@[X8_M+>"/AQIWA?2?C +M5\#+C3],\[RI+OX/:R\S>9*\K;BGBI5/S2$#"CC'UH\'?#']I;P1\.-.\+Z3 +M\:O@9<:?IGG>5)=_![67F;S)7E;<4\5*I^:0@84<8^M&7\/X?!_5/92D_JU% +MT8W:U@_9:RLE>7[J.JLM9:;6,KX7PN`^H^QE)_5*#P\+M:P?L;N5HJ\OW$+- +M#OAC^TMX(^'&G>%])^-7P,N-/TSSO*DN_@]K+S-YDKRMN*>*E4_ +M-(0,*.,?6CP=\,?VEO!'PXT[POI/QJ^!EQI^F>=Y4EW\'M9>9O,E>5MQ3Q4J +MGYI"!A1QCZT9?P_A\']4]E*3^K471C=K6#]EK*R5Y?NHZJRUEIM8ROA?"X#Z +MC[&4G]4H/#PNUK!^QNY6BKR_<0LURK67NZJQX.^&/[2W@CX<:=X7TGXU?`RX +MT_3/.\J2[^#VLO,WF2O*VXIXJ53\TA`PHXQ]:/!WPQ_:6\$?#C3O"^D_&KX& +M7&GZ9YWE27?P>UEYF\R5Y6W%/%2J?FD(&%'&/K1E_#^'P?U3V4I/ZM1=&-VM +M8/V6LK)7E^ZCJK+66FUC*^%\+@/J/L92?U2@\/"[6L'[&[E:*O+]Q"S7*M9> +M[JK'@[X8_M+>"/AQIWA?2?C5\#+C3],\[RI+OX/:R\S>9*\K;BGBI5/S2$#" +MCC'UKG[#X`?&QOA=X.\`>(/C+\+-0\$^&/%?AWQ//'I_PNU*QU2]_LG7+;74 +M@2ZD\130Q>9-:+$7-M)M1C\I/-&7\/X?!_5/92D_JU%T8W:U@_9:RLE>7[J. +MJLM9:;6,KX7PN`^H^QE)_5*#P\+M:P?L;N5HJ\OW$+-K:=HVJ:->:4DVHDW-OI4J6\4*7%Q!)*ESE#"[;HR"%`/`/V&?VN_'V@?! +M#X&_!;X8_L1_&^^^"]]X@_L>V^(=_KEUJ]I86FH:S,;Z]FNK;0+>TEBM9KFY +MW8:)56`J[J59J_WVG?V[XJL_/\`[/TW_2O#C?://\R7_1X=LTFSY&Z7_ +M`+*W[3?Q<^/WBKQAIWQ)_9-^)_[.]GX;M+2XLM3\232FTU:25Y%:!%N[2RG, +MJA`X,,4\84/YKP,85G`/L^B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`KYO\` +MVH/C7X^^`_P"T?Q=\.?@5XP_:"UO4?$%OH\_AWPVUTMU96DEMO\`9[.[ +M?RD>WBB.8U7=.GS@X5@#\D?AW^V_\4_#W[=G[17CKPG_`,$_/C_KGQ-^(G_" +M(_\`">>'O[=OKG_A&?L&GR6^E_Z)%X<%Q:?:;9GE_P!(9_-V[H]J@BOV^^%7 +MC#7?B!^SCX+\:^)_`7B#X7^(/$VE6]_?^%=;DB>_T29UR893&?\`@2B18I0K +M*)8;>4/#&`>7_M0?&OQ]\!_@%H_B[X<_`KQA^T%K>H^(+?1Y_#OAMKI;JRM) +M+:YF:]?[/9W;^4CV\41S&J[IT^<'"M^2/P[_`&W_`(I^'OV[/VBO'7A/_@GY +M\?\`7/B;\1/^$1_X3SP]_;M]<_\`",_8-/DM]+_T2+PX+BT^TVS/+_I#/YNW +M='M4$4`?N=\//$>J^,?@%X'\7:[X8U#P3K?BKP_IFL:AX=ORYNM`NKFVCFEL +MIM\<;^;`[M$VZ.-MR'*(?E'84`%?A#^V?^V/\1_&'[,_Q?\`A/\`%K]@SX_^ +M$OA$=5@L+_Q?_;[:7LAL]6@DLYOMAT6]TU/.GM[=,QSW,3>;MBFEW)(0#[O_ +M`&7_`-K+XT?'?X^ZOX0^(O['GQ/_`&?-$TWP_<:Q!XB\2/J+6E[=1W-M`MD@ +MN-+M$\UTN)91B0MM@?Y",LOW?0!^`/\`P4+_`&J+SQ;X$\7_``A^.O[$_P`7 +M].^&7A?X@36GAGX@P^*[SP_#J=_8R7<%M=V,UQH?$_P#9\T33?#]QK$'B+Q(^HM:7MU'< +MVT"V2"XTNT3S72XEE&)"VV!_D(RR@'W?10`44`%%`!10`44`%?BA^W+^UKX^ +MA^&?QQ^"?QB_81^)^H_!>*[&ES>/+#Q==66F75H+N&32=3AOXM(FM(96F^PS +M+#)+*J3$6\R.1)$0#U#]BS]K;XI^,+KX$_!2+]B_XO\`@#X11>%;32M+^(^M +MZA?7M@FE6&CL]AJP^)_^%3?8]5@TJ[TJ'5I)_(Q_:<4)MM2AC^T;_LA +M1TO=^V96W/\`N]0`44`%%`'\^/[2'["?[27@K3O@A>:Q^VO\;_BW9ZY\8/"' +MAZ.>\L]8DC\!75_/):VOB!6?5YQ'+;W$D,,;#R&,EVB+,C.`WZ?_`+*W[,GQ +M<^`/BKQAJ'Q)_:R^)_[0]GXCM+2WLM,\20RBTTF2)Y&:=&N[N\G$K!P@$,L$ +M94OYJ3L(6MP#[/HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`*^;_VH/@IX^^. +M_P``M'\(?#GXZ^,/V?-;TWQ!;ZQ/XB\-K=-=7MI';7,#63BWO+1_*=[B*4YD +M*[H$^0G#*`?D#\+_`-A/]I+Q!^W[^U!X:T[]M?XW^$+OP'=^#K#4_B!;V>L" +M3XA75SI"WJPSRKJ\9:73K>XMX@CSW#+'=1'$*NJM^YWPJ\'Z[\/_`-G'P7X) +M\3^/?$'Q0\0>&-*M["_\5:W'$E_K:0`\O\` +MVH/@IX^^._P"T?PA\.?CKXP_9\UO3?$%OK$_B+PVMTUU>VD=M\M'\ +MIWN(I3F0KN@3Y"<,OY`_"_\`83_:2\0?M^_M0>&M._;7^-_A"[\!W?@ZPU/X +M@6]GK`D^(5U((\]PRQW41Q"KJK`'[O?#SPWJO@WX +M!>!_"&N^)]0\;:WX5\/Z9H^H>(K\.+K7[JVMHX);V8/)(_FSNC2MNDD;6(8C5M +ML[_.!E6^[Z`/YX?^"E7[(GQ]TGP)JOQ,B^.WQ?\`CKX8\;?%5/[+^&*Z9JMY +M8>$?[5DO!8?9U%]<1_NI9H-,AV6T.]KR.--AD6)OTO\`V7_V3/C1\!_C[J_B +M[XB_MA_$_P#:"T34?#]QH\'AWQ(FHK:65U)W_L6?L; +M?'WX;77P)^*?C7]K#XOZIX8T_P`*VES>?!W6[/5;:PTG[7H[01Z9+'-J;1Q_ +M8)9X]J-:+M:U4!(B!L_5^@`HH`^0/VU==^+'A_\`98T"\^#GQZ^#_P"SMXFD +M\5VL-UXD^(^H6%CI5[8&SO&>QB>\M+J,W+RK!*JB,-LMY2&`!#?C!X,^+_[8 +M5S^UC\:-.TG]NS]B#P?XFTO_`(1S^WO'%V_A'3[#XA>99NUK]CU--#\S4_L$ +M0-M)Y@'V=G$:\&@#^A[X37.NWO[+'PTO/%/BGP_XX\37?A71IM7\2:%+%-I7 +MB"_:SB:XOK)XHXXWMIY2\L3)&BE'4A5&`/0*`"B@`HH`*\?^(7Q;E\#?%/PC +MX)TCX:_$#XF>)O&&E:SK=O9^&)=#@^R6&ES:?!?_`#2T`'_"Y/B+_P!& +MG?'_`/\`!O\`#S_YI:/^%R?$7_HT[X__`/@W^'G_`,TM`!_PN3XB_P#1IWQ_ +M_P#!O\//_FEH_P"%R?$7_HT[X_\`_@W^'G_S2T`'_"Y/B+_T:=\?_P#P;_#S +M_P":6L^__:`U_0)]#E\7?LY?&_P?HFM>(-#\-G6+^^\%7-I876K:C;Z7:/-' +M9Z_/<&(W5Y`K&*&1E4EMI`-`'TA10`44`%%`!10`44`%%`!7G_Q8\=?\*O\` +MV6/B7\2_[*_MS_A7?A76?$_]F_:?LO\`:'V"SENO(\[8_E>9Y6S?L?;NSM;& +M"`>7_LB_&_5?VCO^"=7PS^,NNZ'I_AS6_%]I>IJ%C83/):+=65[<:?+)#O\` +MG2*5[5IEC8NT:R!#)*5\QOI"@`HH`**`/F_]I#XWZK\$].^"":-H>GZS=_%_ +MXP>$/AK)+>3.L>EVFISR-=7*HF#+*+>VECC4LBK)*DC>8L9BD^D*`"B@`HH` +M**`"B@`HH`**`"B@`HH`**`"B@`HH`^7_A5\:O%/CC_@I/\`M6_!S5M/\/V_ +MACX%_P#""_V#=6D$Z7]W_;6ERWUU]K=Y6C?9+&JQ^7'%AG^);OP5=Z"\FE +MWDSPQWUI7[V<<=I)%V^GPR3;/G>*)[I9FC4HTBQE!)$6\Q0#U#X3>.O^%H? +MLL?#3XE_V5_8?_"Q/"NC>)_[-^T_:?[/^WV<5UY'G;$\WR_-V;]B;MN=JYP/ +M0*`"B@#Q_P"-?P$^$W[1/PLT_P`$_&+PI_PF'AC2]5BUNUL_[3O]/\J_BAF@ +M27S+.:*0XBN9EVEBIWY(R`1^<'P[_P""7'P)_P"&[/VBO^$^^!G_`!9+_BD? +M^%5?\5GJG_0/D_MS_4:A]K_X_?+_`./S_ME\F:`/U?\`"?A;0?`WPL\,^"?" +MUA_9?ACP?I5EHFD6?G2S_9+"TA2"WB\R5FD?9%&B[G9F.,DDY-=!0`44`9^K +M:MI6@>%=2UW7=2T_1=$T6TFO]0U"_N$MK2PM(4,DLTTKD)'$B*S,[$*J@DD` +M5^4'P\_:G_;V_:8\*_$'XJ?LW?!SX'Z!\%]*N[B#P5%\2O[5BU_QFMNCK(ML +M]M=I:-*9HMC,YAMHI9O(%S.;>>50#0'_``4/\4ZM_P`$2OB[\<=-\%^'_"O[ +M0?P(U72O#'C+P5XABG:VL-5FU.SL99VLEN(KZ&VE2>Y$:3M&\=Q;7$):<6[2 +M2?2'PS\:ZK\2OC[^Q[\1==M]/M-;\?\`[.OBSQ)J$%@CQVD-U?7/@:ZE2%7= +MW6(/*P4,[,%`!9CR0#ZMM;2PL]=T"VOA=ZUXCL])N8(=`])\5 +MZKX5OX=,U?6V&;G38?$"64>D-?2SZMK< +MUXI*4?HL5FV*A%3A:FIJ7LN2K-NC1E*O&>'BO:R<* +M=1U)\T*J=24;2ORU9.KGV7[1?P`M_CMI/@*\\=_VSX[TC7&^&B>)+SP]=BPE +M\2R6\5W/HYUZ*SCTE-2F%O"TEC%/&YGC2(0B5%C7R3X,?M7?#EOV0OV?/&_Q +MQ^)?PZUGXB?$ZS\2Z;I/B?PQXVO[J?-*\5&SBJ-'EK2J8>DZE6WLZBJ33A)SJ5)6A%N52:J=A^Q3\7];^/O_!/;X,? +M%KXAZ?I4WQ)\2:3XA@FU+3M&DAMQ!9ZLUA+^^PT=N]Q]DLIGA$B"5XW>.,)" +M5BM^(/C%8_#[]OJ_\)>-?%OP_E\)_#CX#7_Q!U2\O-$U2;QQ#!!J*0W]^9[6 +MU&F_V;)%9QM);6X6Y>XB0K!Y2I@IX>#;3UM;FO%+FDE%J;]U7:LK..B>EKQ2 +MB8K-L5"*G"U-34O9,\/%>UDX4ZCJ3YH54ZDHVE?EJR=7I?A-^T +M+\`_BW\1]"\-^`O'L7C_`,;VG@F/Q'9:I-\=FKVD=PKSV\"Q+<74_P!CVVD*H]S*JK!"YCVI*I4U\5W9I/W5[TOQY*?/"I*GRUVO8T/\`:/:X>'-6?)"IS5/W57FK +M5;QY.;V[]MYAHO[2OP'N99%/B'Q7K?CGP.$\.7MIJ'P\UV'QFL]S;VUZ8CHZ +MZ9%?![RWB2^$<%JJ30V-W/&AAT^X:W+7]IC]GJS^$V@>/;[QQ=ZT]GJES\/8 +M=1NO">HGQ+)XB%U:VEUHTFFPV*7D.JSW"VTS:,5*FOBN[ +M-)^ZO>E[G+-VCJU9>]&T8ZWMR^Z2QV,J6]CR4^>%25/EKM>QH?[1[7#PYJSY +M(5.:I^ZJ\U:K>/)S>W?MO"O%/[9O@?1OVL?V5M,\-Z]X?\5^#?',WQ%\'^,/ +M$&N>';V'QEI.KZ%9V<@TN.P2*WN+;4KO4!:1OIYL?-N7>S6"`&2#=[JO[3'[ +M/5AX)^"OBC_A.+OQ_>?%?2=0@\"ZIHOA/4?$&N>)8+6.";5=EKI-B\T+H8(7 +MNX1!"(Y(=KQQM#L2GAX02<_>VO[J?-*\5&U)I5.3][.*HT>6M*IAZ3J5;>SJ*I-.$G.I4E:$6Y5)JIZ?\-O&GP^^(_P`. +M/A_XY\&>((OB)8:[X>GET;Q>NGAGN[,/;1WBS3Q01Q6EQ)/'#YUH5@?S;>1? +M)4VSK%YA^T9:6%G\$OA[;7PN]:\1V?C_`.%\$.N76FJ9Y(!XY\,BZ\RYAA2W +MA>>1;:1H5\H2F(LD96`^7*I4U\5W9I/W5[TOQY*?/"I*GRUVO8T/]H]KAX:M5O'DYO;OVWU#17)/E0XW9.%!(`/`/A;^WK^R=\:/CMH7PS^&?Q6_X27QMXE^T_V; +MIO\`PC.NV?VG[/;RW4W[ZYLXX5VPP2O\SKG;@98@$^*/[>O[)WP6^.VN?#/X +ME_%;_A&O&WAK[+_:6F_\(SKMY]F^T6\5U#^^MK.2%MT,\3_*YQNP<,"``=__ +M`,-1_`G_`(83_P"&E_\`A.?^+)?]#'_8NJ?]!#^RO^//[/\`:_\`C]_<_P"I +M_P!K[GS5\P>+/VY/V,?VB?A9XE_9^\+?'C[/XF^.FE7GP]TB7_A"?$3^5?ZU +M"^FV[;9;2*,XEN4.'EB4]W098`'T_P#LM_`O_AFO]A/P+\%/^$H_X33_`(0O +M^T_^)S_9O]G?;/M>H7-__P`>_G3;-GVKR_\`6-G9NXSM'T!0`44`%%`'R_\` +MM4_#30?''PL^'7C7Q3XW_P"$#\,?LW_$#2/C1J]Y_8\NJ?:[#P_#=3W%MY<4 +MBR)OBD=O,19F&S`BD+`5Y!_P]'_83_Z+G_Y9GB?_`.5]`'O_`,<_VH_@3^S7 +M_P`(M_PNKQS_`,(7_P`)I]M_L;_B2ZIJ/VS['Y'VC_CRMYMFS[5!]_;G?\N< +M-CG_`(*?MF?LV?M$_%._\$_!SXC_`/"8>)M+TJ76[JS_`.$?UC3_`"K"*:&! +MY?,O+6*,XEN8%VABQWY`P"0` +M:)J]G_PB7B*?[)?VDSP7$7F16+1OLEC==R,RG&02,&OM^@`HH`**`"B@`HH` +M**`"B@`HH`**`"B@#Y_^'?P+_P"$!_;L_:*^-?\`PE']J_\`"_?^$1_XDW]F +M^1_87]AZ?)8?\?'G-]H\_P`SS/\`5Q>7C;\^=P^@*`"OG_X=_`O_`(0']NS] +MHKXU_P#"4?VK_P`+]_X1'_B3?V;Y']A?V'I\EA_Q\>- +MOSYW``^@**`"OG_]J/X%_P##2G["?CGX*?\`"4?\(7_PFG]F?\3G^S?[1^Q_ +M8]0MK_\`X]_.AW[_`++Y?^L7&_=SC:0#Z`HH`^0/VU?V4?\`AL']EC0/AG_P +MGO\`PKO^P_%=KXG_`+2_L3^U_/\`)L[RT\CR?M-OMS]MW[]YQY>-IW97Z_H` +M**`"B@`HH`**`"B@`KY__:C^!?\`PTI^PGXY^"G_``E'_"%_\)I_9G_$Y_LW +M^T?L?V/4+:__`./?SH=^_P"R^7_K%QOW?Y.]_*\SRM^S>^W=C-;OPS:26>EQOXHURQM+&.1]\ICM;2[B@$LA"!Y +M=GF.L4*LS+%&%`-#X%_LM_`G]FO_`(2C_A2G@7_A"_\`A-/L/]L_\3K5-1^V +M?8_/^S_\?MQ-LV?:I_N;<[_FSA<>`?\`#KC]A/\`Z(9_Y>?B?_Y84`>_^/OV +M6_@3\4/V6/!7P4\=>!?[<^&7P[_LW_A'M&_MK5+7^S_L%G)86G^D07"7$OEV +MTLD?[V1]V[20MNAGE3YD.-V1A@"`#G_C]_P3Y_9L_:`\1_$+QKXB\% +M_8_B[XXTI[2+QA_:^L2?V9?QV*V-C=_V?'>Q6LOV=8K=O**JLGE8<_,Q/Q_^ +MSO\`&KXX?L9_LG7W[,_CC]C3X_\`Q"\0?"#^U(O#?B?X>Z1Z +ME&[78MT^QVW^E6R!T6[E`:7S8(98C`0#Y@\5_L&^-O$W_!)[]H+]ICXH_"/Q +M!J7[6?Q?\5V_C#PWX4\/+J<]SX8L-0UBUEN8UTB'=(+F2*[OWDAN&NF@MTM] +MWD3QW`'V?^RS^R+\'OA+^T_^QSXNL?AGJ'A#XHZC\"O$7BCQ*;_4=76ZB\4) +M%X7L9WFM+BF./9$^S\L?&G[&7QH\3_MY^$O& +M7B+7_`OQ&U31?C-X9^(UA\1O$%]J-MK]CX"T'RPOA:'3K723I=FRW%[<7`:& +MZM_M\H,\D(9'-ORQERVO*3Y;1?N[M\MI:16W5QM!7E?X?=]RK1]MS>SHT8>V +MYJL;5?X<(>UO27/5=KV]V%;FKSY:7LV_:+VOM_P5^#'Q]^`WQV\<^$M`USX; +M>)?`7Q8^+>N_%;6?%^NQ:K+KK:5>6]HMYIJZ;9VD&FP:@UVL2QW37X1HS-,E +M@WEM!'XW\+_V,OC%\+?AQ^PY86'BCX=3?$G]FA_B5_:"S6VKW7AZYL?$CS1_ +M:XKI((FEN+/[7:2+I\OV0WN+E$NK=86FJX348\LFWRVBW9W;=M=$DUKJTN5: +M[6=L*^$G7K>UIQITXU%.I&"J1Y81BYMP]^I*46N1J%.I)U9KDY5-U(.?L'[- +M>H_#K]BC]A_X3?LW?'WXU?!KPK\2=$TW7-8>.;Q-%9V=S8W&LW4\&Y\L2+!(R^2?'OP+_PE.L?'']I?PG\0?"OQ&^&6J?L8^.?AW:: +MUIEW_:$VK:K9W4]U<7+7-E;#3`AR4*I-&[2I.(X`D,AC'-";_`,!7GP5_:D^,OC[X=>$?`NF_LL>#OA]HUT37-\/NE+"3=%4N6FY5$ZBDZD5*,::JJ4+>T48 +MN?+=4YQ]K-QI>R5JB50^*?PS_:F^+_[.-_\`#GQ5XB^&VA_VEKFAW$WAO1[_ +M`%SR?&W@VR6"+7M*USQ;!86WV*;4Y+@LHL-+MRL4$D(6XBEN#;^`>$/V'/BG +MX4_9QTSPFEY\-K'QMX?_`&FX?VB_#NBV$U\/#<^E62V=O_8UQJEOI%O#I\P2 +M60QF'3RC"$"*W6,2?9HC+EM>4GRVB_=W;Y;2TBMNKC:"O*_P^[O5H^VYO9T: +M,/;["MS5Y\M+V;?M%[7W_P#X4Q\??%?[=G[)'Q.^ +M*6N?#:;4/@M-\2KG5;;0HM5?_B5:GI]KIFFQ_;FM([6\U#=MFN)#%I:/YD@M +MK0I;N:^>_#'["OQ1\(_L^_L5>&9]8\-:]XY_9O?XBS:KINE>+?%'A/3=:L=> +MGD8/;>*--LS>6-Q`9[+_`$7#)ON$U&/+)M\MHMV=VW;71)-:ZM +M+E6NUG;"OA)UZWM:<:=.-13J1@JD>6$8N;B_VWX;T6ZFO7\.V>J'1OM3W/VB[\NXO))G#-/>D +MCS9(VG(FDB@@B0P6^?\`M$R?V?\`LZ^!M"NKS5M6U#_A8WPI=M0N+/\`X^_L +M_C?P['))/+!"EK%-(TJL(P(M_P"],<>R)]D1ERVO*3Y;1?N[M\MI:16W5QM! +M7E?X?=WJT?;+?^$T_LK^U-`\2>#%\)ZW)- +M?7]C(Z/:6]P;:.W6Y6Y@`AN!7'+)M +MV1NR@'UA10`44`%%`!10`44`%%`!10`44`%%`'P!^SO_`,IU_P#@HK_W2+_U +M'KBOO^@`KX`_9W_Y3K_\%%?^Z1?^H]<4`??]%`!7P!_P5'_Y04?'/_N6?_4@ +MTR@#[_HH`_)#_@L]JVJZ;_P2A\+V>G:EJ%A9Z]\2M(L-3@M[AXH]1M%T_4[I +M89U4@2Q"XMK>8(X*B2&)\;D4C];Z`"B@`HH`**`"B@`HH`*^$/\`@IIJVJZ+ +M_P`$.?CO>:-J6H:3=S6FB6$D]G`F-W96"`J`P-`$-E\6/B+I']DZ-HW[''QIT_PSI]@UO'';ZU\/+?[!Y7E +M):P06J>(?+\GRO-!(=/+\J)51PY,19?%CXBZ1_9.C:-^QQ\:=/\`#.GV#6\< +M=OK7P\M_L'E>4EK!!:IXA\OR?*\T$AT\ORHE5'#DQEH>[? +M[.FVD5H^6.J^S[E7'_6.;ZSBZTO;4EK!!:IXA\OR?* +M\T$AT\ORHE5'#DQ%E\6/B+I']DZ-HW[''QIT_P`,Z?8-;QQV^M?#RW^P>5Y2 +M6L$%JGB'R_)\KS02'3R_*B54<.3$1H\EN2G%UJ\L)V_>%E\6/B+I']DZ +M-HW[''QIT_PSI]@UO'';ZU\/+?[!Y7E):P06J>(?+\GRO-!(=/+\J)51PY,1 +M9?%CXBZ1_9.C:-^QQ\:=/\,Z?8-;QQV^M?#RW^P>5Y26L$%JGB'R_)\KS02' +M3R_*B54<.3$1H\EN2G%U]FW>K^\OS+FJRM.'M:O+"=OWA9?%CXBZ1_9.C:-^QQ\:=/\`#.GV +M#6\<=OK7P\M_L'E>4EK!!:IXA\OR?*\T$AT\ORHE5'#DQ%E\6/B+I']DZ-HW +M[''QIT_PSI]@UO'';ZU\/+?[!Y7E):P06J>(?+\GRO-!(=/+\J)51PY,1&CR +M6Y*<5RVC'I:'NW^SIMI%:/ECJOLE7'_6.;ZSBZTO;4 +MEK!!:IXA\OR?*\T$AT\ORHE5'#DQ%E\6/B+I']DZ-HW[''QIT_PSI]@UO''; +MZU\/+?[!Y7E):P06J>(?+\GRO-!(=/+\J)51PY,1&CR6Y*<5RVC'I:'NW^SI +MMI%:/ECJOLE7'_6.;ZSBZTO;4EK!!:IXA\OR?*\T$A +MT\ORHE5'#DQ%E\6/B+I']DZ-HW[''QIT_P`,Z?8-;QQV^M?#RW^P>5Y26L$% +MJGB'R_)\KS02'3R_*B54<.3$1H\EN2G%UJ\L)V_>%E\6/B+I']DZ-HW[ +M''QIT_PSI]@UO'';ZU\/+?[!Y7E):P06J>(?+\GRO-!(=/+\J)51PY,7G_CO +M5OBCXY\)>`/ASX:_96^)/@?PSI_C'P)J<^I:GK?@BWL-`L-$\3:/J3(EI8ZS +M<2-"+&RO,")"RM%!&D;B0M$1H\EN2G%U]FW>K^\OS+FJRM.'M:O+"=OWGVM174>&%%`!10`4 +M4`%?@C^U[\$_VX_CO\0OC'X=T[]BG]F^[T3Q#X@DM]$^)=G#H%KXVO=&L;U/ +M[.G.HW&K^:DLMG:V\,@>%#Y3O'LC&%4`]/\`V+_A-^UA\._VF/A!I'Q+_8D_ +M9?\`AWX(\(Z5/I6I?$G1M*T)O&4?DZ3/;PW+WMMJDTTES=3"*.XD6`[Q<3$A +M%8E?V?H`**`"B@`HH`**`"B@`HH`_`']JK]GW]L[XN^,?C/X1\+?L+?LOVGA +MCQ/XKOYM(^(FC6/AW3O&6H6$>J?:K>^>^EU82+%6<3S*50L0/I_ +M]D+0/VL/"/[9-D_Q+_80_9?^"/@C7-*O]-U+QA\.+/0M(U73,*+F%91;:C=3 +M75M+-;10M`J+AY(IBX6`JX!^K]%`!10`44`%%`!10`44`%%`!10`44`?/_P[ +M\??"OQ#^W9^T5X%\)^"O[#^)OP[_`.$1_P"$\\0_V/8VO_"3?;]/DN-+_P!+ +MB+_`$A4\K=MCW*2:^@*`"OG_P"'?C[X5^(?V[/VBO`OA/P5_8?Q +M-^'?_"(_\)YXA_L>QM?^$F^WZ?)<:7_I<3FXN_LULKQ?Z0J>5NVQ[E)-`'T! +M10`5\_\`[4?C[X5_"_\`83\<^.OC5X*_X6)\,M#_`+,_MGP]_8]CJ_\`:'G: +MA;6]O_HEZZ6\OEW,L$OSL-OE[ERRJ"`?0%%`'R_^UY\9_@=\#_V-KWQ'^T%X +M8_X3CP%KFJV&B+X9_L&VUK^W;]F-U#%]FNBMJ?+6TDNMT[HH^S?*3+Y:-]04 +M`%%`!10`44`%%`!10`5X?^TA\5/`'P5_8E\??$7XI>'-0\7?#W2;2WL-=T6S +ML+6_DU.TU"YATTPFVNI(X)HF-VHD21PICWC#?=(!V'PFU_PKXK_98^&GBGP+ +MHG_"->"/$OA71M5\/:1]C@L_[*TJXLXIK2V^SP%H8?*A>./RXF*)MVJ2H!KT +M"@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`./\=^._#/PU +M^&=UXN\776H6FB6EWI]@38:5>ZK=375]=PV-I##:6<4MQ/++=7,$2I%&S%I! +MQC)'E_\`PTM\.O\`H7/C_P#^&)^(?_RFH`/^&EOAU_T+GQ__`/#$_$/_`.4U +M'_#2WPZ_Z%SX_P#_`(8GXA__`"FH`/\`AI;X=?\`0N?'_P#\,3\0_P#Y34?\ +M-+?#K_H7/C__`.&)^(?_`,IJ`#_AI;X=?]"Y\?\`_P`,3\0__E-7S!^V9^V% +M/X&_X)L?$?Q3\'6^+_@_XC:7_8_]D:OK?P:\4:?86GF:I9PW'FW&L:0M@F^W +MDFC7SV&6=53]X4%`'J'P0_:LT#7OV+_A#KOC73OC?K7C+6O!6@7^O:A8?!'Q +MK9G97MB864@QDH5KT__AI;X=?]"Y\?_P#PQ/Q# +M_P#E-0`?\-+?#K_H7/C_`/\`AB?B'_\`*:C_`(:6^'7_`$+GQ_\`_#$_$/\` +M^4U`!_PTM\.O^A<^/_\`X8GXA_\`RFH_X:6^'7_0N?'_`/\`#$_$/_Y34`'_ +M``TM\.O^A<^/_P#X8GXA_P#RFKL+_P",GP[TW]F#0_C)+K&H7/P]\2VFAWFD +MWUAH>I7UUJ,>LRV\&F+#I]O`]X\MQ+>VJ+$L)D#2@,JX.`#C_P#AI;X=?]"Y +M\?\`_P`,3\0__E-1_P`-+?#K_H7/C_\`^&)^(?\`\IJ`#_AI;X=?]"Y\?_\` +MPQ/Q#_\`E-1_PTM\.O\`H7/C_P#^&)^(?_RFH`/^&EOAU_T+GQ__`/#$_$/_ +M`.4U'_#2WPZ_Z%SX_P#_`(8GXA__`"FH`^8/VS/VPI_`W_!-CXC^*?@ZWQ?\ +M'_$;2_['_LC5];^#7BC3["T\S5+.&X\VXUC2%L$WV\DT:^>PRSJJ?O"@KZ?_ +M`.&EOAU_T+GQ_P#_``Q/Q#_^4U`!_P`-+?#K_H7/C_\`^&)^(?\`\IJ/^&EO +MAU_T+GQ__P##$_$/_P"4U`!_PTM\.O\`H7/C_P#^&)^(?_RFH_X:6^'7_0N? +M'_\`\,3\0_\`Y34`'_#2WPZ_Z%SX_P#_`(8GXA__`"FH_P"&EOAU_P!"Y\?_ +M`/PQ/Q#_`/E-0![!X3\4Z#XX^%GAGQKX6OO[4\,>,-*LM;TB\\F6#[787<*3 +MV\OERJLB;XI$;:ZJPS@@$$5T%`!10`44`%%`!10`44`?('P9^%OCOPG_`,%8 +M?VT/B7K^A?8/!'Q8_P"%<_\`"*:E]MM9?[5_LO1YK2^_)?["_LW3?MMK9_:?L^L6-U-^^N9(X5VPP2O\SKG;@98@$`^OZ*` +M/SP_X*9_L\?$_P#:2_X)Z:-X0^$>E:?KWBOPSXUTWQ(VEW&H0V,FH6B6M[92 +M)!+.4@\U3?)*1+)&ICBEPS/LC?\`0^@`HH`**`"B@`HH`**`"OD_]N+X0^,O +MCO\`\$K_`(M?"SX>P:?=^,O$-IIMQIEK>70M8[V2QU&UU!H%E8;$EE2U>*,R +M%(_,=-[QIN=0#U#]GKPMKO@;]@7X'>"?%-A_9?B;P?\`#_PSHFKV?G13_9+^ +MTTZW@N(O,B9HWV2QNNY&93C()L%`!10`44`%%`!10`44`%%`!10`44`%% +M`!10`44`%%`!10`44`?/_P"TM_R;KX<_[*K\)O\`U-]"KZ`H`**`"B@#XPMO +MVV_A?XF_;:^!OP@^&<^G_$*S^,-WXRM;CQ!;7TUI'I"Z!;/*+FUAEML:G8W5 +MQ;WEK%>V\HMFDL[D1RSM#(B;]Q^VS^SHWPS^)GB;P[XQU#QM%\*_#]YXHU"Q +MT#0M0N+K6-(MKN?3Y;W2-\*1:G8I>6LUO)?6LDEG"R[IIX8OW@`-#P#^U;\/ +M_&'[+'PZ^(^HZ/\`$#1-0\?Z5:ZA'X9L_`_B;5]51C9VMU=26EM;Z=]JO]-M +MVOK:$ZK!`;)GF@42AY40Y\G[67@S5?VA_P!E/PK\/;?3_'_@W]J>T\6WFF>+ +M+/5#!'I,>AV"7C*;5H"\DKNSV\D4CP26\D;JZEU9%`.P_9;^.?\`PTI^PGX% +M^-?_``BW_"%_\)I_:?\`Q)O[2_M'[']CU"YL/^/CR8=^_P"R^9_JUQOV\XW' +MZ`H`**`"O@#1/^4%'[(W_=NG_J0>&*`/O^B@`KS_`%_XL?"OPG\4]$\"^*?B +M7\/_``UXV\2_9O[(\/:KXAL;/5=5^T3-;V_V:TED6:;S9D>)-BG>ZE1E@10` +M7WQ8^%>E^.[CPMJ7Q+^'^G>)K/5=*T*?2+KQ#8PW\.JZG&\VFV3V[2"1;F[B +MBDD@A*[YE1F16"D@U_XL?"OPG\4]$\"^*?B7\/\`PUXV\2_9O[(\/:KXAL;/ +M5=5^T3-;V_V:TED6:;S9D>)-BG>ZE1E@10`?\+8^%?\`PO;_`(5;_P`++^'_ +M`/PLW_H4?^$AL?[=_P"/?[7_`,@_S/M'_'M^_P#N?ZOY_N\UX_\`&S]I_P`* +M_"7QW\-_"VDIX?\`'?B;QA\5?"'PRU[2+3Q'!!?^#?\`A(([B:UO;NW2.609 +MBMC)'#(L/G*2RR`+D@'0>`/CUHWB'_A-?^$ZE^'_`,._[#^*NI?"WP]_Q<#1 +M]7_X2:\A\O[(O[AQ]DU*YW2?\2J7-W%Y?S*=PKT#_A;'PK_X43_PM'_A9?P_ +M_P"%9?\`0W?\)#8_V#_Q\?9/^/\`\S[/_P`?/[C[_P#K/D^]Q0!T'A_Q9X5\ +M5_VU_P`(MXE\/^)?^$:U6YT+5_[*U&"\_LK5;?;]HLKGRF;R;F+>F^%]KIN7 +M*C(KH*`"B@#Y_P#V3O\`E%E^S3_V2KP;_P"FBUKZ`H`**`"B@`HH`**`"B@# +MY`^#/Q1\=^*_^"L/[:'PSU_7/M_@CX3?\*Y_X133?L5K%_97]J:/-=7W[Z.- +M9IO-F17_`'SOLQA-J\5]?T`%?('P9^*/COQ7_P`%8?VT/AGK^N?;_!'PF_X5 +MS_PBFF_8K6+^RO[4T>:ZOOWT<:S3>;,BO^^=]F,)M7B@#Z_HH`*^0/V]?BCX +M[^"W_!)[XK?$OX9ZY_PC7C;PU_87]FZE]BM;S[-]HUBQM)OW-S')"VZ&>5/F +M0XW9&&`(`/K^B@#\X/\`@J!\>OBQ^SM^P+X0\:_!SQ7_`,(?XFU3X@:?HEU> +M?V98:AYMA)IVI3O%Y=Y#+&,RVT#;@H8;,`@$@_H_0`44`%%`!10`44`%%`!7 +MR!^WK\4?'?P6_P""3WQ6^)?PSUS_`(1KQMX:_L+^S=2^Q6MY]F^T:Q8VDW[F +MYCDA;=#/*GS(<;LC#`$`'K_[/7BG7?''[`OP.\:^*;[^U/$WC#X?^&=;U>\\ +MF*#[7?W>G6\]Q+Y<2K&F^61VVHJJ,X```%>P4`%%`!10`44`%%`!10`44`%% +M`!10`44`%%`!10`44`%%`!10!\__`+2W_)NOAS_LJOPF_P#4WT*OH"@`HH`* +M\_\`BQX%_P"%H?LL?$OX9_VI_8?_``L3PKK/AC^TOLWVG^S_`+?9RVGG^3O3 +MS?+\W?LWINVXW+G(`/RPUG]F#]HKXH/^R1\-O%OPYT_X?^%/@E\-?B5\)/$? +MC"V\3:?K4;MJ'A8^'K'6+6Q#P3R6-P([6>*-BER)'N8IX;9(8KFZS]-_9#^/ +M?C7X;?#KP!X\T+X@1^(/@[\*OB%\/=$\1>(/&W@]?`^GS:CH+>&[)M+MM)T@ +MZW?6UW$8+@C4A:RV<<)#/=R@I.`>P0>`/VAYOV8_V,?"FJ_"3X@2?#CX0:4? +M"OQ@^&EKXD\-P7_CK[-X/54L[[1!?"X2>RNKV+[0KKYUE/&!M\__ +M`&>?V6_CM\.O'?[`6D>)_`OV?3_V8=5^,VG>+M;AUK2YK"XMM:CD?2;^Q1;C +M[5+;7+7'EA9((KB-HY#+#$FQW`/L#]@KX6^._@M_P2>^%/PS^)>A?\(UXV\- +M?V[_`&EIOVVUO/LWVC6+ZZA_?6TDD+;H9XG^5SC=@X8$#Z_H`**`"O@#1/\` +ME!1^R-_W;I_ZD'AB@#[_`**`"OR`^/\`^R7\7?'/[9/[5*Q^&?B!XH^&7[3/ +M_"M?L\?A3Q;X4T'2A_8RQVUS_P`)!=:K9W>IVOV22!;V+^R;2Y\Y'\M][-LB +M`,_]I3]D7XP_$/Q5_P`%&==\,?#/3]:UOXV6GPFL/AQJ#ZCI$-UJEIICV,FN +M0QRS3J]I$KV,#.DYA69K:$J)"B8]PUSX1_$SPW_P4$_:O\0R_L[^'_V@_`7[ +M3'_"L_[*M=6UO1;7PWIW]C0-8WO]O)?>9=)Y#!+V/['I^H;PD07;+D1@'C__ +M``RW\=O^%[?\(A_P@O\`Q3__``VK_P`-'?\`";?VUI?]@_\`"*_9_.^R^3]H +M_M/^TO,_T;ROL/D^9SY_E?O:Y_5_V2OCM!^T=IWV?X3>']-H +M]>TM)K;P;J36LT\-I#*5NCY;6B_;HF\DF6VL?L\>H(6EM0#0U;]D7XPZ]X5U +M+0M=^&>GZUHFM?MZ3?%[4-/O]1TBYM+_`.'4R&.6]FA>NMK^WI-\;_``[X=;Q%I$.I^-_"\:&;;I7G7*6S +M7QM8KNZ%M7F?\>?\`VU^?%?0%`!7S_P##O_A1 +M/_#=G[17_"`?\EM_XI'_`(6K_P`A3_H'R?V%_K_]$_X\O,_X\_\`MK\^*`/H +M"B@`KY__`&H_^%$_\,)^.?\`AI?_`)(E_P`2S_A(_P#D*?\`00MOL?\`R#?] +M+_X_?LO^J_X%\FZ@#Z`HH`^7_P!K/PS^R_XH_9QT.P_:RN?#]K\.(_%>F?V: +MVKZ[>Z/"==G6:SM<36LT4AQ%)?LO\`:6F_;;JS^T_9[B*ZA_?6 +MTDO\`@#_AJ;_AECQK_P`+ +M1_X9_P#^%V_\3+_A$?\`A%?[<_X17_CSC_L_^TOM7^E_\?OF^=Y/_+'9L^?- +M`'B&DR?\%.(?%6F2Z[9?L(:CHD5W"^H6EA>>-+*ZNK0.#+'#5_TVW?PUX!_QM-_ZL`_\O>@#W_Q]_P`-3?\`#+'@K_A5 +MO_#/_P#PNW_B6_\`"7?\)5_;G_"*_P#'G)]O_LW[+_I?_'[Y7D^=_P`L=^_Y +M\5P'PM_X;Z_X7MH7_"ZO^&0/^%9?Z3_;/_"$_P#"4_V[_P`>\OV?[+]M_P!' +M_P"/GR-^_P#Y9^9M^;;0`?%'_AOK_A>VN?\`"E/^&0/^%9?Z+_8W_";?\)3_ +M`&[_`,>\7VC[3]B_T?\`X^?/V;/^6?E[OFW5W_@#_AJ;_AECQK_PM'_AG_\` +MX7;_`,3+_A$?^$5_MS_A%?\`CSC_`+/_`+2^U?Z7_P`?OF^=Y/\`RQV;/GS0 +M!Y!X3_X>1_\`"T_#/_"=?\,0?\(1_:ME_P`)#_87_"8?VK_97G)]K^Q>?^Y^ +MT^3YGE>;\F_;N^7-=_\`&O\`X;0_X6GI_P#PSG_PR_\`\(1_947V[_A8_P#P +MD7]J_P!J^=-YGE?V=^Y^S>3]FV[OGW^;GY=M`'0?`O\`X:F_XJC_`(:7_P"& +M?_\`EQ_X1S_A67]N?]-_MGVW^TO^W7RO*_Z;;OX:\`_XVF_]6`?^7O0![_X^ +M_P"&IO\`AECP5_PJW_AG_P#X7;_Q+?\`A+O^$J_MS_A%?^/.3[?_`&;]E_TO +M_C]\KR?._P"6._?\^*X#X6_\-]?\+VT+_A=7_#('_"LO])_MG_A"?^$I_MW_ +M`(]Y?L_V7[;_`*/_`,?/D;]__+/S-OS;:`#XH_\`#?7_``O;7/\`A2G_``R! +M_P`*R_T7^QO^$V_X2G^W?^/>+[1]I^Q?Z/\`\?/G[-G_`"S\O=\VZO7_`(*? +M\+]_X59?_P##1?\`PI__`(3;^U9?L/\`PKC^U?[*_LKR8?*\W^T?WWVGSOM. +M[;\FSRL?-NH`]@HH`**`"B@`HH`**`"B@#Y__:9CO/\`AEVSO++2/$&N?V'\ +M0/AQK=W::)I%YJ]_]@L/%VCWMY+%9VDE:UX>N=14Z=;Q/=M+;PVMP\D21-(HB?Y<@B@#V_P#X:6^'7_0N?'__ +M`,,3\0__`)34?\-+?#K_`*%SX_\`_AB?B'_\IJ`#_AI;X=?]"Y\?_P#PQ/Q# +M_P#E-1_PTM\.O^A<^/\`_P"&)^(?_P`IJ`#_`(:6^'7_`$+GQ_\`_#$_$/\` +M^4U'_#2WPZ_Z%SX__P#AB?B'_P#*:@`_X:6^'7_0N?'_`/\`#$_$/_Y34?\` +M#2WPZ_Z%SX__`/AB?B'_`/*:@`_X:6^'7_0N?'__`,,3\0__`)35S_BGXT_! +M#QQX$OO"WC7X;?%_QAX8U3ROMFD:W^SQX\U"PN_*D6:/S;>;1&C?9+''(NY3 +MAD5A@@&@`\+?&GX(>!O`EAX6\$_#;XO^#_#&E^;]CTC1/V>/'FGV%IYDC32> +M5;PZ(L:;Y9'D;:HRSLQY)-=!_P`-+?#K_H7/C_\`^&)^(?\`\IJ`#_AI;X=? +M]"Y\?_\`PQ/Q#_\`E-1_PTM\.O\`H7/C_P#^&)^(?_RFH`T/V9-)U70/^";? +M[/FA:[IFH:+K>B_#7PG8:AI]_;O;75A=0Z7;1RPS0N`\6S;&(5L'BOM^@`KX@^!'A/Q3H__``6< +M_;R\4ZMX9\0:7X8\8?\`"KO[!U>[TZ>"PUO[)H4\-U]CN'41W'DRE8Y/+9MC +M$*V#Q0!]OT4`%?$'_!1[PGXI\%6D?9%&\C;5.%1F.`":`/M^B@#\L/^"NOP\\??$K_@FWX( +MT+X<^!_&'C_6[3XE:;?SZ?X;T:ZU6ZAM%TO58VF>&W1W6(/+$A% +M9(56"VNI)KBT18WD^3_@)^TM^U[^S-X[\*>"?^"@7A/^SOA_\6/%=]#I/Q4U +M77=-EA\+W\\<]V;&]?3?/MUMI;EHUMEF:T6UB-R59K2U$=J`?L_10`44`%%` +M!10`44`%%`!10`44`%%`!10`44`%%`!10`44`%%`!10`44`%%`!10`44`%%` +M!10`44`%%`!10`44`%%`'R_\*OC5XI\*?'' +M_!2?]JWX.:MI_A^W\,?`O_A!?[!NK2"=+^[_`+:TN6^NOM;O*T;[)8U6/RXX +ML+D-O/-`'U!10`5\O_MF?&KQ3^SM_P`$V/B/\8O!.G^']4\3>#_['^QVNMP3 +MSV$OVO5+.QD\U(98I#B*Y)466+#3+(681F. +M3[?H`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@#\H/VSK+Q +MW\"?^"J_P,_;;T3X?^(/BI\./"7A74?!?C_3=$T*UO;_`,+:5&+VZ.J132"2 +M2#]U>W+M*BVR*MBUO-=1QWY%?,'QR^-__#UGQ'\)/V>?V?\`P?\`$#PGX(TK +MQ6WB'Q_XR\5^%_,MO#'E6-RE@PEL+N>%?-A;556*Y,/GW"VD:2QKYK``_?ZB +M@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B +M@`HH`**`"B@`HH`**`"B@`HH`**`/G_X=_`O_A`?V[/VBOC7_P`)1_:O_"_? +M^$1_XDW]F^1_87]AZ?)8?\?'G-]H\_S/,_U<7EXV_/GGR6'_'QYS?://\SS/]7%Y> +M-OSYW``^@**`"OG_`/:C^!?_``TI^PGXY^"G_"4?\(7_`,)I_9G_`!.?[-_M +M'[']CU"VO_\`CW\Z'?O^R^7_`*Q<;]W.-I`/H"B@#Y`_;5_91_X;!_98T#X9 +M_P#">_\`"N_[#\5VOB?^TO[$_M?S_)L[RT\CR?M-OMS]MW[]YQY>-IW97Z_H +M`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@#\X/V_?&FN^,_ +M^%6?L5?#/7/[+^(W[4.JBTUR\M9XC<>&_`]IF?5;MHQ>6\G[V*&5%B8-'>6] +MMJ=N#YFT'\H/^"5?[0OBGX&_';PYX(\5VN[X)?M*>*Y_"FE7\U]/)_9/C*PM +M[4J;>SB,FW[3_:NE6D[O#&'\VT?SPEG*A`/Z?J*`"B@`HH`**`"B@`HH`**` +M/#]<_:&^&V@?$SQ)X0FM_B?K6M^#[N"PU@>&_A?XO\0VEA=36EO?1PO=Z=IL +M]L93:WEK*460LJS)N`)Q6?\`\-+?#K_H7/C_`/\`AB?B'_\`*:@`_P"&EOAU +M_P!"Y\?_`/PQ/Q#_`/E-1_PTM\.O^A<^/_\`X8GXA_\`RFH`/^&EOAU_T+GQ +M_P#_``Q/Q#_^4U'_``TM\.O^A<^/_P#X8GXA_P#RFH`/^&EOAU_T+GQ__P## +M$_$/_P"4U'_#2WPZ_P"A<^/_`/X8GXA__*:@`_X:6^'7_0N?'_\`\,3\0_\` +MY34?\-+?#K_H7/C_`/\`AB?B'_\`*:@`_P"&EOAU_P!"Y\?_`/PQ/Q#_`/E- +M1_PTM\.O^A<^/_\`X8GXA_\`RFH`/^&EOAU_T+GQ_P#_``Q/Q#_^4U'_``TM +M\.O^A<^/_P#X8GXA_P#RFH`Z#P=\=/A_XX^*<7@G2$^(&E^)KC2KS6[>S\3_ +M``^\3>&/M=A:36T%S+!)JMA;1S>5+?6:LL;,P\]"1CFO8*`"B@`HH`**`"B@ +M`HH`**`"B@`HH`**`"B@`HH`**`/@#]G?_E.O_P45_[I%_ZCUQ7W_0`5\`?L +M[_\`*=?_`(**_P#=(O\`U'KB@#[_`**`"O@#_@J/_P`H*/CG_P!RS_ZD&F4` +M??\`10!^2'_!9[5M5TW_`()0^%[/3M2U"PL]>^)6D6&IP6]P\4>HVBZ?J=TL +M,ZJ0)8A<6UO,$<%1)#$^-R*1]W^/OVH_@3\+_P!ECP5\:O'7CG^P_AE\1/[- +M_P"$>UG^Q=4N?[0^WV9;122?O8TV[=K;6(4@'`?"W]O7]D[ +MXT?';0OAG\,_BM_PDOC;Q+]I_LW3?^$9UVS^T_9[>6ZF_?7-G'"NV&"5_F=< +M[<#+$`GQ1_;U_9.^"WQVUSX9_$OXK?\`"->-O#7V7^TM-_X1G7;S[-]HMXKJ +M']];6_8Q\@^!?[4?P)_:4_X2C_A2GCG_`(33_A"_L/\`;/\`Q)=4T[[' +M]L\_[/\`\?MO#OW_`&6?[F[&SYL97(!X!_P]'_83_P"BY_\`EF>)_P#Y7U[_ +M`./OVH_@3\+_`-ECP5\:O'7CG^P_AE\1/[-_X1[6?[%U2Y_M#[?9R7]I_H\% +MN]Q%YEM%))^]C3;MVMM8A2`<_P#!3]LS]FS]HGXIW_@GX.?$?_A,/$VEZ5+K +M=U9_\(_K&G^58130P/+YEY:Q1G$MS`NT,6._(&`2.`\6?\%'OV,?`WQ3\2^" +M?%/QD_LOQ-X/U6\T35[/_A$O$4_V2_M)G@N(O,BL6C?9+&Z[D9E.,@D8-`'K +M_P#PU'\"?^&$_P#AI?\`X3G_`(LE_P!#'_8NJ?\`00_LK_CS^S_:_P#C]_<_ +MZG_:^Y\U>0>$_P#@H]^QCXX^*?AGP3X6^,G]J>)O&&JV6B:19_\`")>(H/M= +M_=S)!;Q>9+8K&F^61%W.RJ,Y)`!-`'?_`!K_`&S/V;/V=OBGI_@GXQ?$?_A# +M_$VJ:5%K=K9_\(_K&H>;82330)+YEG:RQC,MM,NTL&&S)`!!/0?`O]J/X$_M +M*?\`"4?\*4\<_P#":?\`"%_8?[9_XDNJ:=]C^V>?]G_X_;>'?O\`LL_W-V-G +MS8RN0#P#_AZ/^PG_`-%S_P#+,\3_`/ROKV_XA_M;?`#X4_`+X>_%+QYXUU#1 +M/A[\4K2WO/#6NIX7UR\M+Z.XMDN[=9#;VDAM99;=_,2*X$4CJDNU3Y4FP`S_ +M`(*?MF?LV?M$_%._\$_!SXC_`/"8>)M+TJ76[JS_`.$?UC3_`"K"*:&!Y?,O +M+6*,XEN8%VABQWY`P"1P'BS_`(*/?L8^!OBGXE\$^*?C)_9?B;P?JMYHFKV? +M_")>(I_LE_:3/!<1>9%8M&^R6-UW(S*<9!(P:`/H_P"'7QH^%_Q7^#7@SQ_X +M$\7Z?JWA3XAW=Y8>&KNXCFTZ36KJU-T+B&"WNTBG:5!I]ZY3R]WEV\L@!12U +M>H4`%%`'PA^S)^S)^S;KW_!-O]GS7==_9\^!^M:WK7PU\)W^H:A?^!='N;J_ +MNIM+MI)9II7MR\DKNS,SL2S,22237M__``R=^RQ_T;3^S_\`^&\T/_Y&H`/^ +M&3OV6/\`HVG]G_\`\-YH?_R-1_PR=^RQ_P!&T_L__P#AO-#_`/D:@`_X9._9 +M8_Z-I_9__P##>:'_`/(U'_#)W[+'_1M/[/\`_P"&\T/_`.1J`.?_`.&*/V1_ +M^%I_\)C_`,,Y?!_^UO[*_L;[/_PC5I_97V;SO/W_`-F;/L/VG?Q]J\C[1L_= +M^9Y?RUP'_#MW]B3_`(59_P`(=_PH/P__`&1_:O\`;/VC^UM6_M7[1Y/D;/[3 +M^U?;OLVSG[+YWV??^\\OS/FH`]?_`.&3OV6/^C:?V?\`_P`-YH?_`,C4?\,G +M?LL?]&T_L_\`_AO-#_\`D:@`_P"&3OV6/^C:?V?_`/PWFA__`"-1_P`,G?LL +M?]&T_L__`/AO-#_^1J`#_AD[]EC_`*-I_9__`/#>:'_\C4?\,G?LL?\`1M/[ +M/_\`X;S0_P#Y&H`Y_P#9R\)^%?`WQ/\`VHO"W@GPSX?\'^&-+^*ME]CTC1-. +M@T^PM/,\%^%YI/*MX56--\LCR-M499V8\DFOJ"@`HH`**`"B@#Y_^#?_`"<5 +M^UC_`-E5TW_U!_"E?0%`!10!Y_K_`,6/A7X3^*>B>!?%/Q+^'_AKQMXE^S?V +M1X>U7Q#8V>JZK]HF:WM_LUI+(LTWFS(\2;%.]U*C+`BC_A;'PK_X7M_PJW_A +M9?P__P"%F_\`0H_\)#8_V[_Q[_:_^0?YGVC_`(]OW_W/]7\_W>:`/'_V6_VG +M_"O[2G[,_@7QCL\/^"_&WC32M3UW_A!?^$C@U'5;/2K/5KG2/MFSRX9GMGFM +M<>=Y"H'?R\EAD^P>'_BQ\*_%?Q3UKP+X6^)?P_\`$OC;PU]I_M?P]I7B&QO- +M5TK[/,MOZ[8>7XRTIOMVE6?VG[7>0XG_>6T'V"^\V9.O%/Q+^'_AKP1XE^S?V1XAU7Q#8V>E:K]HA:XM_LUW+(L,WFPH\J;&. +M]%+#*@F@#L-)U;2M>\*Z9KNA:EI^M:)K5I#?Z?J%A<)V4:;D9Y[9L#R9()I@#X0_P"'U?[+'_0@_'__`,$>A_\`RUK[`_:M_;5^ +M%?['O_"!?\++T#X@:Y_PL3^U/[-_X1BQL;GR/L'V7SO/^TW=OMS]MBV[=^=K +MYVX&0#/_`&5OVZ/A'^UYXJ\8:-\-O#?Q/T2[\%6EI>7LGB30HH;22.X>1$5+ +MJTGN($ES&2(IGBDD7>T2RK%,8OG_`.(7_!77]FWX:_'WQQ\.==\$?&^[UOP! +MX@U/PWJ$]AH^CO:375C7!!VKAB`?)^D_\%E?V;=>\5:9H6A?"[]H_6M;UJ[AL-/T^P\-Z/@?$#7/\` +MA8G]J?V;_P`(Q8V-SY'V#[+YWG_:;NWVY^VQ;=N_.U\[<#(!G_LK?MT?"/\` +M:\\5>,-&^&WAOXGZ)=^"K2TO+V3Q)H44-I)'PT?1WM)KJ +MQN9+65X6?4T=HB\3%2R(Q4C*J>``?3_Q1_:_\`?"?_@GIX%_:7UCP;\3]>^' +MOCJTT*_C@T+2;6ZU#1;35K7[5:S:@KW,<$$0+0V[.)F7SYX8U+[P:\0^`G_! +M4#X!?M$_M8^%/@YX)\(?%_2_$WC#[=]CNM;TK2H+"+[)9SWTGFO#J$L@S%;. +MJ[8VRQ4'`R0`'QZ_X*@?`+]G;]K'Q7\'/&OA#XOZIXF\'_8?MEUHFE:5/82_ +M:[."^C\IYM0BD.(KF-6W1KA@P&0`3[!\(?VU?A7\:/V!?B?^T7X6T#X@6'@C +MX3?VU_:]CJMC8Q:K<_V7IT6IW'V:**[DA;=#.BIOECRX(.U<,0#Y/TG_`(+* +M_LVZ]XJTS0M"^%W[1^M:WK5W#8:?I]AX;T>YNK^ZF<1PPPPIJA>25W945%!9 +MF(`!)KZP_:M_;5^%?['O_"!?\++T#X@:Y_PL3^U/[-_X1BQL;GR/L'V7SO/^ +MTW=OMS]MBV[=^=KYVX&0#G_V0?VJ?@%^U5X[^+_BGX._#KQ!X/\`$VE_\(__ +M`,)AJ^MZ!I6GW_B+S([N'3_-N+.XGDNOL\5I-&OGL/+5U5."0/M^@`KY_P#A +MWX^^%?B']NS]HKP+X3\%?V'\3?AW_P`(C_PGGB'^Q[&U_P"$F^WZ?)<:7_I< +M3FXN_LULKQ?Z0J>5NVQ[E)-`'T!10`5\_P#[4?C[X5_"_P#83\<^.OC5X*_X +M6)\,M#_LS^V?#W]CV.K_`-H>=J%M;V_^B7KI;R^734(F$VD07$T(_AE\0+"QG"W">*-`U017VG7-DEO:M +M#-M5UO11H/A32KVWBFM]0MH9?.U/^V[62)[9(DL8D\R0D7D<692`>'_LQ +M_LB_&'X8:C_P3OO-<^&>G^&KOX07?Q@O_BA/;ZCI#26=UK4#VNDS3M!.QO99 +M;>*TA#P^H_;8KA+A_[3EL?LQB#[-;[C%Y*[>@^%O[/W[2?P[_`.";/[(?P^O?`7B"S_X0O5?%L/Q5 +ML/`OB71].^(,>D76J7&JZ?8Z5K;WT%O;Z;=W-OIYU);6^ANGC2V2-AMF"@'V +M!^P5\+?'?P6_X)/?"GX9_$O0O^$:\;>&O[=_M+3?MMK>?9OM&L7UU#^^MI)( +M6W0SQ/\`*YQNP<,"!]?T`%%`'S_XC_Y2F_!O_LE7Q+_]._@ROH"@`HH`**`" +MOS@_8I^`GQ8^$?[?7[=7C7XA>%/^$?\`#'QD^(":WX/O/[3L+O\`M>P&HZW. +M9?+MYI)(/W5[:MMG6-OWF,95@H!^C]%`!10`44`%%`!10`44`%%`!10`44`% +M%`!7R!\&?A;X[\)_\%8?VT/B7K^A?8/!'Q8_X5S_`,(IJ7VVUE_M7^R]'FM+ +M[]S'(TT/E3.J?ODCWYRFY>:`/K^B@`KY`_;U^%OCOXT?\$GOBM\,_AGH7_"2 +M^-O$O]A?V;IOVVUL_M/V?6+&ZF_?7,D<*[88)7^9USMP,L0"`?7]%`!10`44 +M`%%`!10`44`%%`!10`44`%%`!10!\@?M'?M6_P##/W[4_P"S'\,_^$"_X2W_ +M`(:-\5MX8_M+^V_L'_"/8N]-M//\G[-+]I_Y">_9OA_U.-WSY7Z_H`**`/G_ +M`/9._P"467[-/_9*O!O_`*:+6OH"@`HH`**`//\`_A4WPK_X7M_PM'_A6GP_ +M_P"%F_\`0W?\(]8_V[_Q[_9/^/\`\O[1_P`>W[C[_P#J_D^[Q7A]A^R3X`O/ +MVPOV@_B=\1=/\'_%31/CG=^#K^#PMXD\*6M]:>'+K0=,GTQ9D>X:5)Y94N92 +M'$431JSIEPQ-`'T!XU^'G@#XE>%;?0OB+X'\'^/]$M+M+^#3_$FC6NJVD-TJ +M/&LR0W".BRA)94#@;@LCC.&.>PH`**`"B@#Y_P#@W_R<5^UC_P!E5TW_`-0? +MPI7T!0`44`%%`!10!\@>'?B/I'PO_:B_:3LO%OA;XO\`_%4?$#3=;TF[T3X6 +M^+?$%AJ%A_PB/AVR,L5YING7%NV+FRNH67S-RM$P('&>_P#^&EOAU_T+GQ__ +M`/#$_$/_`.4U`!_PTM\.O^A<^/\`_P"&)^(?_P`IJ/\`AI;X=?\`0N?'_P#\ +M,3\0_P#Y34`'_#2WPZ_Z%SX__P#AB?B'_P#*:C_AI;X=?]"Y\?\`_P`,3\0_ +M_E-0`?\`#2WPZ_Z%SX__`/AB?B'_`/*:C_AI;X=?]"Y\?_\`PQ/Q#_\`E-0` +M?\-+?#K_`*%SX_\`_AB?B'_\IJ/^&EOAU_T+GQ__`/#$_$/_`.4U`!_PTM\. +MO^A<^/\`_P"&)^(?_P`IJ/\`AI;X=?\`0N?'_P#\,3\0_P#Y34`'_#2WPZ_Z +M%SX__P#AB?B'_P#*:C_AI;X=?]"Y\?\`_P`,3\0__E-0!Q^B>-;'XE?\%)/A +MWKOAKPU\3[31/"WPU\=V&I:AXD^'GB7PS:0W5]JGA:2TA275;&V2661+"\8) +M&68+`Y(`QGZPH`**`"B@`K\\/V+?VA_B?\7_`-M#]MWX<^/]5T_6M$^"/Q*F +MTSPG.FGPVMU9Z9-?:K:I9R-"$2:*%-,A*.Z&8M++YDD@*",`_0^B@`HH`**` +M"B@`HH`**`"B@`KQ_1OCU\)O$'[9/BS]G[2/%?VOXN^!M*BUO6]!_LR_C^Q6 +M$BVCI+]J>$6LF5U"S.V.5F_>\CY7V@'@'BS_`(*/?L8^!OBGXE\$^*?C)_9? +MB;P?JMYHFKV?_")>(I_LE_:3/!<1>9%8M&^R6-UW(S*<9!(P:]?_`.&H_@3_ +M`,,)_P##2_\`PG/_`!9+_H8_[%U3_H(?V5_QY_9_M?\`Q^_N?]3_`+7W/FH` +M\P\`?\%"/V1?BE\9?#WP]^'OQ1U#Q5XR\57:V>F:99^"O$QDN),%F)9K`)'$ +MB*\DDLC+'%&CR.R(C,.O^-?[9G[-G[.WQ3T_P3\8OB/_`,(?XFU32HM;M;/_ +M`(1_6-0\VPDFF@27S+.UEC&9;:9=I8,-F2`""0#H/`'[4?P)^*'[+'C7XU>! +M?'/]N?#+X=_VE_PD.L_V+JEK_9_V"SCO[O\`T>>W2XE\NVECD_=1ONW;5W," +MH\`_9(_:C_X:4_;L_:S_`.$3\<_\)I\$O!?_``@?_"!_\27^SOL?VS3[K^U/ +M];;PW;[[VU?_`(^-V-G[O"$9`/O^B@`KY`_;U^*/COX+?\$GOBM\2_AGKG_" +M->-O#7]A?V;J7V*UO/LWVC6+&TF__8Q\_^/OVH_@3\+_V6/!7QJ\=>.?[#^&7Q$_LW_A'M9_L75+G^ +MT/M]G)?VG^CP6[W$7F6T4DG[V--NW:VUB%(!T'P4^/7PF_:)^%E_XU^#GBO_ +M`(3#PQI>JRZ)=7G]F7^G^5?Q0PSO%Y=Y#%(<17,#;@I4[\`Y!`]@H`**`"B@ +M`HH`**`"B@`HH`**`/A#]K+]E_Q]\=_VT/V//B+X0U?P?INB?L^>-6\2>(H- +M8NKJ&ZO;0WVD702R6&WE2279ILXQ*\2[FC&[!8K]WT`%%`'S_P#\,G?LL?\` +M1M/[/_\`X;S0_P#Y&H_X9._98_Z-I_9__P##>:'_`/(U`!_PR=^RQ_T;3^S_ +M`/\`AO-#_P#D:C_AD[]EC_HVG]G_`/\`#>:'_P#(U`!_PR=^RQ_T;3^S_P#^ +M&\T/_P"1J/\`AD[]EC_HVG]G_P#\-YH?_P`C4`?GA^U]\!?@O^SG^UQ\"_VG +M+7X)_"^?X#PW:_#[XM^&%\$:=/HVF:9?2,UEKXLHM+G$Z74VF +M7,5JJ:3>7J3PN8KA]+,%K'$PFA:^U&Y19%CD\L`_J-_X9._98_Z-I_9__P## +M>:'_`/(U'_#)W[+'_1M/[/\`_P"&\T/_`.1J`#_AD[]EC_HVG]G_`/\`#>:' +M_P#(U'_#)W[+'_1M/[/_`/X;S0__`)&H`/\`AD[]EC_HVG]G_P#\-YH?_P`C +M4?\`#)W[+'_1M/[/_P#X;S0__D:@#U#P3\//`'PU\*W&A?#GP/X/\`:)=W;7 +M\^G^&]&M=*M)KID2-IGAMT1&E*11(7(W%8T&<*,=A0`44`%%`!10`44`%%`! +M10`44`%%`!10`44`%%`!10`44`?FA_P49^/'Q<\`:=\#_@)\$KW3_"OCO]J? +MQ!/X2M_&-Q=RP2>&XQ/86A\@Q1N\,LSZG&#=(&DMXXY3$AF:.6#Y`^)O[,'Q +MY_X)T_!#Q3^U7\'_`-IO4/&^MQW>F2_%+2/%>A%K3QVUUK+`7+!IYW,I>\M( +MGW.+D++J,T=[$9Q;T`?M]\//&NE?$KX!>!_B+H5OJ%IHGC[P_IGB33X+]$CN +MH;2^MH[J%)E1W190DJA@KLH8$!F')["@`HH`**`"B@`HH`**`"B@#XP_;H^- +M_P`3_@G^R/X;3X*Z'I^L_%CXO^-=)^&OA66\FA6/2]3U.*Y:&Y5)\02R@VWE +MQK.R0K)*DDOF1QM%)\`>+OV,OVH_V0O"OQ#_`&L/AY^U[XP^+?COPA:6OB3Q +M+X?U_1YXK3QSIFFIY4Z:M-<:Q(+F*UTQ[MXPRM,JQ[;9HIC&Z@'['?";QU_P +MM#]ECX:?$O\`LK^P_P#A8GA71O$_]F_:?M/]G_;[.*Z\CSMB>;Y?F[-^Q-VW +M.U(/^"@GP,_8H^`GCS_A4 +M?B;XOZ5J.N^*O&4FG)/-9:#Y%Z@CT^4.9([D1:?J*/[3:*UG&_V^W%TQ_>Z@`HH`**`"B@`HH`**`"B@`KC_B%XUTK +MX:_`+QQ\1==M]0N]$\`>']3\2:A!8(CW4UI8VTEU*D*NZ(TI2)@H9T4L0"RC +MD`'XX_`[X1_MZMOM&/*U&W16:2XV?8I9+V7RVMZ^G_`/@G5\=/B/X]\"?&/X$_&?6? +M^$M^*W[+?BMO!^I^)H@TD.NV`DN;6VD>YD8375RLVG7R/-)#"TD0M7?S)WG> +M@#]'Z*`"B@`HH`**`/R@_P""A_Q9\=^.?BGX+_X)_P#P?\(>']5\?_M#:5'J +M6JZWXG2U?2M(T%)KEV:!)0^+E/[+N;AI_+:2W2!#:I+=R1/;?*'P\\(?'G_@ +MDO\`$SP/KOCW6?A?XS_9I^,'B#3-`\;ZAI5B8]3T+4Y;2.1KAI?LG]H3Q69C +MU)K:)#<0S0PW1:"RN;Q-H!_0=10`44`%%`!10`44`%%`!10`44`%%`!10`44 +M`%%`!10`44`%%`!10`44`?$'[;?[+7BG]HGP)\,/$_PI\2>'_!?QS^!_BNV\ +M3^#-;UM9Y+"+]Y$]Q!*BK+&,RVUEE_%"W^'T&IV]UXNDCN;R&!+4WC3B>)+C29C +M'YY@CC::*X>WNI((HXP#]SO"?A;0?`WPL\,^"?"UA_9?ACP?I5EHFD6?G2S_ +M`&2PM(4@MXO,E9I'V11HNYV9CC)).3704`%%`!10`44`%%`!10`44`?)_P"V +M3^SAJO[3/[(]MX4\*^-M0^'GQ!\%>(++QKX+URWF>&.UU^QBGCMA/)$#/%$1 +M5,HE\LPR_FC/J/_!1S]K'QW\4_V+?&&O\`P?\`AKI_PL_L/3?B +MAX[T2.X2_P!>TJ^CS$L2Q3LL_P#:-IYEZT$,%@CK$UO.]FDK6T@!^UWP\\$Z +M5\-?@%X'^'.A7&H7>B>`/#^F>&]/GOW1[J:TL;:.UA>9D1$:4I$I8JB*6)PJ +MC@=A0`44`%%`!10`44`%%`!10`5\(?MD?LG>,OC9XJ^&GQ@^!'CK3_A5^T=\ +M'+MCX?U^YB$5IJFG3.OG6=_/'!+.8HP9FBC9)H&6XO()(&2[>2,`^`/A=%^T +ME_P5<^'OP^U[XN7GP/\`"O[.'PQ^)3/XH\.Z#9ZQ;:SXDNK.R@F\L;Y92L3V +M^H/:K)%>6[1BZGE,HZ@IFD2*#SCO>*)[JY)N)1Y]Q)-++)L#1P0`'V?1 +M0`44`%%`!10!^<'[5G[/GQD?_@HY\#_VQ?V?_#OA_P"(GC;X2:5<^'M;\$ZW +MKJ:5_;VE3/-"BZ=*\:PQ7(AU?57DEN;@(OE6I2*9E>*;Y@\8>$OVJ_\`@IGX +M[\!>%?BA\%_$'[)O[,O@C57U?Q"FM.)?$>NZO!&8U%FEW:V]PN;:]:*&3[,+ +M6,O>2227RLK/XOZY_8>JZCHEW=Z)\(/&^KV'V^PNI;*\BBO+32I +M+>;RKFWFA9HI'7=&P!.*/^&EOAU_T+GQ_P#_``Q/Q#_^4U`!_P`-+?#K_H7/ +MC_\`^&)^(?\`\IJ/^&EOAU_T+GQ__P##$_$/_P"4U`!_PTM\.O\`H7/C_P#^ +M&)^(?_RFH_X:6^'7_0N?'_\`\,3\0_\`Y34`?('[5OP__9F_;!_X0+_A9$_CM\.O"?PL\,^%OLW[3_B7_`(1K +M2K+2O[7UWX*_$.\U75?L\*0_:;RX_L1?.N9=GF2R;5WNS-@9Q70?\-+?#K_H +M7/C_`/\`AB?B'_\`*:@`_P"&EOAU_P!"Y\?_`/PQ/Q#_`/E-1_PTM\.O^A<^ +M/_\`X8GXA_\`RFH`/^&EOAU_T+GQ_P#_``Q/Q#_^4U'_``TM\.O^A<^/_P#X +M8GXA_P#RFH`[#P#\8?`_Q*\5>(="\-'QA::WX6M-/O\`4M/\2>#->\,W4-I? +M/=1VDR0ZK:6SRQ2/87B!XPRAH'!(.,^H4`>'ZY^T-\-M`^)GB3PA-;_$_6M; +M\'W<%AK`\-_"_P`7^(;2PNIK2WOHX7N].TV>V,IM;RUE*+(659DW`$XK/_X: +M6^'7_0N?'_\`\,3\0_\`Y34`'_#2WPZ_Z%SX_P#_`(8GXA__`"FH_P"&EOAU +M_P!"Y\?_`/PQ/Q#_`/E-0`?\-+?#K_H7/C__`.&)^(?_`,IJ/^&EOAU_T+GQ +M_P#_``Q/Q#_^4U`'SA^U!:_L]_M9?`+1_AS\1;/]J_1=$T7Q!;^)()_#?P3\ +M<6UT]U#;7-JJ.UQX>G0Q%+R4D!`VX)\P`(/Y(?#O]B_]D[Q+^W9^T5\/]?U3 +M]K^/P1\-/^$1_P"$4DTCX=Z[`#]SOAY\8/A+\-?@%X'^'.A:'^T?=Z)X`\/Z9X;T^>_^!OC][J:TL;: +M.UA>9DT-$:4I$I8JB*6)PJC@=A_PTM\.O^A<^/\`_P"&)^(?_P`IJ`#_`(:6 +M^'7_`$+GQ_\`_#$_$/\`^4U'_#2WPZ_Z%SX__P#AB?B'_P#*:@`_X:6^'7_0 +MN?'_`/\`#$_$/_Y34?\`#2WPZ_Z%SX__`/AB?B'_`/*:@#L/`/QA\#_$KQ5X +MAT+PT?&%IK?A:TT^_P!2T_Q)X,U[PS=0VE\]U':3)#JMI;/+%(]A>('C#*&@ +M<$@XSZA0`5\WZ3^U9\)=>\*Z9KNA:=\;]:T36K2&_P!/U"P^"/C^YM+^TF02 +M0S0RIHY22)T965U)5E(()!H`T/\`AI;X=?\`0N?'_P#\,3\0_P#Y34?\-+?# +MK_H7/C__`.&)^(?_`,IJ`#_AI;X=?]"Y\?\`_P`,3\0__E-1_P`-+?#K_H7/ +MC_\`^&)^(?\`\IJ`#_AI;X=?]"Y\?_\`PQ/Q#_\`E-7Q!^U)\(/V9OVN?BGX +M;\4_$O5OVW]*_P"$3THZ5IND>'OA'XU@TJ#?,\TURMO<^&I]MS+NBCDD5EWI +M;6ZD?NP:`/RP_8__`&._@!\5?@%XRU#X_K^U?X9^(/A3QKJ/AF?3/`_P^US5 +M+2QCM;:T9HKMK?0;X07R7$UPDD$DJ2(JQ[HEW!G_`*+O^&EOAU_T+GQ__P## +M$_$/_P"4U`!_PTM\.O\`H7/C_P#^&)^(?_RFH_X:6^'7_0N?'_\`\,3\0_\` +MY34`'_#2WPZ_Z%SX_P#_`(8GXA__`"FH_P"&EOAU_P!"Y\?_`/PQ/Q#_`/E- +M0`?\-+?#K_H7/C__`.&)^(?_`,IJ]`^'OQ.\(?%#1]>O/"4OB#_BE]5_L35K +M36_#>K>'[_3[_P"RV]Z(I;/4K>WN%S;7MK*K>7M995()YP`>@5Y?X^^,/@?X +M:^*O#VA>)3XPN];\4VFH7^FZ?X;\&:]XFNIK2Q>UCNYGATJTN7BBC>_LT+R! +M%+3H`2#_A9XE\6ZCX8^/\FG^%M*O- +M7ND_X4IXWL]\-M"\SCS[S3(;6'*H1YEQ-%$O622-`6`!_+%JVE:Q\>/VI_A9 +M\8_C9=_$"/\`X:>^*M[8ZK'I?AC6)MF@Q7>FVS2>'[J5+K^T/*^V7=A!96ZW +M,EK_`&;!&RR>=$E?O=^PW^TZOAG]D=O@/\8]&^)[_%']GF[3PA<1Z+\+?&.I +MR7?AU8E?0KZ6UM=%26PBEL\00QWD<=Q+'9^?(`TK!0#[/_X:6^'7_0N?'_\` +M\,3\0_\`Y34?\-+?#K_H7/C_`/\`AB?B'_\`*:@`_P"&EOAU_P!"Y\?_`/PQ +M/Q#_`/E-1_PTM\.O^A<^/_\`X8GXA_\`RFH`/^&EOAU_T+GQ_P#_``Q/Q#_^ +M4U$?[3/PN_MC2+*\L_B_H?\`;FJZ=HEI=ZW\(/&^D6'V^_NHK*SBEO+O2HK> +M'S;F>&%6ED1=TB@D9H`^@**`"OR`_P""*G_*++Q]_P!E5U7_`--&CT`?K_10 +M`44`%%`!10`44`%%`!10`44`%%`!10`44`%%`!10`44`?/\`^S3_`,FZ^(_^ +MRJ_%C_U-]=KZ`H`**`"N?\4^+/"O@;P)?>*?&OB7P_X/\,:7Y7VS5];U[ +M"T\R188_-N)F6--\LD<:[F&6=5')`H`^?_A7^T_X5\<>!/CQXI\:IX?^$_AC +MX%_%77OAE>:OK?B.!+"[_LZ2VACO9;B:.".U^T2W<<:PLSX;:HD?AI\,_A[XOUWXH^#[[P[\4O$%OX>\,W^DZQ9WEIJ4C7:6EW="X67R%L; +M$LTEWW_"K?^%E_#__`(6;_P!"C_PD-C_; +MO_'O]K_Y!_F?:/\`CV_?_<_U?S_=YKT"@`HH`**`/G_PY_RE-^,G_9*OAI_Z +M=_&=?0%`'S_\&_\`DXK]K'_LJNF_^H/X4KZ`H`**`/E_X5_M.:#X]\"?'CQ) +MXDT7_A!](^!_Q5U[X8.ZWDNJS:[-I\EM#!-;P16ZS-%-6\:M\.FN]5T[4+"32?%"&42:?JE +MO/`D^ERQBWD>0WT=ND<>R1V5'1F`.?\`"7[;_P"S'XV^,J_#_0_B'J$/BL>( +M(O"9TEED@>-%9QMKH-,_:Y +M_9TU?XRR?#^Q^)FGGQ7;^-;OX=7%I/IVH6\=IXH@$A&GSW$L"P0RSF"X2T,C +MJE[);W$=JT[PR*@!YAX*_;N^$VJZQ\7K+XAM_P`*V_X5/\5=6^&ES=D7^L6$ +M,-M=6]E9ZKJUY;V8M]#MKRYG>&)K^2.)FMYPD\GDR^7H?M/_`+;?PO\`VVDU(6TUM#?-:_:K]+)LW,EM: +MRSK%Y"M,H!Z?X(_:@^"OQ'_:.\5_"?P-XB\0>)?&W@/5;K1/$D%IX.U\V&@W +M]NUPCQ7>I&S%C!N>SN4C9YU69HRL1=B`?H"@`HH`^?\`PY_RE-^,G_9*OAI_ +MZ=_&=?0%`!7S_P#LG?\`*++]FG_LE7@W_P!-%K0!]`44`%>?_P#"T?`G_#4_ +M_"E/[<_XN;_PBO\`PFW]C?8KK_D`_:_L'VG[1Y?V?_CY_=^7YGF?Q;-OS4`> +M7V?[7/[.E]\&OAQX_M_B9IX\*?%J[U*U\+7W$<5M;1J))98T9&;Q#X3_\%%_@3XT_9G\(>,_B'J/_``JWQ;XH\*ZO +MXV;PC'!JGB"Y@T'3]6OM*FN89K6Q'VK;_9US"28`'H&O +M_MB^!/#G[?6B?!NYL_[6\/\`BCX56WQ-T'Q/X=ENO$%SXC\_46LXK'3=)TZU +MGN+_`'6T*:0QB*)Y5[^?\`:G_9]M_A9\,_&K?%#P_)X8^+_GMX +M4O(%N)_M\-M"\]]<2QQQF2TMK&**1KZXN5BBL=C"Z>`C%`'@'P=_X*)_!7XB +M?"+X47GBV#Q!X+^)OQ_#OXSZC\96M](\8>!M$^#GB +M#6-)O=9\5:#J6DZF6?C.VUCPOKFFZSX=DU$P"P-SI%Q:)J" +MQ7!N8?*E%N8Y!O*L1'(4`.`^+O[;?PO\#?L2_&3XO_#N?3_BS=_!:[T.UU?P +M_%?3:/)*NJW-I%9W,QN+>]6ZM;V&*6VNXT)@E=*O% +M7B?1M+\?:?:W?A'P^/%U])K%I=Z-:3^&M\J?VU975[%#!?Z1F%S_`&A:/-:[ +M3&WF[9(RP!\X3?\`!1?X$VW[0FHZ/<:C]G^%&C?"JR^)M_XYD@U1+FQ^V:S; +M:19V,VAFQ^W1^>E]8WD4S`>9;W=O*L9@E2=OK_X9_$[PA\7?A9:>-?`LOB"[ +M\,:CY;6-YJOAO5M#_M"&2&.>*XMH]1MX))[:2*:-DN(E:)\D*Y*L``>@44`% +M?/\`^TM_R;KX<_[*K\)O_4WT*@#U#XA>-=*^&OP"\&KJ\N;VRNKE94AD%W%#<:?+Y:E8&FC9&;R&S&` +M#[OKY/\`V-OCI\%_CU^R/^$?$%YX;AT&XT33M&CMKH107\ +MSP6MA-+`L3G4`Q(*LTAE)7G!/@3J_@#0O^$IU#X-_&KP=\1]2T2&]M;2_P!6TK3I)TN8K%[J2*U-R%N1 +M(%GG@1ECD&_?L1P#X_\`!7[.7[2?@']AWXO>&_"_PT\/^`/$'B;]I75O%MMI +MW@[5]'?5]"^'VHV]OI]Y/X*O[@06EAJ2V3W5K;2W:64D=JUSB.WE>)1S_AS] +ME7X[:?\`LXO?Q?#3Q!9ZAX7_`&U;;X\V'A35_%>EZCXCUCP;&L$:J+Z34)K6 +M;4@KNSB\OU+F"9FF=V3S0#H/B;^S]^TGXR_;A\):I?\`@+Q!>>'_``7^TKX9 +M\:Z#+X<\2Z/IWP^T?X?6L\U]=7?]CO?17<_B2XO=1NKB_N9K.:221)%MI1$V +MR7]?Z`"B@`HH`^?_``Y_RE-^,G_9*OAI_P"G?QG7T!0!\_\`P;_Y.*_:Q_[* +MKIO_`*@_A2OH"@`HH`_*#2?V2OBQ=>!/B'J6JZ1_9&K>%?VU;W]HGPWHZW5A +M<3>-?#=O)#Y<%O*+D0VES#=,DNT.I7SQLMJERZR)(;*SGO2 +MJO&%ED?>D8!\_P#_``RW\=O^A%_YO_\`^%V_\AK2_P#D1/\`H)_\?'_DM_Q\ +M_P#3*O,/"GPQ^)_Q_P#V>/VW?V=_"7A;3[?PI\4_VM?%J:SX_GUF$1^"[2QO +M]/U&\DGTQE6>[E<6=G#:1V[LLLEQ<&XDL4MXWN@#T_QS^RW\=M8_X)/?MZ_# +M/3?`OVCQM\:/V@-8\;>#=-_MK2T_MG09]8T:ZBN?.:X$,&Z&SN7\N=XY!Y>" +M@9E!S_CG^S!^T5;_`+'O[9GP(^'/PYT_XDZ;^T#\2D^+>A>*4\3:?I"P+?ZG +M87-]H\EE=.'^W6KZ=$R2&1;:XMI99/.@N(DLK@`^T/V0_A;X[^%__#3_`/PG +M6A?V'_PL3]H#QKXV\/?Z;:W/]H:#?_9/LES^XD?RO,\J3]W+LD7;\R+D9^OZ +M`"B@#Y_\.?\`*4WXR?\`9*OAI_Z=_&=?0%`!7S_^R=_RBR_9I_[)5X-_]-%K +M0!]`44`%?$'CKX??%CP[_P`%H-*_:!\'_#__`(6'X8UGX*S_``R6*VURPTW^ +MQ=;774U*&XU-KIUD337BD(:6QBOKA/*EQ:N?+64`^3_V4/V8/VBOVEI+%MSSV)EW3)Y=O)<2+YT\*6DX!]7_LB_L??$_\` +M9Q_;?^&^"]0\3V$\,=HWBB]\87&O2V,-L\GVMXHH;IE6 +MX:%$D6,,1$[>4OG_`.RA^S!^T5^SFG[/WQ)G^'.G^)?%=G\-?$WPD\4^#Y?$ +MVGV$GA9KGQ1J'B'3=8>^1[B"ZL7,L$%U';A[FWCE$L4-ZZO;*`:'[!7[+?QV +M^"W[27PIU_XE^!?^$:TCPU\`-=\$ZE/_`&UI=Y]FUVX\=WVLPVNRVN)&;=I\ +M\4_F*#&-VPN)`4'Z_P!`!10`5\__``;_`.3BOVL?^RJZ;_Z@_A2@#Z`KY_\` +M$?\`RE-^#?\`V2KXE_\`IW\&4`?0%%`!10!^4&H?LE?%CQ?^R=^W-^SEJ6D? +M\(U_PO;XJZ[\4O"'CUKJPN_#=S#<7FDZA9Z=<1),_A'J'PGT33[OPA;^'H]8\1:;J.LZS&= +M:TI[F>YM=.>XM+.)9F\J(+>W$DH1W=+<;`X!Y_\`M7_LP?M%?M&)^T!\2;?X +M*6M?%&G^(=2UB.^=[>"UL4,4T%K'(?M4_L^_M8?M)>/\`XE^. +MK?X`?\(A<^+_`(`>'O!-AHLGCC0KZY37;;QKINLW=K-*)HX5VPP7TL4BL\"/%?[0&CZ1X-\*?\(#I< +M_P#P@FNOK&LQQ:O]N9_.U'RYHKF?[+.%C;[3L)VQKD`_?[P!\._CMX>_98\: +M^$_'7[17_"Q/B;KG]I?\(]X\_P"$!TO2/^$9\ZSCAM/^)7`YM[O[-TMP0\LK-)YK[E5UCC`/K"B@`HH`**`"B@`HH`**`"B@`HH`* +M*`"B@`HH`**`"B@`HH`^,/A)\6M`^&O@'Q;X0\7>$OC?::W:?$KXD7Y%A\'O +M&NJVDUI?>+-7OK2:&[L]+EMIXI;6Y@E5XI&4K(.$_[:_X1;X;?%_PU_PDNJW. +MNZO_`&5^SQX\L_[5U6XV_:+RY\K1%\ZYEV)OF?+OM7).!0!T'_#2WPZ_Z%SX +M_P#_`(8GXA__`"FH_P"&EOAU_P!"Y\?_`/PQ/Q#_`/E-0`?\-+?#K_H7/C__ +M`.&)^(?_`,IJ/^&EOAU_T+GQ_P#_``Q/Q#_^4U`!_P`-+?#K_H7/C_\`^&)^ +M(?\`\IJ/^&EOAU_T+GQ__P##$_$/_P"4U`'/_"OQ%%XX_;Z^+_C72/#_`,0- +M+\,7'P_\`:);WGB?P5KGAC[7?VFH^*9[F*"/5;2VDF\J*^LV9HU91YZ`G/%? +M4%`!7Q!^SU\;?"_@;]@7X'>"?%/@WX_Z7XF\'_#_`,,Z)J]G_P`*/\?3_9+^ +MTTZW@N(O,BTAHWV2QNNY&93C()�!Z__P`-+?#K_H7/C_\`^&)^(?\`\IJ/ +M^&EOAU_T+GQ__P##$_$/_P"4U`!_PTM\.O\`H7/C_P#^&)^(?_RFH_X:6^'7 +M_0N?'_\`\,3\0_\`Y34`'_#2WPZ_Z%SX_P#_`(8GXA__`"FKG_\`A=/P0_X6 +MG_PG7_"MOB__`,)M_97]A?\`"0_\,\>//[5_LKSOM'V+[7_8GG?9O._>^3NV +M;_FV[N:`.@_X:6^'7_0N?'__`,,3\0__`)34?\-+?#K_`*%SX_\`_AB?B'_\ +MIJ`#_AI;X=?]"Y\?_P#PQ/Q#_P#E-1_PTM\.O^A<^/\`_P"&)^(?_P`IJ`#_ +M`(:6^'7_`$+GQ_\`_#$_$/\`^4U'_#2WPZ_Z%SX__P#AB?B'_P#*:@`_X:6^ +M'7_0N?'_`/\`#$_$/_Y35G_L_7[Z]X^_:,\70Z'XPT71/%_Q*M+_`$<^)/#. +MJ>'KJ_M(?"7ARQDF2TU&""X$0NK.ZB#M&%9H7VD@9H`^D*^7_BIXBB\#?M]? +M!_QKJ_A_X@:IX8M_A_X_T2XO/#'@K7/$_P!DO[O4?"T]M%/'I5IPPZ2SVTN^"=-DH5MT4@QE&P`=A_P +MTM\.O^A<^/\`_P"&)^(?_P`IJY_Q3\:?@AXX\"7WA;QK\-OB_P",/#&J>5]L +MTC6_V>/'FH6%WY4BS1^;;S:(T;[)8XY%W*<,BL,$`T`=!_PTM\.O^A<^/_\` +MX8GXA_\`RFH_X:6^'7_0N?'_`/\`#$_$/_Y34`'_``TM\.O^A<^/_P#X8GXA +M_P#RFH_X:6^'7_0N?'__`,,3\0__`)34`'_#2WPZ_P"A<^/_`/X8GXA__*:C +M_AI;X=?]"Y\?_P#PQ/Q#_P#E-0`?\-+?#K_H7/C_`/\`AB?B'_\`*:O,/BU\ +M6M`^)7@'PEX0\(>$OC?=ZW=_$KX;7X%_\'O&NE6D-I8^+-(OKN::[O-+BMH( +MHK6VGE9Y9$4+&>N^&](A +M\/6,=AX?U6.22:.\L;<1B.VN5EGFD$T2JX:61@-?B%X4_P"$?\,?&3X@)K?@^\_M.PN_[7L!J.MS +MF7R[>:22#]U>VK;9UC;]YC&58*`?H_10`44`%?/_`.U'\<_^&:_V$_'/QK_X +M1;_A-/\`A"_[,_XDW]I?V=]L^UZA;6'_`!\>3-LV?:O,_P!6V=FWC.X`'T!1 +M0`44`%%`!10`44`%%`!10`44`%%`!10`44`%%`!10`44`%%`!10`44`%%`!1 +M0`44`%%`!10`44`%%`!10`44`%%`!10`44`%%`!10`44`%%`!10`44`%%`!1 +M0`44`%%`!10`44`%$7%Q&QN_M;Q10W5K*XX +M?"NC^`-*\4WFM^#+`-<6IL?$$1UL>1&+/PKHT.D>&]=BEAU7P_8)9Q+;V-Y'+))(ES!$$AE +M5Y'8.C`LQR3Z!0`44`%?E!^V?^U5^QC\6_V9_B_^R_XI_:-_X5OXFDU6#1-7 +MO/\`A`/$6L?V1?Z3JT$]Q%Y<5M''/^]L7AW)-M^;>"X`#`'U_P#!3]LS]FS] +MHGXIW_@GX.?$?_A,/$VEZ5+K=U9_\(_K&G^58130P/+YEY:Q1G$MS`NT,6._ +M(&`2/J"@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`H +MH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`H +MH`**`"B@`HH`**`"B@`HH`*_-#_@K-X)\?>,O^"/VO2^!KC4#9^#?$&F>)/% +M6GV;W7F:KH$"S1S(88$83107$UI?R";;%''9/.6#0KD`^,/VG_&7_!-'XY?L +MXWGQLD\;^1X]TOX*_P#"&_#KX>1"YT^'PSJ(75)='C?3=.AW17-M=V\]LZO. +M]A'$]JSIY5U:33?;_P#P3Q^`F@Z/_P`$&O"O@GQIX4^SP?'32M8UOQ;9_P!I +MRO\`VW8:T'@MI?,AF)M_.T1=.7;"T3)U8)-YAH`Z#_AUQ^PG_P!$,_\`+S\3 +M_P#RPKW_`..?[+?P)_:4_P"$6_X75X%_X33_`(0O[;_8W_$ZU33OL?VSR/M' +M_'E<0[]_V6#[^[&SY<9;(!G_``0_9)^`'[.'BK7-8^"W@K4/!5WXEM([/5(T +M\4:Y?6E]'&^^(R6MW=RP&6,EPDNSS$665595ED#=A\-_@)\)OA'\4_B=XU^' +MOA3_`(1_Q-\9-5&M^,+S^T[^[_M>_$US.)?+N)I(X/WM[=-M@6-?WF,850H! +M[!10`44`%?F!^U/\%/V^OVB?A%\4/@Y%?_L@:7\(O&&JK_9=TT_BF#Q'%I5I +MJ4=]8?:'$4MJ+DK;0+-LC9"3($Q\I`![!^RUX-_;R\(_%/Q)_P`-5?%CX/\` +MQ0\$:AI2_P!E?\(]9FWU73-5CF3;M\K3+&%K:2%Y_,\SS7#Q6_E[%,N_P_XA +M?"?_`(*P:C\??'&H?#G]IKX'Z!\/;[Q!J=QX8TR_TJU>ZT[1GN9&LH)F/AZ4 +MF6.W,2,3+(2RGYW^\0#Z?\9>$/VP+W_@FCH'A?P9\6_A?I7[3UM::6NL^+KC +MPZXT:]D1U-X((F29(963`,[6_\` +M@I/^R?\`""SOK1K^87$'AM]9%H1*D$T&G7^E6(GB>XA,1VDBFC'F-!%B5)XP&$8D?\`?Z@`HH`**`"B@`HH`**`"B@`HH`**`"B +M@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B +M@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"O#_VA_BIXR^#7[,&J^._` +M?P;\8?'7Q%87=G;Q>%_#<@2Z>.:58WG?:DLYBC!Y%O;W$FYD+(D(EGA`/Y\? +M^%H_\;3?^$C_`.'4G_-*O[-_X4U_PB/_`%%_-_X2;[+_`&#_`-P_S?LG^SY_ +M_+.OZ'O@)\1_%/Q;_9.\*?$+QK\,?$'P;\3>(/MWVSP?K9G-_I'D7D]M'YIF +MM[>3][%#'.NZ%/EF7&X89@#V"B@`HH`**`"B@`HH`**`"OE_XU_L9_LV?M$_ +M%/3_`!K\8OAO_P`)AXFTO2HM$M;S_A(-8T_RK"*::=(O+L[J*,XEN9FW%2QW +MX)P```?$'[)/_!*7X9_#OX627'[3G@KX?_%#XFZ?XK.JZ1?Z5KFM7&E1Z5'# +M:FWMKFSE%M;W&+F*Z9XYK>5'255GR>&M$U%I'EO=!O9WE>[O[PG=/@+L`50!GS +M,XSC!Y5@YX_'SY*4+[2T7X'CY]GV`R7`5,SS.I[.A3MS2M*5 +MN:2BM(J4G>4DM%^!A>#O%%_>_#C3KGQG^V;\<](\2R>=]LM+3PKX+:&+$KB/ +M:1X7D',8C8_.>2>G0'@[Q1?WOPXTZY\9_MF_'/2/$LGG?;+2T\*^"VABQ*XC +MVD>%Y!S&(V/SGDGIT'Y3E_C3DD_JGUO$1CS46ZUJ=7W*W[JT(^Z_=UJ_S?#' +MWOYOQ3*_I!\.S^H_7L7&'/0Y'WU]H\'>*+^ +M]^'&G7/C/]LWXYZ1XED\[[9:6GA7P6T,6)7$>TCPO(.8Q&Q^<\D].@/!WBB_ +MO?AQIUSXS_;-^.>D>)9/.^V6EIX5\%M#%B5Q'M(\+R#F,1L?G/)/3H#+_&G) +M)_5/K>(C'FHMUK4ZON5OW5H1]U^[K5_F^&/O?S&5_2#X=G]1^O8N,.>@Y5[4 +MJ_N5_P!SRPC[LKQ?-6U7.O#O%%_>_#C3KGQG^V;\<](\2R>=]LM+3 +MPKX+:&+$KB/:1X7D',8C8_.>2>G0'@[Q1?WOPXTZY\9_MF_'/2/$LGG?;+2T +M\*^"VABQ*XCVD>%Y!S&(V/SGDGIT!E_C3DD_JGUO$1CS46ZUJ=7W*W[JT(^Z +M_=UJ_P`WPQ][^8ROZ0?#L_J/U[%QAST'*O:E7]RO^YY81]V5XOFK:KG7N1]] +M?:\?\'>#4O?VL].^/_C/]LGXIZ1X[D^'\W@.\M[3P3X;:_BMAJSW\86Y&C26 +M/V8J(V,?V(W'F$G[4(_W`]@\'>*+^]^'&G7/C/\`;-^.>D>)9/.^V6EIX5\% +MM#%B5Q'M(\+R#F,1L?G/)/3H#+_&G))_5/K>(C'FHMUK4ZON5OW5H1]U^[K5 +M_F^&/O?S&5_2#X=G]1^O8N,.>@Y5[4J_N5_W/+"/NRO%\U;50#O +M%%_>_#C3KGQG^V;\<](\2R>=]LM+3PKX+:&+$KB/:1X7D',8C8_.>2>G0&7^ +M-.23^J?6\1&/-1;K6IU?_F,K^D'P[/ZC]>Q<8<]!R +MKVI5_Y'WU]H\'>*+^]^'&G7/C/\`;-^.>D>)9/.^ +MV6EIX5\%M#%B5Q'M(\+R#F,1L?G/)/3H#P=XHO[WX<:=<^,_VS?CGI'B63SO +MMEI:>%?!;0Q8E<1[2/"\@YC$;'YSR3TZ`R_QIR2?U3ZWB(QYJ+=:U.K[E;]U +M:$?=?NZU?YOAC[W\QE?T@^'9_4?KV+C#GH.5>U*O[E?]SRPC[LKQ?-6U7.O< +MC[Z^T>#O%%_>_#C3KGQG^V;\<](\2R>=]LM+3PKX+:&+$KB/:1X7D',8C8_. +M>2>G0:?P`^(7CF__`&L_`_A/Q!\;/&?Q*77_`(?^,M;U[2-'[+5 +M=6L-+\)^#?L=M-/&)`L.?#$Q";64@&1R,X)S7W/$'$F6Y)AXXO-*OLZ:E)*T(R>T6[VM +MIOL=AX.\47][\.-.N?&?[9OQSTCQ+)YWVRTM/"O@MH8L2N(]I'A>0#O%%_>_#C3KGQG^V;\<](\2R>=]LM+3PKX+:&+$KB/:1X7D',8C8_. +M>2>G0?F>7^-.23^J?6\1&/-1;K6IU?%?!;0Q8E<1[2/"\@YC$;'YSR3TZ`\'>*+^]^'&G7/C +M/]LWXYZ1XED\[[9:6GA7P6T,6)7$>TCPO(.8Q&Q^<\D].@,O\::BW6M3J^Y6_=6A'W7[NM7^;X8^]_,97](/AV?U'Z]BXPYZ#E7M2K^Y7_<\L +M(^[*\7S5M5SKW(^^OM'@[Q1?WOPXTZY\9_MF_'/2/$LGG?;+2T\*^"VABQ*X +MCVD>%Y!S&(V/SGDGIT!X.\47][\.-.N?&?[9OQSTCQ+)YWVRTM/"O@MH8L2N +M(]I'A>0D>)9/.^V6EIX5\%M#%B5Q'M(\+R# +MF,1L?G/)/3H-<-XU9!4J89U:ZIPG2E*HN2K)TZO[KE@FH)25G5O)1:?*G>-T +MGM@_I"<,5:N$=?$JG"=&4JJ]G6E*G6O1Y*:DJ:4E:59.2BTW"+O&Z4CP=XHO +M[WX<:=<^,_VS?CGI'B63SOMEI:>%?!;0Q8E<1[2/"\@YC$;'YSR3TZ`\'>*+ +M^]^'&G7/C/\`;-^.>D>)9/.^V6EIX5\%M#%B5Q'M(\+R#F,1L?G/)/3H,LO\ +M::BW6M3J^Y6_=6A'W7[NM7^;X8^]_-CE?T@^'9_4?KV+C#GH. +M5>U*O[E?]SRPC[LKQ?-6U7.O#O%%_>_#C3KGQG^V;\<](\2R>=]LM +M+3PKX+:&+$KB/:1X7D',8C8_.>2>G0'@[Q1?WOPXTZY\9_MF_'/2/$LGG?;+ +M2T\*^"VABQ*XCVD>%Y!S&(V/SGDGIT!E_C3DD_JGUO$1CS46ZUJ=7W*W[JT( +M^Z_=UJ_S?#'WOYC*_I!\.S^H_7L7&'/0%?!;0Q8E<1[2/"\@YC$;'Y +MSR3TZ#TW]CGQUX_\;?#;XLP_$+QIJ?CR_P#!WQ`.B:=J6H6&F6=RM@V@Z-?B +M)UL+:VA;;/?7)#>5NPP!)VBO=X/\1,-GV(PV$P\XRJ?5Y5*Z49QY*B=%*,7+ +M1QO.HM'+X8^]W^DX#\5<'Q+BL'@L)4C.K]5E5Q"4*D?9U4\/%1BYV3C>I56C +MG\,?>M\7U_17Z8?KX44`%%`!10`44`%%`!10`44`%%`!10`44`%%`!10`44` +M%%`!10`44`%%`!10`44`%%`!10`44`%%`!10`44`%%`!10`44`%%`!10`44` +M%?('@7XH^!/!'[5?[56D^)]<_LR_N/B;I=W'%]BNIMT+>"O"Z!MT4;*/FC<8 +M)SQTZ5YF<9Q@\JP<\?CY\E*%N:5F[7:BM(IO=I:+\#Q\^S[`9+@*F9YG4]G0 +MIVYI6E*W-)16D5*3O*26B_`N?!WXQ?#CPK^SEX2[-]U- +M(OS1Q,IRCJ>">N.M?AO#_B3PYAO[)]OBK>PPDJ4_$_L/ZQC>7ZM@9T:G[NJ^6H_J=HZ4W?\`A5-8WC[N^L;GP=^, +M7PX\*_LY>'-!U[Q%]@U:P^U^?!]@O)=F^ZFD7YHXF4Y1U/!/7'6OAKX._MJ^ +M-/!?[0&D?"+Q_+\.?AMX9M/&;:/HVG>)O#VO1S^,/#LT6]65J51 +MJ-)3;4&TFK$'[(O[^&OV_# +MCXJ^+]2\'>(]#T7PCK5OXC\,7-Q=7\6FW,-Y+J$EG=VS7$"R7!$22Q1,$CBN +M')9/J\OS#(FF?%S5Y/A-JW@/3_``SX[UJ;P5%9 +M:[I7B72KK3[F[ETR!-5"WECJ*W/V=XYF-O8>0)HY%\[RVA?S,+G>39)A\!6S +M'&*+PE#ZM)*%22!P[P +MDU&G5E%U)2C3;34+V53+Z\5[FJ7,W%.//Y_\(?V[OC9X;_9%U6PTCX9:9\1] +M2MOA5!XR\+SVWA+Q!X=M+3Q+<:H4N='F:ZDF36%CL[I-2CELY+83I;O;Q[I) +M5DB^DOV)/VLM`U[X`Z]X=\?>,?`HN_!NHK;VUII>AZ]IFNZ69@\MS9ZUI5Q% +M,EM/%<^/BXY7A71G[_`#SA&=3#TH\T*=-\TN>B +MHU.5Q=)N//3M5BX?0WP=^,7PX\*_LY>'-!U[Q%]@U:P^U^?!]@O)=F^ZFD7Y +MHXF4Y1U/!/7'6CX._&+X<>%?VPPDJ4_\1?8-6L/M?GP?8+R79ONII%^:.)E.4=3P3UQUKS/X)>(-'U']L#X$:# +M97?G:MX;^%7Q1_M&#RI%^S_:/$/A62'YBH5MR`GY2<=#@UZ?`_&&48S&9+@, +M/7YJM/"3I2CRS5IJ.&ERW<4GI2J.Z?+[N]W&_K^'/'N18_'\/Y9A,3S5Z6!J +M491Y*BM44<)+ENXJ+]VA5=TW'W;7O**?W_7P!^QG\8OAQX5_X)5?`+0=>\1? +M8-5L/!FF>?!]@O)=F^/S%^:.)E.4=3P3UQUK]5X@XDRW),/'%YI5]G3E)13Y +M92]YIM*T8R>T7K:VGH?M?%'%N4\.X6.-SFM[*E*2@GRSE[S4I)6A&3VBW>UM +M-]CTSX._&+X<>%?V\1?8-6L/M?GP?8+R79ONII%^:.)E.4=3P3UQUK\7X +M?\2>',-_9/M\5;V&$E2G[E1\LW]5M'2&O\.>JO'3?57_`)]X7\6^$\)_8?UC +M&\OU;`SHU/W=5\M1_4[1TIN_\*IK&\?=WUC<^#OQB^''A7]G+PYH.O>(OL&K +M6'VOSX/L%Y+LWW4TB_-'$RG*.IX)ZXZT?!WXQ?#CPK^SEX\%W&BJ+R6Y\T&$!XI?OCQU^WEXG_9X^%4&D^$(/!_C5?AXMK>>(O#, +M.@7UU/::?=ZE#AM1UYKZUM])NKI+R=+2U@L-6<+:+R7-Q>)):O'$L5M#)#;"S?RF=I7N1=_N193]M\' +M?VU?&G@O]H#2/A%X_E^'/PV\,VGC-M'T;3O$WA[7HY_&'AV:.69]0TKQ'9R7 +M-E)J$=S+"W]G3V$"LL\-N+L3LYC.%\XP<7DT7/6G@IP:2;DY*G@:O+&*5YR] +MFU)1@I-JZ2NFD<'9]@(/((NI[U++JD)12DY.:I9=7Y(122[-]U-(OS1Q,IRCJ>">N.M?,\ +M/^)/#F&_LGV^*M[#"2I3]RH^6;^JVCI#7^'/57CIOJK_`"'"_BWPGA/[#^L8 +MWE^K8&=&I^[JOEJ/ZG:.E-W_`(536-X^[OK&Y\'?C%\./"O[.7AS0=>\1?8- +M6L/M?GP?8+R79ONII%^:.)E.4=3P3UQUH^#OQB^''A7]G+PYH.O>(OL&K6'V +MOSX/L%Y+LWW4TB_-'$RG*.IX)ZXZT'-!U[Q%]@U:P^U^?!]@O)=F^ZFD7YHXF4Y1U/!/7'6N, +M_88_Y$W]H/\`[*JO_J*>'*]SP_XDRW,L1E>$P57GJ8;!3C47+)! +M?$7CO2/VJ_VJK;PO\.?^$NT]_B;I23]^2<8\L6Y:K6UEJT7/@[XH^(VF_LY>'++0?A9_P`)'I,/ +MVOR-1_X26SL_M&;J9F_NW/0T?!WQ1\1M-_9R\.66@_"S_A(])A +M^U^1J/\`PDMG9_:,W4S-^YD4LNURR<]=N>AK\-X?S[B.G_9/L,FY^3"2C#_: +M*'++0?A9_PD>DP_:_(U'_A);.S^ +MT9NIF;]S(I9=KEDYZ[<]#7@WPD^!OAB#3O#?CW2OV>IO%E];>)I_&MM!G"G_`+51C[6G +M_L=ZNL?!]#\%>.?!7[/\`-XAU+PU'KT7AO4KO +MQ_.VG:"NI7;OJ!TC1[N:2TTEI60Q2-:0PLZ!USLD96F^'OPET?6/^"6ND?L] +M?\,_?\)E\$KC[1_HG_"\<>RRJC#)764\(Y +M+FQ='FKJ*PZ6(]2K-FN6^"?P'\'Z-\.O +M#NN:/^S;:^.[:TL/$NEZ8VM>-Y+K1+"SUBXD&K0Z?H5_++8Z:EP`T$PMH(O- +MC,B',\<8BKE=9Y*ZSGA)R7^UT81KIO"MXAQY5&FXW5H-2/X?MKV:XAL+%;^:673((;H^:J +MV;0?OX(9Q^\CB=/2?V9_"5U\*O@U>ZC\-O@@^M7GCJ[^V:YXJO?&OGZGXADM +MB]M;K/-?O-<^5;QH8HXB_EI^\=%4RN6,KXPXKK5,OK/)U5G/#3:?MJ,753^K +MMU4^6]-7Y6Z6BESJZ_=JQDW'G&N(JY77>1*M.>$G)2^L8>,JT6\*Y5D^2]%7 +M<6Z*LI.I&Z_=*WH?P=\4?$;3?V'++0?A9_PD>DP_:_(U'_A);.S^T9NI +MF;]S(I9=KEDYZ[<]#7#P_GW$=/\`LGV&3<_)A)1A_M%./M*?^RWJ:KW+OO_`-UGG<+\3<64O[#^KY![3V>!G"G_`+51C[6G_L=ZNL?ZO/\`M@?`BRO-#^P:38?"KXH_V=J/VR.7^U-_B'PJTW[D#=#Y;@)\ +MV=VUL?P_A\7E7LJ$<#4A&K[>G+GI\N$:J\B7-'WH4H\C][]]?:G(^_P"O +M@#]C/Q1\1M-_X)5?`*RT'X6?\)'I,/@S3/(U'_A);.S^T9CW-^YD4LNURR<] +M=N>AK]5X@Q^983#QJ97@_K51R2NW/0U^+\/Y]Q'3_LGV&3<_)A) +M1A_M%./M*?\`LMZFJ]RW+#W'K[_]UG\^\+\3<64O[#^KY![3V>!G"G_M5&/M +M:?\`L=ZNL?!G"G_M5&/M:?^QWJZQ]RW+3]R7O/ +MVG]QG@'@WX">$/%G[.7C^ROOVGWL\MD=3L+*YABO);61V2*6Y2215CC"L$1`IP_GW$=/\`LGV& +M3<_)A)1A_M%./M*?^RWJ:KW+OO_`-UAPOQ-Q92_L/ZOD'M/9X&<*?\` +MM5&/M:?^QWJZQ]RW+3]R7O/VG]QGA/Q#_92\??'3]FGQ3I/A/X)_#EYOB5_8 +MT"_$D^*9K"_L;;3=164RS:"P>TU'4HD&I6D.HM+9W"VEZUF"L*NUQ]&?"3X& +M^&(-.\-^/=*_9ZF\67UMXFG\:VUS+\0KFVT.?Q*@DLUU8>'Y9CIR:A'&-BW1 +MMO.WQB8.),/73DF=YW2HY++"93*I4CA*D4G6I0C*G?"VJ1E>3VC!N$HP:<[+ +MFY6SKX=XBXBHT.'I8'))5JL,#4@HO$4(1G3O@[583YI/:,'*$X0DG4LN90DS +MWGX.^*/B-IO[.7ARRT'X6?\`"1Z3#]K\C4?^$EL[/[1FZF9OW,BEEVN63GKM +MST-'P=\4?$;3?VY;EA[CU]_^ZSDX7XFX +MLI?V']7R#VGL\#.%/_:J,?:T_P#8[U=8^Y;EI^Y+WG[3^XP^#OBCXC:;^SEX +MDP_:_(U'_A);.S^T9NIF;]S(I9=KEDYZ[<]#1\'?%'Q&TW]G +M+PY9:#\+/^$CTF'[7Y&H_P#"2V=G]HS=3,W[F12R[7+)SUVYZ&CA_/N(Z?\` +M9/L,FY^3"2C#_:*X]??_`+K#A?B;BRE_8?U?(/:>SP,X +M4_\`:J,?:T_]CO5UC[EN6G[DO>?M/[C#X.^*/B-IO[.7ARRT'X6?\)'I,/VO +MR-1_X26SL_M&;J9F_NW/0UQG[#'_(F_M!_]E57_P!13PY7N>'^ +M/S+$8C*Z>-P?L*=/!35.?M(S]K&^$7-RQ5X:*+M+7WK=&?1^%^9YMB<5DM+, +M,!]7I4\NJ*E/VL*GMHWP2Y^6*3IZ*+Y97?OV^RS[FHK]I/Z#"B@`HH`**`"B +M@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B@`HH`**`"B +M@`HH`**`"B@`HH`**`"B@`HH`**`"B@`KY_U#X%ZM_PMWQUXM\)?';XO_#O_ +M`(6)JMMK>K:3HEIX2N;#[?#IMEI0EB.I:+=W";K;3;4,OG%=RL0%W$4`8WA[ +M]GKQ;X5\(6>@Z#^U+\?[#2;#S/(@_LWP!+LWNTC?-)X;9CEW8\D]<=*/#W[/ +M7BWPKX0L]!T']J7X_P!AI-AYGD0?V;X`EV;W:1OFD\-LQR[L>2>N.E>9A,FP +M>&]A["%O84W2AJWRTWR7CJ]?X<-7=Z;ZN_CX+(,!A/JWU>GR_5J3HT]9/EIO +MV=XZMW_A4]97E[N^KN>'OV>O%OA7PA9Z#H/[4OQ_L-)L/,\B#^S?`$NS>[2- +M\TGAMF.7=CR3UQTH\/?L]>+?"OA"ST'0?VI?C_8:38>9Y$']F^`)=F]VD;YI +M/#;,&]A["%O84W2AJWRTWR7CJ]?X<-7=Z;ZNY@L@P&$^K +M?5Z?+]6I.C3UD^6F_9WCJW?^%3UE>7N[ZNYX>_9Z\6^%?"%GH.@_M2_'^PTF +MP\SR(/[-\`2[-[M(WS2>&V8Y=V/)/7'2CP]^SUXM\*^$+/0=!_:E^/\`8:38 +M>9Y$']F^`)=F]VD;YI/#;,&]A["%O84W2AJWRTWR7CJ]? +MX<-7=Z;ZNY@L@P&$^K?5Z?+]6I.C3UD^6F_9WCJW?^%3UE>7N[ZNYX>_9Z\6 +M^%?"%GH.@_M2_'^PTFP\SR(/[-\`2[-[M(WS2>&V8Y=V/)/7'2CP]^SUXM\* +M^$+/0=!_:E^/]AI-AYGD0?V;X`EV;W:1OFD\-LQR[L>2>N.E&$R;!X;V'L(6 +M]A3=*&K?+3?)>.KU_APU=WIOJ[F"R#`83ZM]7I\OU:DZ-/63Y:;]G>.K=_X5 +M/65Y>[OJ[GA[]GKQ;X5\(6>@Z#^U+\?[#2;#S/(@_LWP!+LWNTC?-)X;9CEW +M8\D]<=*/#W[/7BWPKX0L]!T']J7X_P!AI-AYGD0?V;X`EV;W:1OFD\-LQR[L +M>2>N.E&$R;!X;V'L(6]A3=*&K?+3?)>.KU_APU=WIOJ[F"R#`83ZM]7I\OU: +MDZ-/63Y:;]G>.K=_X5/65Y>[OJ[GA[]GKQ;X5\(6>@Z#^U+\?[#2;#S/(@_L +MWP!+LWNTC?-)X;9CEW8\D]<=*/#W[/7BWPKX0L]!T']J7X_V&DV'F>1!_9O@ +M"79O=I&^:3PVS'+NQY)ZXZ483)L'AO8>PA;V%-TH:M\M-\EXZO7^'#5W>F^K +MN8+(,!A/JWU>GR_5J3HT]9/EIOV=XZMW_A4]97E[N^KN>'OV>O%OA7PA9Z#H +M/[4OQ_L-)L/,\B#^S?`$NS>[2-\TGAMF.7=CR3UQTK0^&7[.]K\-OB=H7B>? +MXJ?$_P`?R^%O#^L^&]&L?$B>'H[33;35;RQOKUT_L[2[2625YM,M<&62154. +M%4;L@PF38/#>P]A"WL*;I0U;Y:;Y+QU>O\.&KN]-]7LKR]W?5W^B:^4_`G[,.N?#/X/>'?`/@C]IWX_Z)X2 +M\)V4>GZ58?8/`=S]EMD^ZGFS>''E?'J[,?>O3/8-/P]^SUXM\*^$+/0=!_:E +M^/\`8:38>9Y$']F^`)=F]VD;YI/#;,_9Z\6^%?"%GH.@_M2_ +M'^PTFP\SR(/[-\`2[-[M(WS2>&V8Y=V/)/7'2O,PF38/#>P]A"WL*;I0U;Y: +M;Y+QU>O\.&KN]-]7?Q\%D&`PGU;ZO3Y?JU)T:>LGRTW[.\=6[_PJ>LKR]W?5 +MW/#W[/7BWPKX0L]!T']J7X_V&DV'F>1!_9O@"79O=I&^:3PVS'+NQY)ZXZ4> +M'OV>O%OA7PA9Z#H/[4OQ_L-)L/,\B#^S?`$NS>[2-\TGAMF.7=CR3UQTHPF3 +M8/#>P]A"WL*;I0U;Y:;Y+QU>O\.&KN]-]7LKR]W?5W/#W[/7BWPKX0L]!T']J7X_P!AI-AYGD0?V;X`EV;W +M:1OFD\-LQR[L>2>N.E'A[]GKQ;X5\(6>@Z#^U+\?[#2;#S/(@_LWP!+LWNTC +M?-)X;9CEW8\D]<=*,)DV#PWL/80M["FZ4-6^6F^2\=7K_#AJ[O3?5W,%D&`P +MGU;ZO3Y?JU)T:>LGRTW[.\=6[_PJ>LKR]W?5W/#W[/7BWPKX0L]!T']J7X_V +M&DV'F>1!_9O@"79O=I&^:3PVS'+NQY)ZXZ4>'OV>O%OA7PA9Z#H/[4OQ_L-) +ML/,\B#^S?`$NS>[2-\TGAMF.7=CR3UQTHPF38/#>P]A"WL*;I0U;Y:;Y+QU> +MO\.&KN]-]7LKR]W?5W/#W[/ +M7BWPKX0L]!T']J7X_P!AI-AYGD0?V;X`EV;W:1OFD\-LQR[L>2>N.E'A[]GK +MQ;X5\(6>@Z#^U+\?[#2;#S/(@_LWP!+LWNTC?-)X;9CEW8\D]<=*,)DV#PWL +M/80M["FZ4-6^6F^2\=7K_#AJ[O3?5W,%D&`PGU;ZO3Y?JU)T:>LGRTW[.\=6 +M[_PJ>LKR]W?5W/#W[/7BWPKX0L]!T']J7X_V&DV'F>1!_9O@"79O=I&^:3PV +MS'+NQY)ZXZ4>'OV>O%OA7PA9Z#H/[4OQ_L-)L/,\B#^S?`$NS>[2-\TGAMF. +M7=CR3UQTHPF38/#>P]A"WL*;I0U;Y:;Y+QU>O\.&KN]-]7LKR]W?5W/#W[/7BWPKX0L]!T']J7X_P!AI-AY +MGD0?V;X`EV;W:1OFD\-LQR[L>2>N.E=A\$/@AHGP+\$^*-&T;Q1XP\82^,/$ +M#>)-1U'Q(^GFZ>Z-C9Z>$06-K:PK$L&GVX`$6[=O)8YX,)DV#PWL/80M["FZ +M4-6^6F^2\=7K_#AJ[O3?5W,%D&`PGU;ZO3Y?JU)T:>LGRTW[.\=6[_PJ>LKR +3]W?5W]IHKTSV`HH`**`"B@#_V0`` +` +end --- acidlab-0.9.6b20.orig/html-doc/gd_setup.gif.uu +++ acidlab-0.9.6b20/html-doc/gd_setup.gif.uu @@ -0,0 +1,992 @@ +begin 644 gd_setup.gif +M1TE&.#EAD`&!`><```0$!`)FVP*YC#X-`IJWOX$!+O&PPJN[0,# +M_N[6%9%D://U,/0H*OZG`I^FG_[^_B$C(ZZL-'+L>_QM#146]P4ESJZN6JZR +MKN3L=`);PA`1$"YID^5SB^826'EQ86%@*"@@7&[DQ.3&)B9?B@$>+(?\+6U8N*[@1(UMN1 +MAX>1ZBXN,#U:<:[CO>'`ZMZ>TYI:AYOT["\K:V'^'YB9` +M2E5JWO!#0#Y`:J6K\-)[;>IE8X6)AWV"YZ^_P;F_NEYE9?JF'INBG,+.SN:N +M>@10UHX"795#HZ.A(2(J*MY:&F\"XR^`(NU9Z:G@)RW/V/ +M!CE5VX5YQL[>WMC`NK[BSB8T1KK*X[EL9SY.;KS`\VYN;]CBO$*:IKI<5&NO +MH,RMH+*R-EM;K4CS3A0ETDM^A0*FZ7WKAIBI[=+)R+W*R9&4PY::T,/(\P-: +MWN.+A`*2XP0.R:VZXASZ'_T:"][>(@*"AGY.OK["OG8"BNM83&5ZXA8WSFAE +MJ3Y&[00^UHR-T]"FD5*?D]W>WR8J245&1K923@=#NO+V0'U_?-BTJOR!"LK. +MRJ"LJC;2UH(ZE/NL$@J,YJ.FS@08R%Y.MM+6TE5:EW:#[9FFYOL6$9J>FH!] +MF'%QI(N;G,7*QYZ20G1\>Z[*BLJ-#1S^OQ73%/UN]K24+U +M2->ZN]ZFCOW\!W1U=.3GY?.R,)&6DH_IF^J28K&ZL^2@=F9I9@)^X`J^[='1 +MZQ3^%6EQ[R0F]>#.7((^*BP`````D`&!`0`(_@`3O1M(L*"Q,P@3*ES(L*'# +MAQ`5+D$X\4S%BP@U6S:MW*M:O7 +MKUVS%!Q+MBS9'.^LF5.V1AE;983<`))"MZX467?QRMK+MZ\L:GL!4QM,F'`I +MP]0N*%[,F'$I1Q<<09[LJ(1D1R)$6,ZLV1$P$9\S`_M,6O3HTZ>1C58-#)F- +MUJ]A`WOMVH;MVS;HZ-[->S>(5\"#"Q\>@,2KXL=)!#!0?+F!Y]"C2X=D@+IU +M`WP@9=^>'9)W[WS"_HL?3QZ?^?/2\$GCDGZ]M/?PW\>:3[^^?0*Q\.LGP+^_ +M__\`GB(@?PD0(&`"`IZ2P((,-NA@`D%`*&$^$.9#81`69JCA"Q9RF,\+((8H +M8A!?Y)+!$R=F<&(NWZ2(XHEN?/,BBBAZ\8U`YT"P1B&%[%B(/EX<8=>04BA0 +MEUYWY>77DGP))MA?A45Y`353)';!%(IAV9B6D3%&V66172;99B)4QIEHIH&& +MVIIKON;F;+C=UIMM(-!19YUT#/=*GGKV"5P`QQT7P*#+$?IX2/>>92:QT>EE'*!CZ9<=.III_'))XU]I-8G0"RGIBJ``*>PNJH`_OP) +MZ&J"M-8J(!ZXYJKKKD'@&D2OOP8K;!`O$/NKB,@62XXSQ!"C1[/-JO+$.XX7[Q;)9&#T8H,&#CB@ +MP`0U8Y11AA4X,)$*"E,.EDHZ54[1"QK9E,%E.KQP*4/[ARI=N'A +M`XG0EV)J'J='=[HII^PUW6E]7)0ZWZFHTO?JU5BOFJ#6K-J:(!ZG@`UVV+J> +M`BP>O?J:-K##MEWLL7"+V`8$\#1S3C.JJ-*,_A>&$)/+-ML\\@@A&:AR3BY/ +M&)X!(>80XVV/.X*KQQ/E1M#**)OTT0H1%I2C3S_!X%"&!6`PH842K3!AP1"S":\6`%/*A][#/*9IZDY6FST +MVV8RG"GSEIO+?`:G&\Q_BEF@;'8SY^0L9SX;F@*_(S3S#,UH1\M4TICVJ0H^ +M[6E2HQK5JI8J5&5-:ZUJ5=>\)C:RE7!7NEK;V=C6-F$5"T3&"E$0E@4/O9TC +M"LW8VQ/T``$`^!``_EY87#.>D`,O*",+A("`X]ZAAT>$*W+CJMP1V%".+O;$YY`C$=DP2W&_@@B +M(>X&`0DD(A?G,$>WWG&.:4`.7(6((EW82(Q-E(,1DU#"$=`@A5+HPPIL:`5> +MQL`(5[`A`A9E@^ZPT1=J@(&DU$"!*ZC!"&Q`(1N#*<E^KE29;G*C +MU5GZSY9]DMG,=BFH71H09\OY9<]V1DP&.O"MQD1FTI9I04_!QYG/G"8UI_8J +M#WZP:]GTVC=QU,<]] +MGD,>B,;*1"CJYPQ!=2L5XF8(*I(F#"%R21&5.&+$UMFA]J[,??K*IL +M?[+\WY[\)#.:C75FRS$KSIASP.<`DZT+?.`P'U@I3450F75ESZA$-2I2=9"# +M'%05UP(+V!%^;6RW0J&*P\G"<@[KA8^5H8C<28PU_)`#0]PA!(S!"4XD(HC? +M4(4Y0 +MQ904,YC%E&+,!5.,_B,P5HHRE0DRO<`8QM8L@EZXN32C\5A3SV1*-8%LE?F] +M*LKR%TL`M^RK`Z8E``M,*`4O>#K`K$[/>M;62#6P@10VFH63N;2EK0=438NF +MJ/3Z3`U64\37#"$(M_9-;Y[XL&2Z&G2(5&8*>.%)%)0BQ\YWGPARCL#:1G$R7 +M*&.[V_1JDK>CE+#!3`%+5(KZTZ<^]2M=Z>E61S=D%%."Q72]!%\'N]C#/G:P +M`Z,$R"C!V=%^]K6K)NW(B'MKXD[WNH,`&2#X;YSR#H*^]]U.@,<3'390RSS5 +M<@.OV(#B%\]XQA]G`X."/"]YJ2A&!4!1!_<9><9C*4D53=-(R[`%F]E,BN.5 +MXE4#,:K_BC56"_;U8".'&W*!K=ICRPNUWWGM@6U[;-T-1_(P!@R&3WP8G$$" +MQ4"^\I-?C.8OO_DY8/[SD=_\ZEN_&-'/_O6Q_K_]ZD??^]N_Q"6P/W[Q-W_\ +MW\^!^"^A?O&KG_S;?W_YT;_^]KM__>LOAOGWSW_]X___`!B``CB``D@&XF>` +M"'@)!DB`"GB`"=B`#;B`"#B!"D@&%CB!"4B!&6B!%7B!'*B!&.B!(NB!'=B! +M(WB"*)B"*KB"%Z@#Q"=\PE=\,0@#,TB#PP>#@X,CA6`..91#YZ!L/QB$0F@W +M1/B#..2#41"$/M@,49"$37A#3SC,V@#SFD#\P(C7?CC,I0"#>2%CM8 +M;,4V>PB@C=Z8"]WXC=T8CN.(`.18;`@P>^#XC>S8CNOXCNX8C_(XC]JHCO1X +MC_B8C^'(COOHC?THCMKXC_1HC[G@!NF8CFY@D.:8CPS9D/P8CP0)C_PX>_;X +MC^8HD.V8D`N)D`JID1=YD`GID0XICTA0"(2@@^8PDM^8D/.(D1"IDC!Y_H\1 +M&9,TB8\S69,O>9#K:([$YHTWB9,P29$%.90NZ8X+29`&:9#YJ)#BV(U,&9)) +M>9%0"93%5I+7>`[9J(UQ\`Y(H`Q>L`U7\)/>N`T#L08%Z0;;$`?U<`7QR):Y +M$`>&$)8!B8_*\`XI>8^%\`YNF9$OF0ORX(Y[:91)Z8]B294KN8TQR9(#"9"& +MR9`4.9@[&9E+&8_C2)/A:(](.92T=Y'R*)?F<)?%]I?M>`\FB9+>^`X^\)E> +M<`4Q4`]KD0'NZ`99$`>?Z9?;$`-7$`>)`)MG>9H0D`M(8`Y_>07*\#=H^3>( +M^8U(L`UK\3?*`)G?N",04)S.H`R&4`\0``%Q_N`&&0`!YK"=$.`&YF`(<7`% +MOUD(N>`#Z.D&RL"H#;+$-:[`-.VH,5_`.\L"5]U`/ +MO)J$`*D84JH"-9F"TICUFP!C[P!H5P#ZPIFX4``VN@`II9DB<9#E@)FKF@ +MHFN0`>9P#_=@"&,*`P6)H!3Y!BHPI\0YI/>0`5*JF4]Y3VPYFV.*!.^P#5D@ +M#^&PC>K(C5G@!L'G#)P0HL'*C>JXK.`HI4<:#N:Z!O*0!5;Z!AF@#%>`1.;: +MGK-G#EF0`_9*G%X0`YQ@#IS9H`(9H?(HKB"IE#\Z>T#J:Y**L,P*CI>IF>08 +MJ8=YJ`TKE#[YL-RXI=D*E>/(E..(J8B9K4-IL0T*CXGJCSU9CZ)*H"R+_J$$ +M.I,($`/@\@;R@*:)P*H^``'O<)DFJH/.X)O%E@%+6@_L^IP,VHV$<*3FD`'; +M4)?\:J]\NHT]F9"W"6Q'&IQK``&S&0._B:CF.'M(``'!9P[!.:,=>Y\[LA:R +M::\ZNZVENJY"RPD[%J^R*9L[$@>W*;1QD`57$`X0@`3!:90IJXZ=VH]"F:U; +M6IF;NK@!"K'^2:&&"ZH!>;CH&*3U>;;JN(\=2[#HF+":JZ@7VH^5J;@!V:F. +MBZV`VJ<+.[(7VYN8J;'!NK@/2:C^F07`MB,Q8`YK8+?5>JW:**NFJ97TF0OU +ML`WRX`9_FY(/&ZQ*R@G%.:?RL`T>>IRJ"[ +M60J7(N]"9RI(FN4GCF>2""^;>&[VMBSX6`-.[BR%:K`#_R@&ES`E,J-,^S` +MCJK#.BR/I/N3+X>0]9BZ(9S`^KB\(INY&+RH__BZ,OG!^5F8'%S#-]G$"TS% +M%?R.#`J37\NZD8N/.Z*HP$M0J5G#+8O&%"R60LR7LXO$?3G!`PO'R^O&+^N] +M!XN?`5J1(#N/):RR_A'KJ-@ZP#)LH:R+E)?IP0'YQ***L7M[NCEYR5?\QY/4XJO18QEB)M]J,HSB:EH#CS6F)M^#$CN?\SNK,S>ELS^O\SH!CSO!Z-5C7=5KO=5778E_8-:G=9I[8A3 +MC=5E3=65*-A9?0YR_=5Q;=65V-A]+=:3C=>-;=:3[=>5&(P]*`=;\-,YY-E# +M[=FK\-G-X-FA_=F>C=J@7=2G3=0\S=1$G4.7)0Z$&_MD,GUG=UGW=V)W=VIW=NGK= +MW;W=V_W=X#W>Y.T,GYD!SH#>Y+W>2\O>[OW>[BV%>N@,+/G<4RFA'&O?^GW? +M2*F1*VO)&0G*M1H,K-`,ORW"DFFR9VFZDYJ?/VJ1XNK#"5H/PS`,$9F.IOO@ +M#YZ0G +MZ9(^Z91>Z99^Z9B>Z9J^Z9S>Z9[^Z:!.Z>>0H/4HFL6VMU/0`3K`#:P@#ZUN +M#BH*`3<P![2+X4X9!:#0 +M`6W@K^8``]N`JCT\` +M`Q`0ZL0`#X_^#95>I9/NG1'0!=@+Z?"@!Y`>!_`NZ?:.Z80`ZE?P!)D^\*&> +M\(\.#^VN\)U^#M^0V+W8#**)`%<0"+[P"Y>0!*U@!>7@"N^0"^$PHZ?>_J(0 +ML)K2RX[R,)V1B0&<$+:%6YOH:+W:F$2\F9`*:`ID(`$Z$`X2@`7`69JA;`Z/ +MT`QN<`5S3@A>L`G[G@M[\*/D$`(A@`7.T(W#6VPP@`%]BP#PB@#O^IM'NI;; +M@+RY,)V&8`@00*WCF0$DJHU/8`2>X`+AT`/3L)!.JHT]4FSA:R+*D/:)<`5G +MW_=_HP)77Y!>P`GO`.GRT`6/O@:9K@R,WP7*4.GPD/B1#@'28D3PL`:,'P&0 +M#^G;H`J3#@^<,.F.#^GF(/J?7OF87@CPD`'68.E=4`B;?OJ;W@66[_";OM/P +MT`G$,`[;(+84B07/8`I+T`O34`Y/X`KRP`V&_J^-'RH/NAO"ANDFG +MUW^6;&&O;VF=/6)$:;F;/9*0=;D-#NL&"F@.]4`&IF`.9/`&N0#*>C#L]`DX +MP)T+T\`(:*`/^L`(`#$+5"`=$!#D0N@&82X8:Y2M07(%"81[5V+D,A;.B[%W +MQK+D4A;G39Q$&3BZ>5-HVT(W1JBXN(7A2H:%]2[FDJ>LD#).5]9D4+8MB\EW +M(H6ZR2'OGCD("MUX>1=CC;D(B3A!T)/H7:XKX0IUB:`GPEB:8PO!(_:P"Z%W +M5\:^&QN!6(0G$+:I@KL&7H1FYC+(>W?.G$,]C][)`PLWPI5WS;*^^S9661A7#YX*HD'O`]"A&``<$U8G`C'*%RR<(-#E;*`H)P@E0F"V,@>$?(.'(IY`V: +MW%`('5"PZ,`?)";,Q2:$UBB$R2!S0>"*+'(`,IPXLB#DHR#'3`BJ>^#)_DLW +MQ2:#X!RYXIHL`GCDB4#`&)JYYQT83!MKKB?,V8:M"-8`2Z\_([#,G'.85&XO +MN%ZCM-.QS%$E@BS>R2("592!!S5.UF`UQ'`\A>L<&`YCS;,('IDK3[DX.DL9 +M9?3H8@WJ&'LB@QCNR<#35^%:-CD\59F364^OH[9:OG+YAIAV.><]%U\$XY)+SI"')00.@@&# +MY>YA$H(%W2RJ2%+;Q""+KH"T3`4$$?+"(%-Z_C!%F6[DJ2()@ +MJI?KF36.EX$$T@LO)O2"DQBZV+H0:[Q@C1AS?GU$S[WHDDZYN>[*)2VQ_;R' +MF"[FCL"<7)X`*:TN5*$J[#4>P1LP8LZ")VZ_(_",JCX39TV/0E3))B7LT8IY0Y9P,"/&-+"]4>:*0S<\YI]C7B$EVK"XR2,N+#)H)U3.@B'FG +M.6*$/7N-<^ZZAVO=8;.V^.JR&&HV!`8J$VP2P"N`)!`#G7,$OAD#"-AA3-.\DA(Y-E$@]E!G-I65@#>'X8!*IA!`. +M<&`)Q0!`.@%@OHHE(APD,L<5.B9/&TVC!I/@!S\8<09?J,!N-M*@!A$P0S(! +MU*``/4C^`AH';LP&H(08Z#@!.B&%'E0A^5M#(CAIG9+80QIM.%1&SQ +MH]8B1B+2>-)JG<-7R@A5\8*CF[@8PY-Q\4(B:,K2EB;$'!/J)4(`40PE3(\; +MF]A&!@NJO8,NM:DV.HA2G:)4B.+O(&Y09U8!8(P/A>ABB_*"-#MF(RI-,AC! +M4,8_G^K4M;9UHNUR2BXJRM3WM,NB3WG"3JNC_E>>VI*O?.WK2`-+K;D!]CI_ +MW>M@>WHR[0650FXP1S!8P8V5D)6@=K4H2^CZ'J5JED(*>T\68#!:T<(@"^!L +MYSLQYH8H,&JL3U7HA.!*UK9BUJV>O:I!)4I;@^;/#4]`W3FL@;KA!M<:PSVN +M<(N+W.,F=[G.;>YS@TOZUJWN=AM;W3E.U_ZUC>YS>@L\S);5ZL&5(.R!>UGV;K6_"Y$JG+-(&,/ +M4L"+3S9_;[G"5<`L3Q"#.(0BU@>)A;Q%5!\ +M8A.7>,4G+C&)1PSB_D?(V,8R3C&,6[_C'0>[QC8^L +MY!OS>,E*WG&4I3QE*OMXR%&N[&T!S*4#(X`0MA5P9F6;V]LB)+4DBL,"MQ$> +M-:>YS6J&E*)[K4F@;UFR&]:4E_ +MVM2.[C.<0SUK6K\:T)V.LYLGK>M8(UK6;KYSGGU]:3@'^]-\9K6G"P]RH/8>M-UM=[B]C>TM_H"[ +MW>46=[FS7>XHG*/>\DYWM_.][7QC>]Q1T#:ZYRUO@@^M2ESEFB)[VN/:_KSG<^0Z(_=NM'GSG/,5O@@S(;GFL(QN]>2^`O1Q6B;X]J +MW*,:4"]?U>TG"SI4JSK#_&5XH'CWLEVY'GBR3]WPAT=\XA6_>*CBW;=6)]/) +MOOQ9@DJ>[PH&/)DJZN6"*GCR-\IM7!-2^!ZF_OQB:H7Y6G=[X+A"7GMNJ&B[ +MI#KSJ_^7K7;-H$))SWC>]][WOS<\UVF;8=[*WO'\%;!M=PM@S>*^\Y\-_>L7 +MXAP#DB@#W^@+`P]JV@+Y_"!ON/U!P]24,!=8YYPOTS<,O'Z,9*%(%05_\Q." +M!$-P?<-*O\D[U`IU-]S#7S1I*Q_P@:="@C7@"@-:+?93*B^X`@AXDB>9*.3S+Y]KP;GK +M/*4ZLQ*Y@F]XL+5CJBP8*`_,`F21ARS@!`)9@QJAK7:)@SWX!D*HAVV`@'H` +ML9^*`T*(`T:QFQ)A_A0?V(.G^@ASX(0UN8=ZR(+^R`QSZ,%X$BU#2*@,:CW* +MPT"J^1!S4($L4`9#R`(D>``,(6!JAB`@)N((W`"=$Q!@]?`(/,R($U@$$V7`AE4`%GJ@=$7*,LD))[^!`P5`;[2(0M&4*WJ@@WH$-.^,(U +MD$,"L1FZVJT.`RA#^"EA7`,W8,(E9$(.JS`77$:#,KM",`0>2K.8NS\$\(C9 +M^`N7^P@,<`,)&*)KI!)NB<(KV((,`(]F:!0ZJ@D>(/F+=S!&-X"!*?&Z`4LPZ6-(]TL$,BQ%&+B''U2**'D]&.02 +M9P@'3H":*^`J$8,!J2$0!("`0M"_S8"^Z=N&.TP2>8`!.ERA\-!!9WBP4WR# +MI;D"6N(JRNNLN5-#I@H'C_@)&``2AQ`3LO+(A1`?>=B&E!@5=@#")BK +M%GPJH`LSYE.(=FHV2[G!&QDZ*OD((3280"2BM'R'HJ&]N*J[;;"&/4"`%,'+ +M;:#'>D#!;XB#NK0&@\!,T6!!A/@(!)'#<"A+_B8!DM20#S0(:6!`64`IQAHP&U0!B^X"$_T@:[4RUS@!',( +MQ"0A3B\($H[\B`R(`R0(AWM@&>%4@0V<.ZO#((10$X0P!/#+`C`1$]$;R@E) +M3B`1BO#)32\`0X8@$"!ADC@X$KI[/C7\#O[\B+-D'_/1P0#S+"X!LPFY2JZX +M%`SHCGKPAF;@Q^@#+A!>R_%+93#[.`CL&5,$\S,HU.,%PD(JF +M4JH*5`9C*9`U69`E]9(%4XE,]5=;R +M1*C^"M.P][21;=2C$.68A0U7;GV^"=LZA#J9 +M=%57R]I7%ZRM;-0L5L6P-@Q7\M0>$;78:_2L0N"AV`2MB)2^S2*SJ()7-K30 +M,HM&B11*/K3&(7*]6P79"R4^!'"&+(S7BIU`%MS8N)K!19%&"&.Z7%U!S6O+ +M<_59@R([7FW5-MS8/14^D67&JNU7P@32U;.]T7/7!'U.PC17G+4YW'I)`J,\ +M!6W6`8,J;?6[SAL\NE48E&U;W1):B5)8R`,[+A-;#CV]N:Q,%7E7"H-,M55# +MA:6PN;5&9&)&\N14K0W;K".SL!PZIAHSVW/5_K[U3=E#6[MS2M7+.0;T?7+UHC"W+O]6ZQ;NLNK/='US86]K`BSW6;EDK[[/,&=/M,[(+M8 +M('F0PD@CMBOC,2/S`7#8,>PULBJK,NH],NX%7QT+LNZMWO)E,1^X,NK5,7GP +MAA/SABM`W_/],2F;7RI3WQ/S`?K57_#%L?N]7_-],?)ML?!M,?C=L?P-8`(F +MX/^-LB);X.\%W^M5L>O%7^T5X"A#7P.6AT)@,-6:G5RHMG-HACT8A!$6.6&T +ML)X3OJ`+6][U6)8(NZHSNK5%.NEK6JR+6YS3N1V6J//385!5X1G&82=]3)W[ +MVV6%X20.XF7M81F>_N$:3CY/K=MWC=O6,V(8KCJO*[H=!EDKKCJA4^$CUN+! +ML[_-W>&F1;HFQCE>=>&P>\D-5CEX^I!>^L,HG$(%.A$BM*VJ2K`K +M!MZ\G=V]=-MYU:UKI9"JNM:[6V2EDKR-_5?8%5%(9BQ.E2W<:^2Z@[U`KKO' +M^E?8;*"K"N5/5E:\(T&]*S!'IA*XF]G(JRM7?@]%%JBD-3`NDV68#5KE)=M; +M!N10[N$D=D7^TEWBV^`.M1M?"`:$^(9"<(,XD(=F^`F_\.,7[M;"[6)(KBV\ +M'5E[?=4V+%OFDUGBY2RNQ4:Y.M?RY,M/]:_)XS)^Y>6^%#R!HJOQU%IP_A[: +MU1WEX84\CMW6I47BRQU*_FH[WRIG1&8J\P,JYD4SQG`&$%N@&ALT:=J&,)GG +MYDLZ#%K:73;9E`[%IP-7EDWFB#LK)/-[C'EC:9O&S6W%NZ +MOW.]W3-=JNOEFT[E#MOII@.SMOSI`5/GGK;5W3-DLJL\I];+5B1/LX[I,G/5 +MG`9;U=/5)7J'N\;K=V#HT""P"23*6>[+X!4PL"Z_N+[EGEVJ-RYDW`)IVM%5![!_JL-:1<\Y9/FT[$;;.4%R3U; +M!1_PACKRJI5K*P43,UM]SMFS76Z^Y\JE6T^E*E$T7H"&X2 +ML'G]Z+W,V7@&:/O3Z6TN6XN=*HKU3\CK@B"&-@PSHA"&L +M!T]4.6O@:PR=K9[NTY'&L.H6;N8FYE?>,MC#5;HS;J`3O4QFP?\>32=-V]G# +M.J$;6O?LY#!>9X#6;`)GOC6V1O\6Z6]]6X4A:YJ]7+^VNYKK`=FD;UW&[R=] +MOIPR__JC$'NV./>O*!O(+=4%\A>F,7K[EPVK=NCL?YM9TY==L +MS'`=KUJO`\D,@(=G5H867^_0H&KW4U$W"$2:($-P4,3,H)#U5#Y7O`?3ZLVL +M"T0(-;`?Q("\J]N]3')K-.N+UO`1-&1&7T&W?BLML]>[!?!VE6N$8O`N#^;B +M+K\QQ\"BG+`6!#K<==N256DM][Y.SH4:*F$J"0=S*)T._8^#`(`?R((?X`#Q +M`8"?V@8`0((86"=C6*=Z```X:=<62(3WN`(`D`#1`H!$Z&DX#T-(1@(`<*RY +M$_;)_7""6@,`4($(-VEZ#O4F#VS!YO3`Y=89%V;K7E!QCVNR@V?E-NUO_G:K +MH,W0A1#SQ+5E2ZYW]^;+1J_1:-Q$'SJAO6X>@6"&#VG4U+`%B?C9>'%<*`>NC"%9K+[MF*=^!XAT"(%?J)'`"`)E&& +MSNB2PSB2=7H2?O]=BX)TCQ9QN%YL_U)WI0OZP;5E6/;LR:;8HK?80-90MG7Z +MX.U;TL-E-'8K0A@;IKY'-_B&6+^8_T`(`,@!97#Y'0$`3MA%7\^"EW^#9_>" +M8G>#1$!V#E@5`.``?7UVIXB#8@\':\=X[V3X;?@!"?B!'[B'=>(`&8*!')`` +M``B'%M@JE(?[+Z3[6@?[=73*Y2YWT+MQ9O5/_A@@&]3%/8;`"` +M%P!PAD3X`6>4B'1Z!R5\]ODP!&%?=16H]O3?JJ4!`!E2B!X@]6C-^14$"#>Y +M<@D<6-#@P(2Y$"0LB("A0H(1#T([#T>-(D2Y`P71+D.+)F4(PCS:V!EQ!"(4.% +M""5Z=ZZ0/(T`C"F,_@'`'()M`)!X-9>P'@`8R@`40@`#@!L.B1"V:&$.@C$( +M`.Z]`R`OSMXW`)SE^"$2"0"YAMRLD?"#PQ5C`!!DR)'(L:&TA-8`6"/18=". +M"F^.+NT1Z=&%&Y.&#HT39<_6-($N/(T0HM*4#CG.C%CQHLC?0'&7+MD;).F* +M)QL6S'F;)T0AP8@1@GADJ@3)V`RL.!8S]TF`L$=[X3THI;"I7E:J6^ +MQ-Q0H45YZHF?I6JD23U$22IRV+5*4G.TYC8=DAH=AVM*,=TTVXQ-NOKCD3#I +MI"M!$'`W4!Q1%0*>55@!VQJ-`UGY45!>O%$=`ML>&2Y-"EE)$;++K;00:$5Q +M.Y%RU;D8%'&R,IMJB=*)VE&NJ(YJI*JU^J@4_HGKCBKEP;ZA6"S`,OK&8Y&V +M!NM0OPB'ZPR8W95)5;59$;RONUDV3"O)X(HK<*CR'LGKM<*^6J)$]M[;ZI:S +MGH1ERQ);5W#`U=KPJ +MX?33WL"U]K/?KPV4-',SY=H;`JCOMJZ1K"]T[H^.N^OXC>P>_JOENA_[\Y:H +MNU0NXV3S#;1O?M_._AS%T6F>D*P1*[1=)Q!!177'MYMNXHB7'[NP\_,F7)R+ +MM/-N*N8^ID@$K%:W:LF-[CZ_7/6:M2U,=311G$&6Y+H> +MS$1<')'?WWR%0":1#T?_:UCZ]-8B9/7O1Z+KG8]PP\"'L"J``V&*4Z!%)C-U +M+WED4YJ3O+?!YLS/1.;+%=NNTS2UB0XEM?.=OH[2PR#"+"3;TM?H08%0C@@&N5!R4 +M(JR,LT9?96V-.C(8+&_E+_)QZ9:Y*&927.C"LA5+.0,45F^:)C[=.*^/Z22E +MD52TN=@`,H)0&@KVGB(M:OD2C#%LD14Q^!'A=:DH;CR@[\"(D#1R$UN1G$B0 +M5L2W"+JL@_YLV$4R63$@#7QI+,K9>CJN,CJ11^?#ELH$XJSLT9&7_,0*[:K: +M1+PU=8G"=([>$#:=7L +M;,,6A#D'M,-5]@&(D?B&6H>9+U2%.Q<1Z(_IGS* +M1;K-Q9?8J9#>RL1>_H6``$-Z>U5DDH8I`UG#?G`"OWK\EJDG"L<:"'&%.+P# +M1[E@L&[U]U)LR1$BT>(>3C7BH6T\5RH9N,(]ZB&0-:B@N1#(`J4*P8GP+C<# +MTJ%4<=>`X"Q`H+X.V@9KAQN._Z1'&?J)`2=$1`A#1+<><3($D\E;IS7D0,48 +MN$(]UE"/WM\J0#B%@\`YPY$(%/(;`%0RQ!D/$($0$448<S.V;V_]7(][H$$")!9&81H\)?]7(@XN&&YCGX#G.=,*7DT=R"/_@[O +MG5W[#@:MX<4Q]D^D"EU1W2"K)RMC#;AFK42\ +M+8]P",H-V86T9PH4AP/GX![A:"YQH^R&.WL&-;F$'`1L6K6L5,1#<8#!H#FQ +MJ+L,A!/*:&TA!CUH<^3%V6\&V<(-/@=+WYTRK&%B#MU,ND;QDP0V%>+0\UH`!LF1`&>#V4+H719`8 +M:/JZ,$_$HZ^@XWL<>+5(R(4$H&N,;20B"US__CD&QIV!<*0;)X1.-YM7G%J1 +M_WS0*:=[(<+QK6^OM^F)0,)RXQYE"+RA0(-^-`0PP)`8>"$.E78#FA_=Z0=P1>Z9QXL=(-#0%SP"`.7"\TC\\.XSO78RX$B>[+WX!L)A?D +MZ?YI\+FSP'MY/-H'2-_R@0N!@7>PEMJ9IK/2LT#T`V/WSBE_M$"\`.EP[!P& +MUIY[NK%OS,>%B8YVI-8>](@1BX>WS:N/`:7-S10=QX!/G<=`(F+@6@1`5/%<,[%;GG1`2>`@29`#2 +M7>!"P)YSO0%70%Y,1`$'(AH9D# +M0)`F3@/2!:!LI#T25"!KP!$GB&='1>JZU<;[T#A2`*"^J>_C%( +M5R(40M$-7"X4`N(E"!)$'1+@G$``'4.$0R)*XSU<&A((R@>*')=5X#;\UAIL +MXVZ%&A(DPC;``!(,(T10R+?=GPF2W8>0!R'DH``>1#AP0FMQPAN07'HX%[E= +MP>&MUQK$@#*01=>!84XXQ,XHLY%SQR`@W>@UI0V#W`($&, +M9$2F&!+DI$0@60RL`;8A@,8M92(RU[<57>W=1!R(VMXIPS90"#_F&2>((MDQ +MQCT`W1MP0GW5WCU@3(%4HSN^`S.V!$.LE?;L_M/$C8:FN8&FU<-BN,%^=%P< +M+%HN9(!?RH,"&L)NA4$N>($;+$;7^:4;F$-?+IIA$H2;9$!@"L1N98!9 +M(``&+(:MY0)A?LC^<>9%C&9!&`("U`,AU(,Y_*6FY=)IFJ9E`J8YH&!#&*9? +M(L"B&0)E7EASD*9D3@185*9K"J>M">:%!>8)V5AE:EIP2L=H7IB;N`%U!N1$1J9%M"=@:MJ2>,%^ +M!*=["@24.1ID9J9!!&9[>@$&O(1L&L(3\"9D5J9`U(-A`J9TN,E`9``*]B5[ +M=MV$.F;7&6A?$L2!_EI$;DI'UV$GB,[GNY!639E6/RW5AY@#.!T8O@%0U\P0 +M18D6:N271"E-7_G$91W3>[%$C,Z2WT`%)UE1*F83_@1CBCD-03E-I3FF1256 +M4`SI68D,_;BH!<77[AS.M<15^<31&LP1I[A55>01>9P0LV1$!M2$7Z*5X)C+ +M;?34PE206*%&)E'2E>**]7R5:U2$`KD4*0W)N4S4EYI0.YF+@AW$MIC5YC16 +MHA86S:A*C)H5JU1)>AG.ZP0-)CT<*TI<"PW$TQF"%Q`F!J!G>VZ;8PKHH&5F +M!D``8X0@QWJ))=AX1N$92)@Y3UX7&N%`_-IW!&NXXF(5;`<%<6(#U"0SCN) +M"\]8JWQ)59E3H#%A2*.RE8J[G3NXOV5#MJUSL(_UG(]/$`?\4%%7 +M059"(*R2+E8ST(PHR0R@#PRP26P&Q0ZB172[F-"\5H7DUN +M1SGLL$;)NGCJ+K$H7)GN@Q8"C,KIH$9JZ"#))0%7KO9N\[C(AFEM>OJ^ZY3KPAJ_^J,C$13!XEI^94IW^J1 +M#:VPL`H1<*$+%",5`#$):_10LIZ1PPS+/4EMDZC3%&U2D=`003!02.A.N_@5 +M:R"%I'X3"F-NDN+QSJ"Q_3CRJ&2I3;CHHP:RO]AM:A""RI86RW8O/7T38HW2 +MZW91"&LP**4/WERN_,83"#$L^1GKQSR,'\,MD"1X75F1% +MLD>H:,3IL"D_K27+39(F;?Y,<1R#"IPN\P5'5DD0 +M]C6WH#2-QO%(IQ'3\.G;D--*I&_I +M(BN2T(@PF[2_R$P+3X1.WR6(N3$A?$,SH/8WK#9K-T-J-X,<;$%KJW9JQ_9L +MN[9JL_8JR#9JNW9JLW9NKS9N(X!LOW8S[#8A'/<6-`,AG+9Q*_4/<61,%R1P%U#W@S;($<$#B!&[AK"_B",[AK_W>! +M([AK[T$4R(&#[X&%_ONV@%/X@"LX@`NX'/1V,S@#4F_SZD3)SUA/(,&T('51 +MYG"T^W`3U8($=/CI+#%L/)%3OQA/6F^-@JUS3U&T[LI,)/\OJ(B2C>)M=[0Q +MQ;F!-?"?#\B##TRY/%1YE$LYEF=YE6_YE5MYEV^YE8-YE(\YF'-YEU_YF8>Y +ME(.#EX\YE7/Y%72;/\N$@J5,P#R$ACWLCT#'9/4,E'06TC[PE&1-CP#YDXJN +M14DRE6H39V=+\,P+1>]GVAC/PV=D-!#A:YC98)+'=;[9Q":4K1%OD +MPAY0+I\^5_L\1\_H>2;48IW,];_#@"Q:FXC-OS!1<#V^UQ+E` +M#`*HJT_X4FLOA4*!&W105JE2I4:$]BRI%T+-'KJ`^KV9,2G0JT:8) +M@V;UR94HTK).?S8MBB`IV[-GMPYUV'4I6+1JP4[MX8;NV+1#H3(5BY9PVJAX +MK6IU&%C6/3P$:) +M0@BY+#-Y?AH/Q0Q8RD690MPP1!D$MD%1(0SD>2>O0E*+XYT,<@$'H:3,R>`* +MH=98XPHOMME&+7D8,H>E*\+Q<0T5W-@&@3C<2"FN(X\,#4PWKD#@"A7IFB^J +MLA:+S\"[X"/0L+(0((0O"0',,,/TK&I0KJ;C[L[U"]\3SS\$&J^HJ +MM@K4]HP3PPSBB&+ +M-?Q2YD@.WSM0KG,(D6<^2YFZ*ZZIDC)/*O[&_E)O4K@V7.P_6/ND\Z_\W.OJ +MOV@A7:L]51-M#UJK_'L3L`CA<^O7`X,=-+$$+SU67#>G2@D>$$4DT<12V3IU +MFSVLL6:/<<[A=X\H^.W7FG,,WB-@?QDV^)R'"Q9X$('[E7B/B0$^V&&$&:88 +MXH8Y]G?BA*/0PYI.$+#Q/D0!\ZK.`0/,%5SZ[OS6K/VTA3DO3=_$"X&]+,RJ +MSFC9--#=1`OD*U*G]H)T0J6=FJJK.UNN&E-V,:S*V)6SFI0IQ^"Y,X[)*KO7 +M5ZNLL3/!M:?:L%6IV8:;+K?A7E?NN\'MJNV9Y5[E;KWO=CLA%-/#\$+LX!+P +M4F3K:G/;=*5EK"^H_G5ET*Y*B8WDLDU48WQO,!RM^!#U[XX8DOWOCCD4\>3%9IU_5KFP:KYK=C?@QE[JC&$/'J6M2*LSIH?'9#/`>TS2]O$@FTSZ;FZ)LQKPCCU +M-"$(?!#5;+!.M3%.Q'!5'[6PA8#40DL!&1>GJ'6&<()2%>8P!3VY7.A!T^O/ +M6BJUN/-4+7X9BI"QBG*MJ+D+4!D$RJ_"TI9T04MIQ5K5!M?E)M8)"#&+416? +M[B(O>E$F=R?*R!Y2YH:7<&<-&9!5%FP$I5P8@E8F04(]3&*,+-0C.S#(_@)$ +M[N$0A"!`&3VRHC)R@9!H=;B +M!F>LX4/W(]NHK%$JM.T$`N]@RS;>X1RF*`,&<:"("LID#D[$Z!Y0N0*M'&(, +M'4'$$/=HB#QH94:B;$.,&EFB:Z0F.9T=A2EI\]_AZJ@^2B;S3E0IEQS?%4"F +MP(J%V&13A`(XIX2X*IR4-,NCXI@GHEV.4)-\))MF2#U8B3!7H;N:#A,2HA'U +M4)2\2UETZC&K5$KQ#8FQ#G4XT9"'+#$&&2G(_A4U@I*-Y"*5\B!H+K)0IVT8 +M9(J\X8V&3!?!%F+3G[XZ6N70>2BO\:52-KQ>)+G7.IUMA:8Q:VDB!>E'V55( +M+(LQ(,LRR+KN':I9A3PG62Y'LQ?:3$(LA0NTL*:438;M?J$JVSM">38$.!.8 +MJI%H4VRUC7MP(@9>8`LO73,X%;AE(V:\XHO68$S>U*8H$#'F4X3F0KNX"D`( +MV$.O?`(TZJ74D#A-ZJ.6=9[#)!8PPU*II,9)%:9:R+#:$^>T+JG`^65VJ89, +M5>I,7I+@Q."$4-`H$5+C`J%(>#@7&1`PX9P`X4Q +M(B5S>`$#YLBPB5N$0\I2$GX,-`[\ID9<^H!MDM\*' +M1_BNA[L*%'(TMZ+'ZCUO691#"E2@XBB@X,I[5V./^WSJ1T[-JZK[9&U./*,F +M**=76O4U5+?XFF.EJHS!*-0@3ZG#>]_ALT +MYW5PFWJS8]+$I19C;:YM55;GG9$*J),:Z&06ZB!92>M"S]!" +MIV/75+P>O$RU*)(I<%:[\HTX;",.59]ZU9MT]:PWB>I7GSK7O:YUKF?]ZU3? +M^MBQGO:NEUWM7C<[UM_.]@J+3[1/7A\Y>Q:H$I9%L'>A[U'8TSA$5ENG>!E +M@Q[H")JKCZ#E)J*I%O@>XY?=ERXT=<5'NP7%WG+R.Y0D999?.?)74"$5W>8T +MZ+@DXZK-9X:7//N\7TR:HU.?LNJH?$CFP\L1O2WWKI-A[U@ZD1L_`^1<-:\+ +M)V,);M*2A#>>TCP7_FW%$Y!*U7[.4,=CL,R[]X\EO[:KS)KZPVD@2:B$2G86 +M2?NBQ2&FBEX^+_N"S"MB2CY::OO`A6<"HYJD;?\L!;'H[SQ:;XYJ;UG2YZ7D +M(R[$[YH$2*84+?72J72>S/GLS\]:IWV22EW8:'RB*='BY"J:Y8#Z[B?VHRO` +M1FP^*1'"80\T0TVF;.6X@EQB2/DB,("&)JEP:$TD[[&4;[.\Q?AR*IL<#=OP +M#CL($`N#[K^@K9P:*3%DS/<0Q\R:ZH\2!P6'3+%(!UPFS0);SEO>B;$P:-&: +M@E-0ILOLA53*!*GL3OZ*S,D"1?2B0EWD$W0:Y(<_@(* +MY:3,BH#,.`B,7&P@4IW*:F +M[&_TY/"]JC%Z6(K.,AL,*B/JO`- +M\\B1A@8*$P2<0$LHH)#_""-"J(LO/!$?W^0@Y\T3Q4TAQPE:#M+OQHD8![+& +M4'%M*M(H"+(3JU`@&5((Q2-1)#"/(?L^*."&N=.`10/#%T +M/JP0N(S3CE!W@J)A(B9A#,9D"J9A&L9D*L9@_HHR*'O2)XN2)Y=2*)6R7X;- +M*`7F'(Q`UE*-*JWR7Y#-UZH2V;2RU7+-*[VR*REFUO[E+%N-U?;`",1@+7.M +M*@MF'/JEU4;&V-Q2+NVR*^72U+"2U8@R8<+2V/P%*U.-+/$RUY82+;=2*]&R +M+LG2&O;27]CR+L6@*(&2*].R8Q)3,^T2V!138-(2(SIPS(P.4Q*0M-9CD^)Q +MM4!OWSCMZV#3ZL!N-M?N[-I.[+K.[,@N[*PN[<+.-N$.[7Q3-L&N['2S-W5S +M[:X`-\-N.:ON"G83.F&3ZI:3.F'3.:]`.J73.*WSZK"3[+YSZ\1.[=`..WD3 +M[+*S.\7S.>-@.;<3_NZ\,^V@,S?A3CN%#E$=AE$@)#D5EU$4UE$A_]$D9[AO(Q#W2K/\.;VL>:"C@T0$+\406 +MHW]^8SF6XTA28XR\(!=NPQD@"4W/D$P!4?.8S(5( +MCP4145C4Q[0^\,?XP]T^4)%B]HBLY>D68(<"CD*0`(WXB##A,@-8"`UO,`8#,$="C"&ZB@JLE&0.N?TY`0&>0KP*C7.8"P9LW43(VE; +MH*T'%5'^[&:"]*`>*/4,)8W:?L5ZTLW>0.4!E["U@J@V7$09D``"..%%$N%( +M,B`1MN$-E`$TQFBLCD,94@D)PH%6%&(-$B$U$&`B=",+WL`0WL$<&H)%?N(> +MPB$'W"`'1%495@()PX&5WH%*K,,AS`@![H%C_I'@"F"@(EZ$-(=P/ZIT7996 +M:0J(RLH0R%Q/!W@H=Z@P32" +M(C0B7F(`-P3"&!XJK4[6+1+A81$`(F3+.1!`9']B(^KA#']B'*94Q:ZQ`Y/,A>26S()B2U5K +M'D&/=SQ#86.@'ER)_C3(BHH25[BB594R2C.4H1Y&[F0U):,>XHT2P1Q2R1!D +MMB>X(Q'J(086-PO,(1%(ER1>!*,2PAP(`B985SIF(B:&QL_T(23=`@U_7Y8JHGPN$T>'B,."$4 +M/^@+P2M\;$[T5A`H:GE1NRN<2-/(NO;<((L.*7G/"E4@M9'(,I5/&F0J&*$DUK:_`E'!WTN8*FN&;5>$;OEFQ]F@#?J< +MV1F@T]F?W3FB`1JBTSF<"[JB_YF>,UJ@-_J@&UJBOX&=Y_FC'7J>%;JATSFA +M"7JD*9JB6[JD"YJA)=JD6[H9,%J@59J@0=J=_N,YG'/X7%"(L899<@S$WO1) +ME%$D7Q"@'EY:%4YZH$>ZIQ>ZIFWZIC<:G6%:I7<:HGG:H[W:GT.Z&>3@H*TZ +MH\\ZK-&:IL5:H^O9K6DZKNGY&Q):I_MY"\P:K-.ZK<]Y"\J:I_FZJN<:L#M: +MJLW:I,>ZJOVYK-,Y2^B5[M@GD/3H0=3C;CW5B/V'JY)GLX''=SC[LT$[M$5[ +MM$F[M$T[>'S'LTM;M4^[M5U;'EA;'IRD7V=8#3-D\N"V2Q[#^@QV=X!('J(@ +MN`5!$*)@N(/[N(G;N(M;N(][$(X["IKAN9F[N8D;N9NANJ-@$*Y;NKD;NZ<[ +MN)V;NY%;O+^;O,W[_KS1.[W5>[S-^[JWN[RA6[G-.[GA>[WK6[K?V[ZS.[_U +M>[[UV[N#>U(_6,?X,%-Y6'J#;$&P^18QNRB9',:5?,0M?,F;G,5=W,:?7,BA?,VU',F? +M/,XY?,K/O,('(9KK:9F5T<;R@KP")4*V;(?L96^/V,WD81!$?,NK7,5#_AS$ +MQ6#+Q4#%8;S2DUS$)QW2(;W2'3W31YS2,5S3/7W$,3W2DQS$1?W3.;W10WS3 +M0QW51YW+37W4/QW6'7W+=1W-97W61]S*3[W709W5DSS8*QW3B=W5;5W6,1W6 +M05W9D3W66[W8/UW42UW:E=W*13W3@SW$!4'`DX;;R,R&+DB:'$+3(N-31[DG +M>$4>NIW7GUW:DSW/X[W>L;W8E1W4S=S>^7W8,WW>[7W?^1W@^[W@";[@_QW4 +MCSW>#Q[AA=WA\[W7F_W5]_4*'&U1N"]-Y&ENT`FI6?/3$.`<4N;=(9[6\;WD +M#1[E[UWE$9[8&[[?!1[E27[@6S[E(][D63[)_F,^Y^F]U<7`;6M5`?$,7(V% +M4[,Y%T5IWWHEV`G^Y6>>Y^W]Y:%^ZG&>ZIG]U4O^Z9,]UZU^YU?>ZAG>YHL] +MFE'P\@"0:[LQ:CR^M[VB?V9>ZE/=X7<][$O^Y>?>WJ_=WU4^[V]>[^->X;'^ +MX1<>Y:4>[OO][D]>[XV]WY]^Q`7ADOMURI`,7292$_\DZ18\(G(RJ\A0Y-W= +M\%T^X4]^WG>]\:?]]/N>[KG^W0W?US7=]6^^]7L]]/_^ZU7^X%E]\$\?X+E> +MV1%_]NN]]T4?PXV`7\'WNU8PZ4Y9*`J=$/-M+G[;&H)_^FE^ZAN>]!_>^OW> +MYZE^ZZ/^\,&^]JD__OO#7^ZS7A"`/MN,3EX'?,_:I`A[HM.N:IM3)!=\P/2[ +MW_S+G^5E?_Q1G^X!@I+`@00+&CR($*$E@0L'-E28$&+$B10K%GQH$2-!,>/< +M7,F%P$V/7"1+FB3IQB0"E"=9MG19:#GAP^!2A?=>3%$,N3A>R;VI5V\5VS9O&#^O%\X'#$KW:""I=T5O0SGA +MO-%`$*Y-.+0,G[=!0.X2I>IT5:QR_\Z;6TIBLK2I1\-S*K0!65+%+45<5`<: +MQ)M`8NP!7DJ;O;0:9ZN%Y$9J(&U8(844(D`3/"7E]`1/M055TCFY',70@K\I +M""-4"3K68HP&(8$`$I:\00XY-,"%"8$/\4A.=F\X\X882#18D`J&4()>&YC0 +M0-`]/0J"I#?WS$<)!-X065Y=8L!`#H%O6"+(DC;6R-2,+QIGH&\#<>3&-B1] +M=MI)(8#U_PEX$R*A1TCP_R +MT#`7$M4E\@8,WF0ACSX$@8JDTGF^HD:`GV>:_.%%4*`*+NR+>J3H[>M)"E2U9E%UG%HU[48EV2-"0Q=LWQ1X8AN)M)6)JX +MCX.;R\XDA9AHB3V]>QM1\R)..LH%42HCU925;MQ"SKP33GH4M?%.[>2@_A82 +ML=\J$>N]0U6IZHA;(CQ4@L#\$8<9$B+AY9&?9+G/'5[>+6#KY@*!#[.=>'0N +M1;'H^^H124UZU,4C1SZG,-*`R2J84#V<0#3(@8D<@RR&.@TTK+(*W`H2GKZH +MX(Y!IYN,90:H/J?MP2,Q\=.WNA4]!Y)F)`W,7&I`M`9BB"8G._F<;2HD_JG[ +M;<1!"#J?0\YG0J8(CW#\45V",&(9J/DF?2S,B.I2&"`UL2P0_=1$/E +MDMD<(0>TZT%`48SZ($DDY3][J9%?O[.B+:]U.-)A,I.^`^`7K94O8!X2BPEA +MW"(V3N6-21^YBB06PK/'Z:G#Z; +MER=R!1%Z(:$)-;&G/:*%`YM1U")&,NI.;EX*.)G"ZD:F`LF=)G!X_-+(3QUT +MQ@(ZC:/C$DD^EVHS?!(Q)C)1UP85M=+;$!1\Y43@^=Z9%+$"9X4XU9=@"5C1 +M2#9-L=U,XS9Y^=>9_CH6L2.DA#'#DT=]4BB4T4M-!%/)Q(!R3S3G((04O;I# +ML:)6D4K!Y%G_A\@UFC.QL2W=3E>+U=7.*:W\6F#R/C040=7,@1;"W+C"=1*G +M`E*03P3)]ZK(NFOY=)]+F/<6+R_RO*@/LR,7/6D.>)V +M-$]Z]-!06O,:DJS2B4;#C6Z4IM9VJC%]C=,5:921_&H>`T.0I7!8^KH1S8<<[4M@-J1PB0)UHFTCE_D** +M-GKIC`KLHHS2T*9H_*F4:^C5QA18RN-S8VNORM6*MI&+6TWA93'TS"`*"L@J +M&3*%1^D2#-I$OBH=Y"L+><+8&E"+>6:D9&&*W=9^$\M.>ZPF)=-?.;U6A50\ +M:"W?*&-`U^BR+REI7(MHN>!J*,TD@2]LHLJH^NZ52HM^L2*!QZ`#AC'1A38U +M@\<+5#8]Q(7C:_%D&3GK6BNRNS_\[?0LS:%H6FZXT*PTAW&"5SMGDZ_?CY:2"(<8?;VU$PM[EI +MX&YQPWO>^C,WN-W=[G73^]WL[G>\ZTUO?<\[_M_Z;O>_`6YP@]>;X/(F-\-I +M<&]T1US@$.>WPP.^[W7S&^#@ICC&*W[N?HM[X^'NN+Z_D`&4?Z$>@&WM4/%H +M,SR11,?HE2-Z"_76D`#FJ4TD6J,&FHM!Z(9JI1;(WH+4%FE3(CU><]!7?+"5 +M+&2@?G*@7]6ICHGZM<\56K^ZU:=$=:Y_G7Y:S_K7OV%VJY-][%TW.]:_7G:V +M>YWM77>%U[/>=OJA7>Y=YSO=]9[VO/?][9A`>]RIOG;!R]WN?'>[U[F^"K$+ +MGGU6MWO])'_U*+2]\&D'/-7%MJS03T2>,3--SV02W!YCN-(;(M2PC]VNO()P +MZ&%V2#ATMZR1<YA"04C[XYTU'3K-RM2XA9Q +M4*6QGFCFZ_/Z(LTH!MT(T9>.B5*59V*8:$LX$@+\XJM__>QO/XP*1B,F75;# +MJN%T$(%M7*?^L\[-]1[MGT(#[Z`,8H`)73$?UL9D"`$6[L>`#>B`MR9\\$<1 +MI+<-2:59,3%DEW94E>8&-.%/0H-D0*\G6?R$D')!66P*Q@`!V8&IX:K(F +M:?I"8--216!E.BBV-&&XB(E#'/_E2#S$3OM5$`4#B21$)\E#AR#!/,_#67<2 +M*#-(?]8G7Z+US"V30I5AG`X_GIQ9'_/&(7X9TISE1+6LUP] +M"(OR(@\B%HBY^$T#PDGGF(R*LX;!UV(OM)"P9FBW>$:>.(%L!4K#96'E0FQM +M]2U]LF9%MA)'YG,?]G\LV32S5H17M(DM*$G#Z(V+]9!?E57H2#($YEL8N%31 +MY$Q&18VF>$?3Q$3\YTH_>)3-!D:80`Y?8!7O0T+6AGX$8I40Z)!0Z84F29=- +MN80&Z3LPR!M@=F-`5(\O$1IQ-EPEF:4J* +MNIF;T`F=V>F=IPF?[KF=H.F:T'F:X1D2JRE$F7 +M]K)(;LA87_27N+@FE#*CI?..8/1R>U2/PR9]]MA`1%8(JN2*V,2-/C5."_$J +MQG`)^[%[;V()2QE=,YF4+*B2Y[27X22B%4%IINA,.ZE>1V5_(+%S'RE[_GNU +M0A&!F>_0!@'"&S_0!NKAI"4JETCY@"DJE4R9I2RZ%#FJ$9C!0!=4A9H#.7F$ +M?Q#J/)VV!BGUC[AA%()0@@*1=?(C&5,2,1$Q()]8H]C%IRJ(I^*HIWYPZB5FICTED<\PG2FXE.R&='G+9C3 +M@8O*@[*7(8#X4,8::P3I2$Q!`?5RH[<:4\'Q_J+YPD)1PY?$VGY^>CHXB6GY +M6$_[6BC!)3.9Y1+2=*V-V:AWUHU@!),]):542AP4,``%\*GO2HSD6(E8VJWK +M2%M0"J^Y)`B^5:@88D0P(;0U0WVF)"[T:*&`U$%:>%].$UX*DJF[*D9-,`!7 +M*[.::$Z1)A5DZ))=JU'JQUL-,B0JQ%&$DEY).X.EZ#AZ:"B)V4^AU:A$85ID +MF&6$.`M3"14[L`]7>[6H\"D"IF@ZN[,KJ[?J]$BX1;,$@S].B).)24]>V:`9 +M5H//AP`>V6$92A)1\*A]IK>`5H@0"1F2]0&T\+?J>JRS)%TX"[:\I)=-)HDS +MIJN4H:SB`ZB^1HIO_J65&LBJ%_@994IG)QN+":AK-_M5"-M@J$L*M$`+"#8U +M;A*I6AM67Q8C#>E=#N9]@OL4$KAJ#H*JJTD.;J!9VD<>V2N>;(K*(3HU!`^&@ +M";-0;>='B%]P,F"C`KJB`F3B/FAG>'O7/I[G/IQGR94)6\"FM'=N[C/I6WREE7R7B7>):5^G +MREKWR\%\>7AW>617RNUCR\@LR8_L>7O'=<2<=9G7?WR-&LS67G +M>,1\RW(@>=3L>&=`%N4'IZ +M(B$[LX/5U+3]E[XR#DNM+4L@X'71"D +M0-593=,+W9*_A,J;G@JA)!$H,[(]%2=0(8-1>.!E1_;D),0]-GH_IJ^N:G-RM*I#BT'7$WM:Z,(([,( +M,=#IV&3KBMH'96N[_B21[`=_43-4].@9>X141>5>JF<2\DR4M#%5A?W4#LNZ +MX)BWQCL1C9T0FURE$_R-:5HC6G:.D3J,4A.[%0O;+[):ZV33G60$FKU4TY>! +M.0B%%UT2&XT]9*FMZDNEYRH^4_M+U;4@EE``)O3::HU.W?V_\8J)+8I#+>>U +M!LM@_@U.9+M#/4O?G;3;,*>[!^Q,$RZMU3JY*2&4\TS8(6G8_$M1BAV5DR4& +MC0V8`]'2SEW9L\N.]XN$^()"@F:G!/&.P\H1$:)F$H1'KHHS-^@XUCAGR-:T +MQQTZ9]VYJ!N5:EV(TLM(ZU`1K[TI7IM)O+C6UCU@HIJ(AT4<,/B)\:C7_HF: +MAS_>KSXCJ$?E:4+=X?9UV&A5.BG(4$RQ`X[]&U2S`_.KW"ASB*Y[6"@4K*T[ +MXF'K:C#>XA$UW@["4:,DM*%=?R*U9G88YC%1UCU!Y(XJWRM3X.%5A"W6!/-P +MC))1`/X+HXR(Y)--3#@DY0I>OY*VHFIX)DLQ"$`+I"75DS(7I(8BS]@G4![^ +M*]Y%"=:&`$9($!A<66V]X`GQOEE$`3'=3I@HXX.F0V9EB]](?'F^V`59+X5^ +M8^;]:PT$A=%Z2C;8,WU$VG4VZ21!J]Y`DK,]$.2@">BQ+`,Q"^'`'`,!*YSI +MF:2)[^\!$J;I!N>)[\+5!*@P"_T^GP,ZH`7@_I\"&J<#6IWXN&;'N>_19/`/ +MS\&Q*9T$WYH$+URKZ?#/V9KGZ?#^+IP3#YJ:EB'XB\^L`B,^X[$#H`M_4:\D>RY1/8V2H9V[3*HEK`J[N+< +M-*S+Z!1="BXTT]<1K1KJW$PFH1"SV((*`T`+JP_Z`[`.3D$%S(OZE;$.`Y#]5BOGTU_]^O+\D0WZ +M^V#08%0`W._:`_#]!K']HT\0,&O52L&WYW_YU(\0.\"\TK\1[X\05``0!?;M +MH%30X$&$;PQ:0MB0DI@];J[DHI@+`0(W;BIFS*61HL>-(#6"K-B1(@**A%!6 +M)`2AT+@X,=?(,U2(4*)PYPK)JS@(@3Q!!RV)<4AIZ$$Y--JTD4,)`0U*F!8V +M5%&/Z-2B#AE2(C7`*ZJ&6XONH.6U`$&$\_9Y74?E:L$=!;P.S%J4RCJO_@,^ +M-&R2MTG#>7G7B35((6^>ACO6#BA`Q6A!2Y;P#MBWEW!?KW\16NKJ=1[DPH?? +M%ORPN#'@O*0(4R+KE1;:A9,'?$9(12[EO74-*BQZ]*"8<1(M5D1`J.1%E1M+ +M+E^^DF1'C"4S(C"G`H(R%=BWU?R6Z)U.GA2MY9+W=K3NL`;/@Q:CHLUC]%M7 +M!\Y+*W=#,:LIW79-JT`!_P3*:P#_`@1PP`+TRTH,S.8J$$#^S/HOP,5"(!)NN>=,BLZBE9@C4LGF-#(.@G!B_HH#@CCJ><(FG,"KR)J?U@,- +M/3`15!9C!0XW^3/L:S$DN^V?>ITL\$F_)33 +M*SK]-,RK//Q4RRQ%)]L'%3\;I$#1S@:`M,Y#!TC43],4'72`0NNTD19%S_Q* +M43YA"W)5^'S,4[W@)B(2HR2+-.G6X9@<23HD3S(G'"J#K8<[[[2D:!!"Y(%* +MS3+!;.^]S=0\:"W:X`.3+%KP#/*J#QA33PRBQ+"-EG72Q*HH,3XH`*_['C*H +M+PI8-:C;=>0U"!5-U=M6L02UPDO5@^#-:IT^BY(3,8?XW>J\P$C9UEU*J*`E +M6ZVZ:M?=_.2*-\PW_II%2,@K.#HI229/TM4BC5#JP61NR).F&VCUOZP*BM78W:6D(;IN6E13I.>>(S,@-DNOV +M-4J9JR3VNYO%0\"'KNW55RO=GA4:OWX?EWQ@$72C95=+NXBY6RE"$IR@H5@V)J;*3P7:Y+UTF.(CQ:S'C(W8U@SQCN/ +MCY2->S9(:N.;=_YYZ&/CG1(?R?92D%@_6M+U7'K8E>]%6GEK/5[MV?R<74\R^7J+/JP\KE87X/U!;WH!C!ZX/J>_@BCD?@X! +MV:QR= +M45B8N0^T16F->2$)24@V&W*."JI)H27N$3SU6$,B*+'52KQ'G%R-I&\?X=Z2 +MS!>LF:GO=CYA!0WJ1\#V!,UG8A$#*9)VQ-G* +M51ISE[^,YC%;.4QHXK*:U;3B*XGY2VH64YO$A&4WP87*:4;3EK#TY3AMZ( +M!&;D2*040Y@[H,`O<5^@@3=\4,D2DJ,;"_%&.$P:#DTX(Y28^(8G/8D`E[H4 +MIIY<12C74=.6>C*G+(WI2S%14Z#^5*A!14!-ATI3I&*"$$AU14[+D4RYD*(` +M-87I14(95*P>-:M&_C7J2H_:TJ!>5:PZU>I1A7I6F'+5IRW=J4O5&E:>%K6L +M,,VI6LNZ5:'*P:MXY2DF*.]IV:"$"FWC->][0K2.\"5P0?H0H*UXQ='P1;8YS +MFG@KF,EL=AXLUA0?B9[16#<<45`!$J"2A:=L,BO>]1ENT=LX?!&HO`^F_G"% +MTT(\A[@*P.^E;\F"Z[+[5M!(T#DD!#C(W/[*PR/G((2"I:6G*^8/7561G'HM +M'*UP4:`R-^9Q&)V7GSRL5\/-&H0>ZC&1#T\VD,0UF492)QWYNL$X3T1?E?CK +M7(NP.*-?"MUY4LA@->'6C>(5PPYFVV,TUW8>R>.RAANG!^$LD2/?:RR36SP0?!97#NCF+)&]&RN^4TH_;;2?3<-^,^ +M5DDK08#Y$!G%0C1W?8XL-+H:K;B"`.UMC8O]C,4O;T9#S0>`M; +M0?IY=O$0Z*71G#O@\6E;AF_]$,6B[,E*'B1".TU![@57([_BX,RN;"P$8'1G +M8;+WXER8Z%SSC&A>9F#TDBVYJ]30V)L[N;#)U+6CG!G`^B+'HXH_09VX](-+8X/1M;[2SFNB6U>F3N]O6H< +M:.*RWL:")T3>&E6L1Z)S]N&0;(D/E8YQ.B(R.5-$@[&K**K'G:R@O.7<_C8( +MR-&S`UF^_$>#9S74_EJNKV9-+UP^T_O,T>5XSBT0Y5M7G'EXU#^`61I=HMN& +MV=4>7Y/T\;AO=UE"DS1Z[<$,D:=N+M*W]-_)S;$N)OR-@N8QL?4^'M=5)SR^ +MFRZTPQN^>8LO^?[$^/OTD%Q-$BL8W'#^WB-I>^T3G&R2!8F10])]OW:_7<=[X&L=^0MBX=[;W_[5W-M@`08N`01I<0;Z!_L$5 +M9,$5M$$2!"@W^*07',(5[)4>Q`@=U,$?],$8;$*44$*`@L(6G$($V(0:W$$? +ME$$H=$(9]*LH+*1-&,(9;$(5U,%<\"LE5$$K_,$JO$+6:<-"XD&,H(^Y^(!0 +MNH0.?`/=&KQ!>"_3J9OI*Y('6K*@ZS-3LS+N2[H'+#[%`2T?\`8YN"Z&4(@A +MZSNH0Y=!,)4!6(?UPYQ.9+S'X2>5<[3S,YX3&KN9$X/86I8]+#QK$0,.(PZ? +M^T-MTYX0,QTJ4RZCTRSR@`K9RY.."H=->@?3DC=+4#HB2!;O$J"$%5)`?9KP_S>DU"G/&"K.$?#P(S4.7B.@\)=.;6F2. +MXQ+`\4$);SM$HW.]8T$`5O`Z'E%!2E`E2R"EJ)B]]Y"C`WHQKNO'>=M'FB/) +MD@PV+!*[78LV^$H9)VL.\ID@ABH2U@F]RBJZBQLTV+LZH,2T9O&[WN`AR>$W +M]DO*YZG&H#S*D_PU5`R^76.C0_-'CJ,>:>E#X2");[P([Q%$@QK`6YF^7,A% +M_6-)EUM*>`-(MV'+&^LXT!F@G-.> +M$9RSA=RV`TS(Z'N9_@TRM>TSQXLBC\Z*O[HL(2WR.,B0.I2$QLIL'J;D'&?D +MR\VQM/4@"JW4-.+X/.I;F<5L,IZSH)0I,2G919\L-W=['L?QG&I!1<]D-)1S +MHU\$S;QT'JO4O<91D.!42I<ABSN0+$F0\EW1IK:?L1*J,/08: +M`2!@SZ?LNMO\&,L+':9CN?,$H^`4(X#D#;\T2.=D#O[K$<>X8PTJDS"(!O?Z*%/;)P1>(`'B`8.G;^K8TOSQ#GZY,>F +M%#SC),X%TCR`R\^WH[-;:2*X:PZ%2DBY,]"S]`Z*9!_;U)P5Q8H(31L*;:-0 +MM)_8(XPYX@$@R%,@B(>-D]/?.-+?!##1%%$V92/-0\YQ.+)-8TB,<"BTHT6S +M,\"S4[V8>4P=5;7&V\N!\QFB/`CP"HO1`-1S,<\H;`G<.U6AK@B;RV(9>&D<,E7C.FG=.4EC-F6Q2O7 +M;C57?B)7;86*>Q5%<%78;'H84:0$?`NAO"!=P@'2C(&`BKJ0TE5_`J +MK/6JJ85:5XA:LK7:HTU;MG7:J"U;J8U;HG7;N.VIJH5;I47;JI7:LZ7:N24# +M2NK9<%BY@L#/%@V)_NJKR>""J&SL-L"A.]J,3&1-R<]2`7+P`5>A1!1:.NRR +MQX>8!]5P165+QU:5.2\9!Q;B@2(('7(57=']1-XSWT-H%9L+W#AL(CS,+Q95`F*T8H@.O0!M/5!ELFUNH_Q!@Y\#V>E!$UX"A5P +M'ZH`GLUPF.U53DK8@BTPB'B0N4'MWQNS5?Q(5$UK32;JN4U;3`DRF5&S46"1 +MR.X4WI\$MA^M4NS2WX.@@,HQ8/1058/@@7&X(>H]KQ36'%M=F,*%LXF`_N`( +M8MG(^JW).B*((R)AA:+(Q1FU_!@[W9RK&!.]"]U6W376==_)V8(5.`@2GM." +M50\X*MT"CN*KS$OBZ\24<^'B0^"/*:B1>4WJD\4FLV%.<[LGV2#9"5Z,\XGO +M(]TMBMY+M(2XC(]0+;ZK(-+.)#[7Q8_1&`%K6`@>"&19G;QO89;9TC6(`3BG +MXV,X'KOP=%#,'`TO%@M[LGPR#@>_64E+K\V8`CZ_DB0\_,Z8SQBO(1E1H08WLG> +M,"'<9[QF8>Y,6QM2/_:U5C9)@@PV_1`$&&:B071(!_[DA*+)3QZZQ_TS8@$A +MG%&Z=WN8#@V3,8FP'4'*<_9ERGQ%W3!G4(3*9O1?SB11E=RB2NXM`*P@\Q5+ +M)=LY3TLHU0/>"\8XC9-G,*&Q#]"1UDJ\9520&9@!Y=D"0C[)T-3+1UOA>583 +MF!0D;WQ-UA3JD^$;V3Q3#%[$!O5-]5`MQ"X7AYITI[&CRIVF[EDY]J3T-WJZ"#9 +M@R,CRT_#B"?[K4C]9X8D:02`'0M.Q.=:-5ZFWPQ8!4KR!H/8!"187H,(ASP\ +M`W*8CAQLPC#\0AOTJTTPKE#:!!@,PS*L0C*LPB!T@^T&I1DD;R:,04Q(;YC* +MA>\&J/4N3![@`9ET06YCPO(N;X`20E`JP_4F;RXDP?]FP?O^0O/6[ESX;_)> +M;R%T;R&,[_HNPQOT0CGL;OJ6PR%L`_J>00R_B.\6;_JVP3"TPE"J*CSL_L#N +M!5$N+2[8[-5%%5!(?3O'#1Q1UJP,]KUU#%HDB.YB3(]7B^,V+6W6+<7S#."Z +M*(*K!NN^?NCX_.IQ#J`Q\^+?N.?K9+)&/9V2MK.T/@DI0XF=I"A+%5[RF%(% +M\8%Z^`(?$*4AUX\B+\G8=E)K1H@^#(M!6(:"&(?`%FQFY,O7-LX7UY^/SK;N +M&6/7;)G[$L`QU0BS)-;N(&B*T(>?$&U=1H@VR((-$L;CO80V^`(5<.[N\EPT +M`\@5>&*#T`&,PP01R<(8H:`/IS@`K0@"0Q&4#)@HF_FZ(<]B%`S@`5U_LE>3-*QWT +MC3XO+`\B:1O+_URRB+(^,5=9\]WAV;0H!P27JAS5@9KSA%;AJ]P#UBX(-=CV +M;7<`5=@"F][@VBI.][MB:A]W-PO.CXZ^M2X],N5MD2Z)_,ILN&8?IN89=\:< +MJG#H81--F+OS8,/I!JDN=XB.YCV=YJ<*]++;5&/[0S4%/, +M)D$9U+,^837S'4_+[\MTOGYJ4S?)CG?0>G>(ZRT*=MCV.RCAA4]'\?1J.[=U +MF+^ZS\10-<&!Y7268V[WT..YW]YD,H8R"S*)W_VS8C\6=,RA-UWZE^_E\ZSY +MNN"!)W>(!D@!=4@Y_E4W;+QGU?/B2TSX@JQ(`@7@AY^&0+\6(KH18W]FN!&# +M#HE7J)4@NLQ&RT;J\8Q^"'PWY=H*_"]I`'=?_T(/& +M"C'`A$:P`,1_&\57@,7?#38RW,7B-%Z7Q9OL'LL6I-]V@V%_:QW-N`P>TA4F +M3^T]BF;9`]8_"`TX_=-O@$Z@!#\7H$RM>U+\.MOG?5FP`AQ(__3??=ZW@$5( +M(.53GFN,_"_'Y"]-ZT9_J`(=Q^5"T+2$5H`00VD@)8$$#PZTE!`APX-B5,QJ +MN%`BQ8H-Q2B4B!%A1HL.1XP;:/`@CQ'N3G:J-+"(QY8(Q8QT*7,FS8(=_FM: +MO#D0A8*>"BQH"1H4&[^>LG`0?#-3S!XW5]SDBBIU:BX$4:%&1>"F1U8$7G-A +ME6HU;%6Q6:,Z"Q7B!M^_AM3)VF/?CD7/#PZ,.B#F/B- +M%//%RJ\^%GI:8,*:GP6D20]V1.W0FIMM8:U2I8I5JQODR9]/)4L50[BVUM\6 +M^C;7FEVIYPCY8,UX5?@HJ94&+ +M/&B@G0CZU(@"*$#A$"88QE;1&S2`"B5%8@A"W#9E-1=5#ZDBP!54*TH55JI4 +M(;Y94Y:I&S%@38:4=7=U$-@@`K-(2&F#/&9(#`+#0@09`*Y$0K+1+7 +M(F$,.0A@PJVWW8+[_JVXX.82KKGBCILN)IB4VP:X[JJ;KE<(A,+#O/=ZA4D: +MXFBPBE>([!&*.`C,P>ZZ\9YK;KF8N,OPP0\CL(G"$B/,;<+>RGOQP^!BTLH7 +MWW+L;#]C)-R*3PK\@8+**M_FDP4?XXO`*O[&C&^WW%Z"[;4:#33(AU=$QYQ5 +M*Y+((G2H"CVB6;FX:%U;]<@HE[`VYF(-`O)HIA%K#\UBB1SAA$F)4AHV!%%Z +M')YMIY>+;2A>GQ?Q[&6'(WCUJVVHKI"4E +MB5-)N-IS^R<&)DI8L;9(7UC0CX]L"S1A3TP0Q`0VV)S<4QDJG[[(&#WU_K.) +M@"Z1+=KB!`U"'-"QFFB6OE'D24^9/!U +MF-XD.0L2B#U4V'^*;5]3\Y1X@(X1!YF`C@@1OA( +M?[=)@CYB!/_E+QA2_TCQ*34T(<&5+'FNA$ +M@HK10W&D4Y;=W>IH\])@!T>$E;189RW(FYI4K`$>)]Z$;=XC3.($8SC/H(T_ +MG3)-)@\R`Y:,"A8ST`!D.I$,)Z@B?8T[FR8EP@/TW`\%82,(#5#0B&[D;TMO +M_$*">M*(-RYBE]DXH\J$H@7;N"R-C<"&&,'0,BUD`PS9:!\F>/*R`\T20#1Y +MP^L*,@X/@""R[8#:GD!V:$F:*.Y[@=FD +M31R"-O&L`#X5J42;&F*">'A`#[-CS`H>$`_64$H!])/8+#"Q"13TPQ;N\$4I +M#*@$`IX1I")U&3\`_@A`..*O?0>9!5#N2)`IJM2'D-G11"1X&H((XF<;+!$A +M?L?!G_X.5[%RD?%@M,@:8:58\D`68TI#'H28QZD!PN-4\7;/42'F,V*X`2D; +M,I\P;*$S+V%"-@DR`B``P:&T9!`;%=`(62@`KK(`A$9/(H_1^882F/M)3`<" +M!E_>L7-:Z"M!GB73SHSFGQ:)'7HRPA00I2B0L1)>5<[9.T(BYYRYRHH?J0.! +M7CW-G<+RAG=R@36YT?0OYX&,V9X*&O%DY!P/9<]GNJE:AHS`&DTDB!-D8(+; +M'I0'+`$#19C@UCH*Q!K10"M:?<$/WI3N)]A`B`9.(D\JO*LQ@I^AC=[&K$M)?;P`"#$ +M0Z`^O$EH]A#$BCA``YTH"!-^P9!D\&`.95!00W!0J2]@@Q>CPT82EK!<(#!@ +M9;,0!(G_FLN#=,*ZV&T-1;;P`(86H +M)/R5"=_9R*ME3<;2XN$E"S*")!-D#Q\&L("KZCR:F*"K,Z@R):Q`OX/'&@ +M+]4<&9[;]D6\'3*/1P81#P`;9!!%B,<6E,M<.B5&JA4QP4DT8`W==H2E">R? +M$[),"1P0DPE,P$$_^K&$TC5"*$I`02I:AH(XZB$>G6B`==VQA0.[)QDFD/(# +M4E!$F;B8N2M0W)4';>6%/C44VCC`+O1AWFY:0BFZ'@Z(-&VT]A)RO?[N\51Z +M.A47@=:HHD5A5!R9(_?H:(*J)LQ(H"R25Z,U&O&@Q!9&<*9*."`20*C`+E3! +M0DHLD"+ZL#=%4LX07KN#VPM(M/]Z*=$R*$$;&/B%%MI:QGXH(1O90(`*?,(+ +MEUK!`B@8R3CBL0+!< +MC[.D(P+Y1D6^8?&#C%WEYX#W0)8Q[P/0&[R,I@B4;2K6Q.FTO99VSJ<%65GX +MJK=$U"DJD;.3B'`P/!?G4*&`^*N8UE*"!_'(FABL,0X]?%@&T0AK%"I1B7/< +MX0#:J(#JU2$&0HQD&0Z`A5@'809(-T05#O``:]#AC@J$P1W)2`\FQHR;(]3@ +M&,E8-B:,*]'`C,,$QSA`)AI"C#TXP`F"FP$EYFZ"9*S``?:@!#J2@0AKA+7[ +M9E"#07C]VQF@]=`-T(D0#B$.AZS@,>"K`#O&,0+]$\0='((0^(48Z,/Z_AW& +M053"(<"">-A>O1$$(52"/@@!WN&=`ZC$O2'$K,W=;\B$(."84'T:6:B(5G`% +M9?T8!S4-:(W:P@T+`IR#:;V=1X!*3)15V;0!8!0!6L7#"NQ'0ST`)=A#)#Q` +M)`S!+FS5O`G!(#C!!<*"/52"-NP"[44AWMU`8-@>WN'>032#`^`=[Q%$^?P> +MWH6!0-#`%V"4!9".`F@.3*Q`V`T$$R2!1`C!O&G#_2&$[N&=]O%`$'V?W>&= +M$%!"BJ&#TPV"%QX`^VE`9>S!#(B!!Z!5!ZN''2O#`.(P#+.#= +M(52"F9C)0+##W0DB0@@"(JJ!Q8$2^P"_M[=GB!Z82CH0Q,>@`,X@!DL +MPU^L$$.HPG]%@X#9F$:,0RX8!\'YV+^]RJSX5,#-B@:]BI`=#UP$2^0I%97P +M5S@@P0-12_^HG0I@RSV<`03D`@\P5UK-P;SD@CAH@S8PPR'DHJ<-S2JT0QBP +M@U7`025\0AK(FP4FXA,\@0>H@1"8P0$,P1`<@!D,C`=X@!,\@1T +MP0U4`#/T0"P.`>LYP!$\"`J``52T0C]\050(03+03,U\!294(#S60D4B@#BH +M`2Q$Y`$`WP&HPQQX`4'"@3#($:,$,\N",\RJ,:E$,H +MA*4X>&%.[H(X;`)!VJ0\,H,7I@$".(%#YL)!)J05;D+NP`(SY$(;[$LY6*17 +M;((3F$&W%";#($`E_%=:14.Y(``97,L;W$.UC(KMG(6E498)3A9ST$HNG&"L +M"-7A[0I;7$>1,5+#70U^A08W>L-!O($8E%>H(,L.=5[H.2(E&.0!J$(LRB*[ +M40+,N4/B;-Q`>(`%.H`:F)X:J($X"$$%1&)!BH%U.H$K0$,%/(`,F($=N,,G +MU$$=\`,N#($,C)PN2$+_%,I`-`.;^%.'",0NB%PD5(`:4`)<.H$8'.9X_@Z! +M&K##.:B#.EPAX(EK<&E@7X#(M*;$YR#=<*"-:@#,XSG+JA!%+"#==Y!=KY8?\J)=XJ!$\@H +M$$PA)3PH^]V!=HX<'A[$#@(89I!*5'[#(\KBX!0$Q@'!8\#$IP0)J%A$J3@% +M(&F:K#2C6!""!UU6XD%'3[D!(LV7-6Y'?>G%#:(:)83#%_@`.?Q&,8J$>=Q` +M+3`#$`R!-I@!D=Z`*FR;0@Y!`YC`HC(J<\;<@@G$.8C!($2E`[`P"OFC0:,@Y3%7S3L`97J +MH0?`!]M80SQ<)A`XHC4401%8PPB\V*;R`'R$ZQ[P*G.%U1:$*Q"E8Z>&ZS@4 +M6EJY:J*I@I1:X&6HP@W`PC+<`3P^P!!@X$#H:8=44(YMFFJ*Q=#`"JQHEE64 +MJ5:8J71@A0@-&=3,R&Q*GFG%&-]0@C?X0)TBP"50@@^HP!>H!D.8QQW4@C8H +M908NJG4Q`[]2"\OABU?E_/4L(@>$`7(<0XP!]F +MAI5.L(,3D`=];"MS(5KN@6':6FDT@,0>Q`.M\M.48\[$>F`D$T<%]) +MT,G:IM4(L,0(Q,,Y2.NA<5D=6J`9-,,=F$$%P($JR*-"FD$'3AKD\-%3P`I8 +MI(@XM==9H"[K+B.+(%(D[<`?5*!5?J(=+D$,]6$(4X"DE%`9[Z)=C +MS%L%&,'W)4/.+BJW!9I$G$0RE%\R+)C_M<*#*$`98$(P?<$6A$(_5(,,1$(U +M6``_,((;Z,V=K<#A5FO;%('7%0%:5N(&H@-_S6T\*)0IB5M^K*_85NUY_C04 +M$(!22Q@!=O$MK%$$V1X$KRHK0Z`C$*1?8)Q5-'3@VJPM]S&$M$*NQR'$#<'W59JJU +M!ZM1`K=%,R6`CIY%5Q+P`C\P@1&,)UJ)'CHL(D@S\RW/U$RP0QCX`T-L`08O +MVDSL[#E[\DSJN!?NH$K`&0V;5F,K1QZ. +MR*E#[ZY&0'1-,UI1H,!!X``O3-C)E($DP6M:Q8-1\W6W_3%./)H"SP$<9L0L +MDT^WO9N[M80VK_-R+N+.2F]12[9/1S9?-S5E2/9DJQA?AW2W639(>[91AS0B +MP$'\^<-1&_5(GQL_KXT_ORY\;;58=/5SK`C&QLA"WT5SY/`,;D:,B17+YJ!' +M%$5/H,`8/,@OJ,RZ6$H9L!S^49E!G<1$MUL&K]O5[D*DW18\+YCE&?9!7#8T +M8S9];%L72X3O?7-&P-Q?:_%)@'-T(T:O282TWC$[$[5NYD1ZG!>G\0YL_OL; +M-&I00$L%(?1.[,:F6MB3:XF$)>S/R?S"%\Q"3,@!/\0R0FRB +MJ@FQQ!$.17C`^`V$$-R`8M#6.R]X>SBJ\'6"5:.8!H2&@GV&":CW0,!T&)YQ +M1V1S1>P!*/G%CA_$/>A$Y+BV\#@C.@F<3WE%F7XU.BT'`C0-;+83;A^9#D/2 +M^@Q$@VM$*O#"&?&#DL5-X:C6WXR/8_0BF,]8@,3$]UB"3I/2OJF:>Z#Y]OA= +M:X#3-GR%6!M>DQMY!O6YB!""*J^%0E]C(7@#5J#U>L@81&-"I@R$('P!&:'` +M%QCWEZ/Y+",&.R1#)3A!8WDOW_JA[3V*#.G9GR$R`LL+2-@@I +M8^Z,",0NC1L@G--@AUR$0S,4PNT@@#5X;)H/6F,=!*M1"C8T"(2PS2+01.6E +M>FB(AP;@G>OEO.4>OV%$%'&/P9R;.O>8ES6HJ'\NQ:=K(+\W>U.-!W=O +M!FNGQQY8T*S$L-&PURA#1Z;Y&P+8MENX$^0Q]&E5.T+8:3@\4#>00R&@C0J\ +M0$U+1 +MJ,ASR-?LNGO#,8]B+TXX($`<9$-&C(VHDX<8N-E/W&SS>>*+JG?G>`WYX +M8?J`3;?5#GGI:I;%SG!S*/X_K^ZE7198>):O--X)*<_DZ?#>``,YJ(`A +MT$!N=F,X+`4OM,YA996I;CL![ZJTS[JTW+G?2E_#X^G +M>?4RGBX&S78NQ&Y9%SKN@D=:2Q)"=#XEK`(92(X*S-+KB$'>'SSN]WN_PX3) +MK;[>V_M]FWIML?Y3)4NU$WQJR31C1($16!"M;(59,#F?Z]A/65K3.(T7_KA@ +M;DO>VO_':@C[QP,$)4N4"!8T*/!@PH$)"RYD^!!B1(<-&2Z<&-'@18P(-VHD +MZ#$C1I`;.8I\>'$DR8Z4!NEQ?;TN3-7#YH\@DLLNLVBLK>011:2R4-G(& +MHC94\,$U%8L@&BR//'UU(DN0,#3&3R'R3)!QZH')/J*XI$\Q+N=3 +MK#?&9DJJJ@$"'*#CT08=[ZGD(B2D18.&&^U](Y%Z+!'X58@R/@B3+(1]R)LX,L+N'F669>@-)#8V +MB!L$FCJ+H'O?P40C;Z9Q\"$8R`GG(1J4.=16D#P-)]F2O+'PH7"4UE$@AT%S +MZ+8MZQMS..+$'$JX^<0,KJ@SU75J30'?G0>&NPVT@H,<"1X:D1PP+O?F7X:V\<894@TRQI@G2[)[%M/MA3EF9MTN*(-W?,T("95! +M-'ONZ[3\LC#@OI4)ON.ZS6^PXY2#3#+*+'-WKW/B%(GWKC#!A(;K5Q%6!02N +M_WZ55;SQV,KOP7?F'B1F!!\3.9S1Y)X,S/^>!F/>4&9^3%:9406[\L?>52J( +MPOSVAP1+^$!^!)0#)A)!C@$2L`U(\(8@"+@*G*GO>M[[7APT@;G_T>`=ENA& +M_O;W#AIH(GOYJT?*VK`_`GXLA>Q#P!N,\047_H(/A)+ZG_Y4EL#YZ4M8,5R@ +M_LCQAIG=4'_8$T,0S;<_.=0#"9NZ7@II4+V"X$4OA0D>\;9FGZ,8!FM4^XE, +MO+:4YH3M'=9P4RZRLA78R>:-#:&!TN*@@G`@20P94-H>E18%N\R1CWLL"*X" +M&8Y5",02A4331_!4R-!1PHZ![)$EXJ#(02K25SLKI'7DH$@2"222@3SD=10) +MH@,6,I.*1-LJ%'FH>BCRD'+09"#)X1D?>/(CBA0901K)1R19@I"2+,@L^7@= +M2X@J'&<*QX;DTA[[F9GP+U +MINHIB-/2X\PMS4ED[R?.V-YVM27@*GJ5>:RVSYY>E>\DIT7 +M9BN[FGJQE3V4]:U7LO426X7,R)[HBJVM@S%T3@QKECP9A8N'TS:W^EZA-[E0Z7/+ +MI!O_`D:,QA-.&?OC'-5JYKH8/JIZ:BK?Q7)XO!(I:E(M\IK?1KC!$188>-O2 +MWA\[&+WM=`^WJ-J7GPPEQ3/1K_&FZ=F<[(9>L +M'=@$V;VN`7*3G;SFU7!4P]RUQC.O:K48=ZNJ5RV.UN*#@#(NA;!L0G".&]L[ +M'PMU/8_V*(DQ$F6SJIDM_;2L1^LL9[=&%HM4]JP8^R+-XF0Y-S#VJF2F>V`W +M(4"<;7WMAH]L9_9*>BY3VJV<&CTW7(?GUV7A3IT\79'=,D00+I':;U#-5YW@ +MA"\P#O#4:38?%L1MM6E.B>@>BEPYV>2&<5$N'AM*81LVO;9IG+.T9 +MQK^\L0QS!.SJV,Z/22?)-+'GC66R`M7V$3ZPPNV=7K&$Y=R`[S@ +M;/DI9<4`;QD?![!C_OKB2)G;9W1]U<9I7.-TJE/L=2??M\KB= +M+3]W'-$[D1WC]-,4YO3,T\MIW%(BV2_QC7&'1[5I`_HF^`6.8O*=IM1"[R8D +M/[;+Z15PAD_]NU1_,*U?OG`T;W;<[T7-DBW^;$)0&TQ^<;9QJNFEXO'EXX@. +M>77-K#HX@X>R(\$ZS/F.(!!?EN?AC;C*U1H;K,_<(Z&^^-9PPIO0"KK*]>&X +M&U9M1B^,&>KPXLP@X'M68W,X[X?O.9T[G^1+OW4LPD4Y]=#\W +M_#R?0%/[SS$!K,./^$:.?>W'RSN=XE3A+%DZFT',<]:HWT@3KL;M/BZ]N(KZ*FC<5$*KFHIO$$X[@"PPWPJW3@`0@[`0$,`?/`J?URH3-*CV_:[#SDSP5- +MSZ#^C_[P+\[,S<(XQ`D=Q@G[B0#;(@"[CO_D[/N*)P%3+2:T"O=0+>F^Z$P$ +M81!J(AS,@;K6J$"PIWVR)X6B0`[PT`X'2`[^_I`/LT;ZBWWBB(IS`$>JWC,S\O(!/+\3#_0Q!E*I]76SS`FT!`R(#W5$SW94P(-(3WA +M\STG4`*?@#[94S[?$S[7TSWU,S_C4S[7,T#W\S[GTT#Y4T`!-#X+]$#O\S_U +MTT#]DS\;U#T7E$$M=$+[LT(G=$$%=#XY]$/5,T$/-#\AM$0E]$+;$T+I$T`; +M=$`]M#TMM$)G]$1AU!#JX>R,0OR.8NV&XZI8##PACR:4HQ[J`0+4DQ#F\`J^ +M@4F;U$F?%$JC5$JGE$JKU$JO%$NS5$NWE$N[U$N_%$S#5$S'M$F;@1`(P4S1 +MM!F:X1L(@4G=]!M680O8U$WE%$VA]$[-E$W7_M1-^S1-OX%-F91-#0$!@-!0 +MX:$("\$S44S564S4*I'4/ +MY&`/.G4/UG1"M9@#=8<8F(;#K9@?4`>'-9A&Y9A(=9@(_9@(=9B*;9A?2!B +M?8!;KH!A0U9D1Y9D_DO69$\695-695>695O695\69D76"WY/(ZF2(!\2)3L2 +M*F_V(+5R'/;`+EU2(W^VX@1R#PP2+X9V'(HV)`VRXNSR9RVR+[VR(!$`"5S- +M'#(@#NC#&F)B#1X!;,-6;,>6;,-6'LH6;=,V;&7B77+/;=\6;N-6;N>6;NO6 +M;N_6;:/@[/2@)]IV'@-#1S&.-["&-\)E*'20!Y]+[71PN=JN..(@`ZXVVQ35 +M$""`)Z:!%;@!`KHV%[[V;,_V$3XW=,<6=$%7;$47;4O7;,DV1_T6;U\7=F-7 +M=F>7=E_W'+XA%\8A"F*B3=NV&2RW![9A)BBPRFH"`[;!&1J/JH;"7*)I_@A; +MX0J@=UQ.+6M!81A@01V\`-IZ4)J^*`[,P1R``@(,X1ZP-@,L-R:FP0T@@!M& +MH6L1X&O5%G7!-@:,X1$*`0:,01FXP1A@H!`X07_]-VU-%W5;]TO03OPZ[L5J +MEX$;V##QMD +MP102(7C&MWPG5P[CP!"F81JXH16XH1N6@'/C=W3!UG2W>'3Y]Q'>H7QA(`L* +MX1[>(0ON`09B@(M'MXN[.&QSU`?R2HMVPL_"_F4OE->.YRTW>%2"*7CQ?E2! +M[TV,(E@^\NJ`">V/)6_0F"N!M>:1V4J`'P($""T$50"$"Q"&Y,L`9IB$8NL$-?*`-R.$+],$/$I8G +M"D$?]*$+NJ`;7"$"8H!XX\,>C<`(]*`'PD$"PD'M<@%RKU:LY/`*I@$)KF`- +M)L$8GD`>LIAT5Y>,.>$="N$=8&`-M+B4DT- +MM>AJ_.LO`JVTNLPPL@R2QT^JZNVO_&M'Z;B?4\SV9D\>%WBA3>KQ^%F"I:A'."!&+C!"B(@?GQ"&XW?^%Y?LG: +M=`W8.P49\MQV.^ECCZULCRD:C.P-P/KXO^XY@@.;H3_+>:,MK_6:CJ<)DJU* +MDV.+S`!_:@&^3A&B8`GEL!#$XZ.<`A#F#`#R:!&%0A +M%R9!`MYA+\`7%%JH!GR!'+C!%WQA%+:V*`J!J'G9''HY!H2:*,(!`]S`_A0D +M0!1L`1%$@5N@V)JS.@.B-PV@X1_^(0?.3IS;>'555VSM%W^-@1NX0:T+X1$X +MP;QAH*R]>W7E^,5N[P`I>9!E;)HX+J)]M*[;CDNL!LNN)N-&+;+[F9#QVI_] +MFJ+[>M2Z"`&]"*%EPI*MX1S.8!1&(0=R0!YVPJ:/!A[&P!?J*$AE(AA481-4X0QV/!B0>:IBP@N480(` +MH+E%X1Y4`'=SX:H+"SHHUQNZ@1/4.A'\(*P[EZS+%H[55LOAN(OI^C[$98SX +MZJ'INPP%+7CZNNT`J[])BK06SZ(1'*`#>1[K_IJQ%^^?WFZ>,)@F$-QF#1UX`;VK8-6L$/-,$/_$`%ZMP-8H`5Y($5 +M6`&]62$&%#P7O``<,D%IWF`-DCPFI!MK*][,F;W`A6>^H?VDF.OV$AS0@L>_ +M)]FA4RR!>X)-V:@G+ERA%[LGT,@"KFUP.G6$/ +MSF$+[GU?SX%SY>$)_AW@`U[@!3X4!A[@"][@$U[@.7<;J#44'][A=Q7B)_[A +M(757:Y7B*WY7A]56_J&54R'55J>UXS_>XH\U6"%>XCD55$/^6RL>Y5U^XUFU +MY3/^Y5,^6"UUY3%^4Y=UY#G^XR%^',[N'$ZS*=:`-&N3Z*_MZ.-@&Y`>.:V3 +MZ),>T9"SZ9G^Z*%>Z;$^#@K!$*:[31*V!U=!-^#T3(&<$%3A3-'^3,]^[=E^ +M[=LT[=N^3[]![=5>[M_^3-\4W=V@2?/^2LF^3>&^[P.?[/T>3I_T\`D?\=]T +M\`D_\1N?2A,?\`._\>?>22V?\BWSWXD0/I\@065?]O%3/G6_/NO30PF4]U\__O;= +M8-ZK(ASN(7V8W_F;G_F1X/FGG_JKW_JEW_JOW_FE'_NW/_NGO_N?O_NY'_K# +M__O/__NQW_RC'_W!W_V]/_O-?_W9O_V;/_S)G_[9?_[%/__[7_[;'R"0W!-X +MKZ#!@P0''D1H,"'!A`L51EPHT&%!BQG?-2J&0A'R=-JC2) +MLJ2\E3!CQFRI\N5+DS=EZMS)LZ?/GT"#"AU*M*C1HSQ1TD0ZLR1-I2E_HLRI +ML^6:I3&]?`MYCM"W;U[#?O4*EBPA56;)?EVK:NU8MVO-PB5TEF[;LG+5OH7+ +MMVQ?M6+E]AU,N+#@N87_NJ4;5^]R[DS8;IZ[5:^ +MK)CS9L9HPP8&+/:M:-!C*^--*YEOKD0Y$NG>S;NW[]_`@PL?3KRX\>/(DRM? +/SKRY\^?0HTN?SOQ'0``[ +` +end --- acidlab-0.9.6b20.orig/html-doc/acid_config.html +++ acidlab-0.9.6b20/html-doc/acid_config.html @@ -0,0 +1,649 @@ + + +ACID: Installation and Configuration + + + + + + + + +

+ACID: Installation and Configuration + +


+Last Updated: October 9. 2002 + +

I. PREREQUISITES

+
+ +

+

  • PHP 4.0.4+ enabled web server +
      +
    • PHP must be compiled with MySQL or PostgreSQL support + (--with-mysql or --with-postgresql) +
    • (for ACID v0.9.6b10-b11) + PHP must also be compiled with the BCMath library enabled + (--enable-bcmath) +
    • If graphing functionality is desired, GD support must + also be compiled (--with-gd) and for native whois query + support socket functionality must be enabled (--enable-sockets) +
    + +

    +

    II. INSTALLATION

    + +The following is a step-by-step list of installing ACID. + +

    +

      + +

    1. [OPTIONAL] Confirm Database Logging
    2. + Prior to deploying ACID, successful logging of alerts from + the sensor (be it Snort, logsnorter, etc.) to the database should be confirmed. + ACID can only manage alerts stored in the database. Consult the + appropriate documentation for database logging configuration specifics. +

      +

      +
      + In order to confirm successful logging, use the command-line database + clients (or a graphical front-end tool) to execute the following + SQL queries: +

      +

      +     [for MySQL]
      +
      +       $ echo "SELECT count(*) FROM event" | mysql snort_db -u root -p
      +
      +       (Note: the connection parameters used with mysql may vary with your
      +              configuration. In this case, the mysql client will connect to
      +              the 'snort_db' database as the 'root' user prompting for a
      +              password)
      +
      +       This command should return output similar to the following.
      +
      +        count(*)
      +        1
      +
      +     [for PostgreSQL]
      +
      +       $ echo "SELECT count(*) FROM event" | psql -d snort_db -U root -W
      +
      +       (Note: the connection parameters used with psql may vary with your
      +              configuration. In this case, the PostgreSQL client will connect to
      +              the 'snort_db' database as the 'root' user prompting for a
      +              password)
      +
      +       This command should return output similar to the following.
      +
      +        count
      +       -------
      +       (1 rows) 
      + + In this example, both the MySQL and PostgreSQL database contained 1 alert. + If no alerts are found in the database (i.e. a 0 is returned), then (obviously) + nothing has been successfully logged. + +

      +

    3. Confirm Database Permissions
    4. + Confirm that the proper database permissions have been set for the database + and tables used by ACID. The minimum permissions for each relation (table) + are listed in Table 1. + +

      +

      + Table 1: Required database permissions on tables used by ACID +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + +
      Database Permission
        T  
      A
      B
      L
      E
      SELECTINSERTUPDATEDELETE
      acid_ag X X X
      acid_ag_alert X X X
      acid_event X X X X
      acid_ip_cache X X X X
      data X X X
      detail X
      encoding X
      event X X X
      icmphdr X X X
      iphdr X X X
      opt X X X
      reference X X X X
      reference_system X X X X
      schema X
      sensor X X
      sig_class X X X X
      sig_reference X X X X
      signature X X X X
      tcphdr X X X
      udphdr X X X
      + +

      +

      + Table 2: Required database permissions on sequences used by ACID (PostgreSQL and MS-SQL) +
      + + + + + + + + + + +
      Database (sequence) Permission
        T  
      A
      B
      L
      E
      SELECTINSERTUPDATEDELETE
      acid_ag_ag_id_seq X X
      reference_ref_id_seq X X
      reference_sys_ref_system_id_seq X X
      sensor_sid_seq X X
      sig_class_sig_class_id_seq X X
      signature_sig_id_seq X X
      + +
      +

      + + The following SQL statement is an example of assigning permissions to + database entities (tables). + +

      +    [MySQL and PostgreSQL] : GRANT select ON schema TO acid_user
      +
      +    (Gives the SELECT privilege to the 'schema' table to user 'acid_user')
      +    
      + +

      +

    5. Install Apache and PHP
    6. + Install Apache, PHP (and GD). There are many configuration options whose + specifics are best addressed by the appropriate package's documentation. + Here are several suggestion. + +

      +

        +
      • The PHP build that is used must have support for +
          +
        • either MySQL or PostgreSQL +
        • GD +
        • socket functionality. +
        + +

        + The following is an example of the necessary options to the ./configure + script when building from source. + +

        +       ./configure [your config options] --with-mysql --with-gd --enable-sockets
        +
        +       (MySQL support)
        +
        +       ./configure [your config options] --with-pgsql --with-gd --enable-sockets
        +
        +       (PostgreSQL support)
        + +

        + In the case where building PHP from source is undesirable or inconvenient + (e.g. Windows) binary distributions can be used. However, most do not + provide some of the required functionality (e.g. GD or PostgreSQL support). + To add this functionality, PHP dynamic module loading (extensions) can be used. + Examine the following PHP document for the installation of extensions + under Windows, http://www.php.net/manual/en/install-windows.php. + +

        +

      • PHP will execute more efficiently if run as an Apache module + (--with-apache in the ./configure script). However, it is possible to + run PHP as a CGI application and under different web servers. It should + be noted that these configurations are untested. +
      + +

      +

    7. Modify the PHP Configuration
    8. + Edit the PHP configuration file, php.ini, and make the following changes: + +
      + [All OSes] +
        +
      • Set the 'display_errors' variable to 'off' (display_errors = off) for + production deployments of ACID. This setting will prevent debugging + messages from being included inline to the HTML. If it is desired to + to have some debugging messages sent inline, then it is recommended + to at least set the 'error_reporting' variable to 'E_ALL & ~E_NOTICE' + (error_reporting = E_ALL & ~E_NOTICE). +
      • +

        +

      • (for ACID <= v0.9.6b21) + Set the 'register_globals' variable to 'on' + (register_globals=On) +
      • +
      + +

      + [Windows] +

        +
      • Set the 'SMTP' variable to refer to your SMTP server. + +
      • Set the 'session.save_path' variable to a temporary directory writable + by the web server (e.g. c:\temp). +
      + +

      + [UNIX] +

        +
      • Set the 'sendmail_path' variable to the full path to your mail transfer + agent (MTA) such as sendmail. +
      +
      + +

      +

    9. Start the Web Server
    10. + Start the web server. + +

      +

    11. Install ADODB 1.2+
    12. + (for ACID v.0.9.6b2+) + Uncompress and install ADODB 1.2+. This process should be as simple as + copying the files into a directory viewable by the web server and + PHP. In the case of Apache, any child directory of 'DocumentRoot' + set in httpd.conf. + +
      +    [UNIX]
      +      $ cp adodb112.tgz /home/httpd/html
      +      $ cd /home/httpd/html
      +      $ tar xvfz adodb112.tgz
      +      $ cd ..
      +    
      + +

      +

    13. Install the Graphing Library
    14. + PHPlot 4.4.6+ + (for ACID v. [0.9.6b9 - 0.9.6b21]) + Uncompress and install PHPlot 4.4.6+. Again, this installation should + involve only copying the files into a directory viewable by the web + server and PHP. + +
      +    [UNIX]
      +      $ cp phplot-4.4.6.tar.gz /home/httpd/html
      +      $ cd /home/httpd/html
      +      $ tar xvfz phplot-4.4.6.tar.gz
      +      $ cd ..
      +    
      + + JPGraph 1.8+ + (for ACID v.0.9.6b22+) + Uncompress and install JPGraph 1.8+. This installation should + involve copying the files into a directory viewable by the web + server and PHP. + +
      +    [UNIX]
      +      $ cp jpgraph1.8.tar.gz /home/httpd/html
      +      $ cd /home/httpd/html
      +      $ tar xvfz jpgraph.1.8.tar.gz
      +      $ cd ..
      +    
      + + See the JPGraph README file for additional documentation. + +

      +

    15. [OPTIONAL] Confirm GD Support
    16. + + (for ACID v. [0.9.6b9 - 0.9.6b21])
      + + Confirm that GD support has been properly configured in + PHP by opening a browser and attempting to view the PHPlot diagnostics page + examples/test_setup.php (the full URL will depend on where PHPlot was + installed; e.g. http://mywebserver/phplot/examples/test_setup.php). If + PHP has been configured correctly, at least one chart graphic should be + seen on this page. Otherwise, PHP has not been configured correctly with + GD support. + +

      + The figure below (Figure 1), shows PHP with GD configured for PNG support + (but not GIF). + +

      + + Figure 1: PHPlot Diagnostic Page
      + + +

      +

    17. Install ACID
    18. + Uncompress and install ACID by copying and expanding it to a directory + viewable by the web server and PHP. + +
      +    [UNIX]
      +      $ cp acid-0.9.6.tar.gz /home/httpd/html
      +      $ cd /home/httpd/html
      +      $ tar xvfz acid-0.9.6.tar.gz
      +      $ cd acid
      +    
      + +

      +

    19. Verify Cookie Support
    20. + Verify that cookie support in the browser is enabled. + +

      + [Netscape 4.*] +

        +
      • Choose 'Edit->Preferences' from the menu bar +
      • Click on the 'Advanced' tree item and select either "Accept all cookies" or + "Only accept cookies from the same server as the page being viewed" from the cookie options. +
      + +

      + [Mozilla 0.9.3] +

        +
      • Choose 'Edit->Preferences' from the menu bar +
      • Click on the "Privacy and Security->Security" tree item and select either "Enable all cookies" or + "Enable cookies for originating web site only" from the cookie options. +
      + +

      + [IE 5.*] +

        +
      • Choose 'Tools->Internet Options' from the menu bar +
      • Click on the 'Security' tab +
      • Choose the appropriate web content zone +
      • In the 'Security Settings' window, find and choose 'enable' (or 'prompt') for the + options 'Allow cookies that are stored on your computer' and 'Allow per-session cookies (not stored))' +
      + + +
    + +

    +

    +
    +

    III. CONFIGURATION

    + +
      +

    1. Configure ACID
    2. + The file 'acid_conf.php' controls the configuration of ACID. + +
      + Note: 'acid_conf.php' is PHP code which will be included in each + ACID page request. As such, it is imperative that the opening + '<?php' and closing '?>' tags not be removed from the file. Likewise, + no extra lines can be found before or after these '<?php' '?>' + delimiters. + +

      + All conventions of the PHP language (e.g. comments) apply to the + 'acid_conf.php' file. For example, the comment characters are + either a '//' or '/* ... */'. + +

      +             // comment #1
      +
      +             /* multi-line comment #1
      +                multi-line comment #2
      +              */ 
      + +
      + + The general format of each configuration entry is: + +
      +       $<variable name> = <value>;
      +    
      + + Variable names are case sensitive. + +

      + The following options will need to be set with site specific information in + order for ACID to function properly. Aside from this minimal + configuration, there are a number of other settings which can be tweaked. + Please see http://acidlab.sourceforge.net/acid_params.html + for an exhaustive list. + +

      +       o $DBlib_path     : full path to the ADODB installation
      +                           (Note: do not include a trailing '\' character)
      +
      +       o $DBtype         : type of the database used ("mysql", "postgres")
      +
      +       o $alert_dbname   : alert database name
      +       o $alert_host     : alert database server
      +       o $alert_port     : port where the database is stored
      +       o $alert_user     : username for the alert database
      +       o $alert_password : password for the username
      +
      +       [OPTIONAL for alert archiving support]
      +
      +       o $archive_dbname   : archive/backup database name
      +       o $archive_host     : archive database server
      +       o $archive_port     :
      +       o $archive_user     : "root";
      +       o $archive_password : "mypassword";
      +
      +       [OPTIONAL for chart support]
      +
      +       o $ChartLib_path     : full path to the PHPlot install
      +                              (Note: do not include a trailing '\' character)
      +
      +       o $chart_file_format : graphic format to use for generated charts
      +                              ("png", "jpeg", "gif").  The selected format should
      +                              have displayed correctly with the PHPlot diagnostic
      +                              page (see Step 8)
      +
      +       [OPTIONAL for Snort portscan pre-processor support]
      +
      +       o $portscan_file  : full path to a Snort portscan log file
      +    
      + +

      +

    3. Run ACID for the first time
    4. + Open the acid_main.php page in a browser. If the any database changes + are required, ACID will prompt for action. + + For new databases, several ACID specific tables will need to be created. + When running ACID for the first time, an error message will appear: + +

      + + +

      + Click on the "Setup page" link to be brought to the DB configuration page + (acid_db_setup.php). This next page will facilitate the creation of + the necessary tables. Click on the "Create ACID AG" buttons as seen + below. + +

      + + +

      + After the tables are created, ACID will return status indicating success. + +

      + + + +

      +

    5. Read Security Information
    6. +Read the security notes about deploying ACID. + +
    + +

    +

    IV. SECURITY

    + +As with any software, an appropriate deployment strategy must be employed. +The following are some recommendations and notes about the security of ACID. + +
      + +
    • Run ACID only on encrypted connections for many of the queries could return + potentially sensitive information. The use of HTTPS (SSL/TLS) is highly + recommended (mod_ssl -- http://www.modssl.org + provides this functionality for Apache). + +

      +

    • There is currently no authentication or access control mechanisms in ACID. + However, both can be provided by tweaking the underlying components. Use + native web server authenticate techniques to identify users connecting + to the ACID pages (e.g. basic or digest HTTP authentication or X.509 certificates + with mod_ssl). + +

      + Authorization can also be provided through per-file or per-directory access + control methods specific to the web server (e.g. through .htaccess files in + Apache). Furthermore, the specific actions which can be performed on + the individuals alerts in the database can be controlled to a certain degree + through the privileges assigned to the underlying database user configured + in ACID. For example, the ability to delete alerts can be easily controlled + by granting or revoking the DELETE SQL privilege from the ACID database + user. Thus, by create two separate users each set in two different instances + of ACID, a read-only and a full-access configuration can be established. + +

      +

    • While the primary interface of ACID is through a web browser, proper file + permissions still need to be set on the local file system. These permissions + will protect against potential unauthorized viewing or modification of + ACID files by users who have local accounts to the web server. + +

      +

    • ACID is currently _beta_! No real work has been done in validating any input. + This means that the code may allow arbitrary access to the underlying database. + Exercise extreme caution in deploying this application in a public area. + +

      +

    • The alert (and archive) database passwords configured in ACID are stored in + clear-text in the file system. Their security is contingent on the settings + of the local file system permissions. Furthermore, these passwords are + hard-coded in the application and are only as secure as any other PHP "code" from + being exposed in unparsed form. Improper configurations of the web server can + result in the exposure of these passwords if unparsed PHP files are returned. + + +
    + + +