[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

SF.net SVN: ledger-smb:[4013] trunk



Revision: 4013
          http://ledger-smb.svn.sourceforge.net/ledger-smb/?rev=4013&view=rev
Author:   einhverfr
Date:     2011-11-17 13:32:31 +0000 (Thu, 17 Nov 2011)
Log Message:
-----------
Merging from branches/1.3

Modified Paths:
--------------
    trunk/Changelog
    trunk/LedgerSMB/BP.pm
    trunk/LedgerSMB/Form.pm
    trunk/LedgerSMB/OE.pm
    trunk/LedgerSMB/Scripts/payment.pm
    trunk/LedgerSMB/Template/CSV.pm
    trunk/LedgerSMB/Template/HTML.pm
    trunk/LedgerSMB/Template/LaTeX.pm
    trunk/LedgerSMB/Template/ODS.pm
    trunk/LedgerSMB/Template/TXT.pm
    trunk/LedgerSMB/Template/XLS.pm
    trunk/LedgerSMB/Template.pm
    trunk/LedgerSMB.pm
    trunk/UI/payments/payment1.html
    trunk/UI/payments/payment2.html
    trunk/UPGRADE
    trunk/bin/aa.pl
    trunk/doc/LedgerSMB-manual.pdf
    trunk/doc/manual/LedgerSMB-manual.tex
    trunk/lsmb-request.pl
    trunk/old-handler.pl
    trunk/sql/modules/Roles.sql
    trunk/sql/upgrade/1.2-1.3-manual.sql
    trunk/sql/upgrade/1.2-pre-upgrade-checks.sql
    trunk/t/04-template-handling.t
    trunk/templates/demo/invoice.html
    trunk/templates/demo/pos_invoice.txt

Added Paths:
-----------
    trunk/css/scripts/create_batch.css
    trunk/templates/xedemo/
    trunk/templates/xedemo/ap_transaction.html
    trunk/templates/xedemo/ap_transaction.tex
    trunk/templates/xedemo/ar_EG/
    trunk/templates/xedemo/ar_transaction.html
    trunk/templates/xedemo/ar_transaction.tex
    trunk/templates/xedemo/balance_sheet.html
    trunk/templates/xedemo/bg/
    trunk/templates/xedemo/bin_list.html
    trunk/templates/xedemo/bin_list.tex
    trunk/templates/xedemo/ca/
    trunk/templates/xedemo/check.tex
    trunk/templates/xedemo/check_base.tex
    trunk/templates/xedemo/check_multiple.tex
    trunk/templates/xedemo/cs/
    trunk/templates/xedemo/da/
    trunk/templates/xedemo/de/
    trunk/templates/xedemo/de_CH/
    trunk/templates/xedemo/el/
    trunk/templates/xedemo/en/
    trunk/templates/xedemo/en_CA/
    trunk/templates/xedemo/en_GB/
    trunk/templates/xedemo/es/
    trunk/templates/xedemo/es_CO/
    trunk/templates/xedemo/es_EC/
    trunk/templates/xedemo/es_MX/
    trunk/templates/xedemo/es_PA/
    trunk/templates/xedemo/es_PY/
    trunk/templates/xedemo/es_SV/
    trunk/templates/xedemo/es_VE/
    trunk/templates/xedemo/et/
    trunk/templates/xedemo/fi/
    trunk/templates/xedemo/fr/
    trunk/templates/xedemo/fr_BE/
    trunk/templates/xedemo/fr_CA/
    trunk/templates/xedemo/hu/
    trunk/templates/xedemo/id/
    trunk/templates/xedemo/income_statement.html
    trunk/templates/xedemo/invoice.html
    trunk/templates/xedemo/invoice.tex
    trunk/templates/xedemo/is/
    trunk/templates/xedemo/it/
    trunk/templates/xedemo/letterhead.html
    trunk/templates/xedemo/letterhead.tex
    trunk/templates/xedemo/lt/
    trunk/templates/xedemo/lv/
    trunk/templates/xedemo/nb/
    trunk/templates/xedemo/nl/
    trunk/templates/xedemo/nl_BE/
    trunk/templates/xedemo/packing_list.html
    trunk/templates/xedemo/packing_list.tex
    trunk/templates/xedemo/pick_list.html
    trunk/templates/xedemo/pick_list.tex
    trunk/templates/xedemo/pl/
    trunk/templates/xedemo/pos_invoice.txt
    trunk/templates/xedemo/printPayment.html
    trunk/templates/xedemo/pt/
    trunk/templates/xedemo/pt_BR/
    trunk/templates/xedemo/purchase_order.html
    trunk/templates/xedemo/purchase_order.tex
    trunk/templates/xedemo/receipt.tex
    trunk/templates/xedemo/request_quotation.html
    trunk/templates/xedemo/request_quotation.tex
    trunk/templates/xedemo/ru/
    trunk/templates/xedemo/sales_order.html
    trunk/templates/xedemo/sales_order.tex
    trunk/templates/xedemo/sales_quotation.html
    trunk/templates/xedemo/sales_quotation.tex
    trunk/templates/xedemo/statement.html
    trunk/templates/xedemo/statement.tex
    trunk/templates/xedemo/sv/
    trunk/templates/xedemo/timecard.html
    trunk/templates/xedemo/timecard.tex
    trunk/templates/xedemo/tr/
    trunk/templates/xedemo/uk/
    trunk/templates/xedemo/work_order.html
    trunk/templates/xedemo/work_order.tex
    trunk/templates/xedemo/zh_CN/
    trunk/templates/xedemo/zh_TW/

Removed Paths:
-------------
    trunk/doc/manual/LedgerSMB-manual.aux
    trunk/doc/manual/LedgerSMB-manual.lof
    trunk/doc/manual/LedgerSMB-manual.toc
    trunk/templates/xedemo/ap_transaction.html
    trunk/templates/xedemo/ap_transaction.tex
    trunk/templates/xedemo/ar_EG/
    trunk/templates/xedemo/ar_transaction.html
    trunk/templates/xedemo/ar_transaction.tex
    trunk/templates/xedemo/balance_sheet.html
    trunk/templates/xedemo/bg/
    trunk/templates/xedemo/bin_list.html
    trunk/templates/xedemo/bin_list.tex
    trunk/templates/xedemo/ca/
    trunk/templates/xedemo/check.tex
    trunk/templates/xedemo/check_base.tex
    trunk/templates/xedemo/check_multiple.tex
    trunk/templates/xedemo/cs/
    trunk/templates/xedemo/da/
    trunk/templates/xedemo/de/
    trunk/templates/xedemo/de_CH/
    trunk/templates/xedemo/el/
    trunk/templates/xedemo/en/
    trunk/templates/xedemo/en_CA/
    trunk/templates/xedemo/en_GB/
    trunk/templates/xedemo/es/
    trunk/templates/xedemo/es_CO/
    trunk/templates/xedemo/es_EC/
    trunk/templates/xedemo/es_MX/
    trunk/templates/xedemo/es_PA/
    trunk/templates/xedemo/es_PY/
    trunk/templates/xedemo/es_SV/
    trunk/templates/xedemo/es_VE/
    trunk/templates/xedemo/et/
    trunk/templates/xedemo/fi/
    trunk/templates/xedemo/fr/
    trunk/templates/xedemo/fr_BE/
    trunk/templates/xedemo/fr_CA/
    trunk/templates/xedemo/hu/
    trunk/templates/xedemo/id/
    trunk/templates/xedemo/income_statement.html
    trunk/templates/xedemo/invoice.html
    trunk/templates/xedemo/invoice.tex
    trunk/templates/xedemo/is/
    trunk/templates/xedemo/it/
    trunk/templates/xedemo/letterhead.html
    trunk/templates/xedemo/letterhead.tex
    trunk/templates/xedemo/lt/
    trunk/templates/xedemo/lv/
    trunk/templates/xedemo/nb/
    trunk/templates/xedemo/nl/
    trunk/templates/xedemo/nl_BE/
    trunk/templates/xedemo/packing_list.html
    trunk/templates/xedemo/packing_list.tex
    trunk/templates/xedemo/pick_list.html
    trunk/templates/xedemo/pick_list.tex
    trunk/templates/xedemo/pl/
    trunk/templates/xedemo/pos_invoice.txt
    trunk/templates/xedemo/printPayment.html
    trunk/templates/xedemo/pt/
    trunk/templates/xedemo/pt_BR/
    trunk/templates/xedemo/purchase_order.html
    trunk/templates/xedemo/purchase_order.tex
    trunk/templates/xedemo/receipt.tex
    trunk/templates/xedemo/request_quotation.html
    trunk/templates/xedemo/request_quotation.tex
    trunk/templates/xedemo/ru/
    trunk/templates/xedemo/sales_order.html
    trunk/templates/xedemo/sales_order.tex
    trunk/templates/xedemo/sales_quotation.html
    trunk/templates/xedemo/sales_quotation.tex
    trunk/templates/xedemo/statement.html
    trunk/templates/xedemo/statement.tex
    trunk/templates/xedemo/sv/
    trunk/templates/xedemo/timecard.html
    trunk/templates/xedemo/timecard.tex
    trunk/templates/xedemo/tr/
    trunk/templates/xedemo/uk/
    trunk/templates/xedemo/work_order.html
    trunk/templates/xedemo/work_order.tex
    trunk/templates/xedemo/zh_CN/
    trunk/templates/xedemo/zh_TW/

Property Changed:
----------------
    trunk/
    trunk/LedgerSMB/Scripts/admin.pm
    trunk/LedgerSMB/Scripts/employee.pm
    trunk/LedgerSMB/Scripts/payment.pm
    trunk/LedgerSMB/Scripts/setup.pm
    trunk/doc/manual/
    trunk/sql/upgrade/1.2-1.3-manual.sql


Property changes on: trunk
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/1.3:3711-3983
   + /branches/1.3:3711-4009

Modified: trunk/Changelog
===================================================================
--- trunk/Changelog	2011-11-17 13:25:32 UTC (rev 4012)
+++ trunk/Changelog	2011-11-17 13:32:31 UTC (rev 4013)
@@ -9,6 +9,13 @@
 Initial Release:  Monday, Oct 12 2011
 Supported Presently
 
+Changelog for LedgerSMB 1.3.6
+* Including xelatex templates under directory templates/xedemo (Chris T)
+* Fix for company name in order entry (David B)
+
+Chris T is Chris Travers
+David B is David Bandel
+
 Changelog for LedgerSMB 1.3.5
 * Fixing Menu and Permissions bug 3430820 (Chris T)
 * Fixing permissions bug 3433644 (Chris T)
@@ -20,6 +27,15 @@
 * Corrected company name representation in timecard->sales order (Chris T)
 * Better error handling when currency not set (Chris T)
 * Exposed adding currency for customer/vendor to UI (Chris T)
+* Corrected POS roles as per bug 3434549 (Chris T)
+* Updated manual per ticket 3435124 (Chris T)
+* Removed intermediate LaTeX files (Erik H)
+* Fixed error: css/scripts/create_batch.css not found (Erik H)
+* Translation string updates Herman V)
+* Additional upgrade checks added (Herman V)
+* Better whitespace handling in upgrade scripts (from 1.2) (Herman V)
+* Translation string fixes for Payment workflow (Herman V)
+* Fixed UTF8 chars broken in printed HTML invoices (Chris T)
 
 Chris T is Chris Travers
 Erik H is Erik Huelsmann

Modified: trunk/LedgerSMB/BP.pm
===================================================================
--- trunk/LedgerSMB/BP.pm	2011-11-17 13:25:32 UTC (rev 4012)
+++ trunk/LedgerSMB/BP.pm	2011-11-17 13:32:31 UTC (rev 4013)
@@ -157,7 +157,7 @@
 			       '' AS ordnumber, '' AS quonumber, '0' AS invoice,
 			       '$arap{$form->{type}}[0]' AS module, s.spoolfile
 			  FROM jcitems j
-			  JOIN employees e ON (e.id = j.employee_id)
+			  JOIN employees e ON (e.entity_id = j.employee_id)
 			  JOIN status s ON (s.trans_id = j.id)
 			 WHERE s.formname = ?
 			       AND s.spoolfile IS NOT NULL|;
@@ -203,7 +203,7 @@
 				SELECT a.id, c.legal_name AS name, a.$invnumber AS invnumber, a.transdate,
 				       a.ordnumber, a.quonumber, $invoice AS invoice,
 				       '$item' AS module, s.spoolfile
-				  FROM $item a, 
+				  FROM $item a
                                   JOIN entity_credit_account vc
                                        ON vc.id = a.entity_credit_account
                                   JOIN status s ON s.trans_id = a.id

Modified: trunk/LedgerSMB/Form.pm
===================================================================
--- trunk/LedgerSMB/Form.pm	2011-11-17 13:25:32 UTC (rev 4012)
+++ trunk/LedgerSMB/Form.pm	2011-11-17 13:32:31 UTC (rev 4013)
@@ -70,6 +70,7 @@
 use charnames qw(:full);
 use open ':utf8';
 package Form;
+use utf8;
 
 use LedgerSMB::Log;
 our $logger = Log::Log4perl->get_logger('LedgerSMB::Form');
@@ -120,6 +121,10 @@
         $self->{unescape( "", $_) } = unescape( "", $orig->{$_} );
     }
 
+    for my $p(keys %$self){
+        utf8::decode($self->{$p});
+        utf8::upgrade($self->{$p});
+    }
     $self->{action} = "" unless defined $self->{action};
 
     if ( substr( $self->{action}, 0, 1 ) !~ /( |\.)/ ) {

Modified: trunk/LedgerSMB/OE.pm
===================================================================
--- trunk/LedgerSMB/OE.pm	2011-11-17 13:25:32 UTC (rev 4012)
+++ trunk/LedgerSMB/OE.pm	2011-11-17 13:32:31 UTC (rev 4013)
@@ -151,7 +151,7 @@
 
         $query = qq|
 			SELECT DISTINCT o.id, o.ordnumber, o.transdate,
-				o.reqdate, o.amount, ct.name, o.netamount, 
+				o.reqdate, o.amount, ct.legal_name, o.netamount, 
 				o.entity_credit_account as $form->{vc}_id, ex.$rate AS exchangerate,
 		 		o.closed, o.quonumber, o.shippingpoint, 
 				o.shipvia, ee.name AS employee, o.curr, 
@@ -200,7 +200,7 @@
         $query .= qq| AND o.$form->{vc}_id = $form->{"$form->{vc}_id"}|;
     }
     elsif ( $form->{ $form->{vc} } ne "" ) {
-        $query .= " AND lower(ct.name) LIKE ?";
+        $query .= " AND lower(ct.legal_name) LIKE ?";
         push @queryargs, $name;
     }
 


Property changes on: trunk/LedgerSMB/Scripts/admin.pm
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/1.3/LedgerSMB/Scripts/admin.pm:3901-3983
/branches/1.3/scripts/admin.pl:3711-3903
   + /branches/1.3/LedgerSMB/Scripts/admin.pm:3901-4009
/branches/1.3/scripts/admin.pl:3711-3903


Property changes on: trunk/LedgerSMB/Scripts/employee.pm
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/1.3/LedgerSMB/Scripts/employee.pm:3712-3983
/branches/1.3/scripts/employee.pl:3842-3843
   + /branches/1.3/LedgerSMB/Scripts/employee.pm:3712-4009
/branches/1.3/scripts/employee.pl:3842-3843

Modified: trunk/LedgerSMB/Scripts/payment.pm
===================================================================
--- trunk/LedgerSMB/Scripts/payment.pm	2011-11-17 13:25:32 UTC (rev 4012)
+++ trunk/LedgerSMB/Scripts/payment.pm	2011-11-17 13:32:31 UTC (rev 4013)
@@ -918,6 +918,7 @@
 my $unhandled_overpayment;
 for my $ref (0 .. $#array_options) {
  if (  !$request->{"checkbox_$array_options[$ref]->{invoice_id}"}) {
+   my $request_topay_fx_bigfloat=$Payment->parse_amount(amount=>$request->{"topay_fx_$array_options[$ref]->{invoice_id}"});
 # SHOULD I APPLY DISCCOUNTS?   
       $request->{"optional_discount_$array_options[$ref]->{invoice_id}"} = $request->{first_load}? "on":  $request->{"optional_discount_$array_options[$ref]->{invoice_id}"};
 
@@ -949,10 +950,11 @@
        
 # XXX:  This causes issues currently, so display of unhandled overpayment has
 # disabled.  Was getting numbers that didn't make a lot of sense to me. --CT
-      if ( $due_fx <  $request->{"topay_fx_$array_options[$ref]->{invoice_id}"}) {
+      if ( $due_fx <  $request_topay_fx_bigfloat) {
          # We need to store all the overpayments so we can use it on the screen
-         $unhandled_overpayment = $request->round_amount($unhandled_overpayment + $request->{"topay_fx_$array_options[$ref]->{invoice_id}"} - $due_fx );
-         $request->{"topay_fx_$array_options[$ref]->{invoice_id}"} = "$due_fx";
+         $unhandled_overpayment = $request->round_amount($unhandled_overpayment + $request_topay_fx_bigfloat - $due_fx );
+         #$request->{"topay_fx_$array_options[$ref]->{invoice_id}"} = "$due_fx";
+         $request_topay_fx_bigfloat=$due_fx;
      } 
 #Now its time to build the link to the invoice :)
 
@@ -964,8 +966,8 @@
                                             href   => $uri
                                            },  
                                invoice_date      => "$array_options[$ref]->{invoice_date}",
-                               amount            => "$array_options[$ref]->{amount}",
-                               due               => $request->{"optional_discount_$array_options[$ref]->{invoice_id}"}?  "$array_options[$ref]->{due}" : "$array_options[$ref]->{due}" + "$array_options[$ref]->{discount}",
+                               amount            => $Payment->format_amount(amount=>$array_options[$ref]->{amount}),
+                               due               => $Payment->format_amount(amount=>$request->{"optional_discount_$array_options[$ref]->{invoice_id}"}?  $array_options[$ref]->{due} : $array_options[$ref]->{due} + $array_options[$ref]->{discount}),
                                paid              => "$array_options[$ref]->{amount}" - "$array_options[$ref]->{due}"-"$array_options[$ref]->{discount}",
                                discount          => $request->{"optional_discount_$array_options[$ref]->{invoice_id}"} ? "$array_options[$ref]->{discount}" : 0 ,
                                optional_discount =>  $request->{"optional_discount_$array_options[$ref]->{invoice_id}"},
@@ -980,10 +982,10 @@
                                                        value => $request->{"memo_invoice_$array_options[$ref]->{invoice_id}"}      
                                                      },#END HASH
                                topay_fx          =>  { name  => "topay_fx_$array_options[$ref]->{invoice_id}",
-                                                       value => $request->{"topay_fx_$array_options[$ref]->{invoice_id}"} ? 
+                                                       value =>  $request->{"topay_fx_$array_options[$ref]->{invoice_id}"} ? 
                                                            $request->{"topay_fx_$array_options[$ref]->{invoice_id}"} eq 'N/A' ?
                                                            "$topay_fx_value" :
-                                                           $request->{"topay_fx_$array_options[$ref]->{invoice_id}"} :
+                                                           "$request_topay_fx_bigfloat":
                                                            "$topay_fx_value"
                                                            # Ugly hack, but works ;) ... 
                                                  }#END HASH
@@ -1109,7 +1111,8 @@
  selectedcheckboxes => @selected_checkboxes  ? ..hidden.. : '',
  notes => $request->{notes},
  overpayment         => ..hidden..,
- overpayment_account => ..hidden..
+ overpayment_account => ..hidden..,
+ format_amount => sub {return $Payment->format_amount(amount=>@_)}
 };
 my $template = LedgerSMB::Template->new(
   user     => $request->{_user},
@@ -1198,16 +1201,17 @@
          # we will assume that a discount should apply only
          # if this is the last payment of an invoice
      my  $temporary_discount = 0;
-     if (($request->{"optional_discount_$array_options[$ref]->{invoice_id}"})&&("$array_options[$ref]->{due_fx}" <=  $request->{"topay_fx_$array_options[$ref]->{invoice_id}"} +  $array_options[$ref]->{discount_fx})) {
+     my  $request_topay_fx_bigfloat=$Payment->parse_amount(amount=>$request->{"topay_fx_$array_options[$ref]->{invoice_id}"});
+     if (($request->{"optional_discount_$array_options[$ref]->{invoice_id}"})&&("$array_options[$ref]->{due_fx}" <=  $request_topay_fx_bigfloat +  $array_options[$ref]->{discount_fx})) {
          $temporary_discount = $array_options[$ref]->{discount_fx};
      }   
          #
          # The prefix cash is to set the movements of the cash accounts, 
          # same names are used for ap/ar accounts w/o the cash prefix.
          #
-     if ( "$array_options[$ref]->{due_fx}" <  $request->{"topay_fx_$array_options[$ref]->{invoice_id}"} ) {
+     if ( "$array_options[$ref]->{due_fx}" <  $request_topay_fx_bigfloat ) {
          # We need to store all the overpayments so we can use it on a new payment2 screen
-         $unhandled_overpayment = $request->round_amount($unhandled_overpayment + $request->{"topay_fx_$array_options[$ref]->{invoice_id}"} + $temporary_discount - $array_options[$ref]->{amount}) ;
+         $unhandled_overpayment = $request->round_amount($unhandled_overpayment + $request_topay_fx_bigfloat + $temporary_discount - $array_options[$ref]->{amount}) ;
 
      }
          if ($temporary_discount != 0) {
@@ -1216,7 +1220,7 @@
              push @source, $locale->text('Applied discount');
              push @transaction_id, $array_options[$ref]->{invoice_id};        
          } 
-         push @amount,   $request->{"topay_fx_$array_options[$ref]->{invoice_id}"}; # We'll use this for both cash and ap/ar accounts
+         push @amount,   $request_topay_fx_bigfloat; # We'll use this for both cash and ap/ar accounts
          push @cash_account_id,  $request->{"optional_pay_$array_options[$ref]->{invoice_id}"} ? $request->{"account_$array_options[$ref]->{invoice_id}"} : $request->{account};
          push @source, $request->{"optional_pay_$array_options[$ref]"} ?
                        $request->{"source_$array_options[$ref]->{invoice_id}"}.' '.$request->{"source_text_$array_options[$ref]->{invoice_id}"} 


Property changes on: trunk/LedgerSMB/Scripts/payment.pm
___________________________________________________________________
Added: svn:mergeinfo
   + /branches/1.3/scripts/payment.pl:3711-4011


Property changes on: trunk/LedgerSMB/Scripts/setup.pm
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/1.3/LedgerSMB/Scripts/setup.pm:3937-3983
/branches/1.3/scripts/setup.pl:3711-3967
   + /branches/1.3/LedgerSMB/Scripts/setup.pm:3937-4009
/branches/1.3/scripts/setup.pl:3711-3967

Modified: trunk/LedgerSMB/Template/CSV.pm
===================================================================
--- trunk/LedgerSMB/Template/CSV.pm	2011-11-17 13:25:32 UTC (rev 4012)
+++ trunk/LedgerSMB/Template/CSV.pm	2011-11-17 13:32:31 UTC (rev 4013)
@@ -103,7 +103,7 @@
 		$source = get_template($parent->{template});
 	}
 	$template = Template->new({
-		INCLUDE_PATH => $parent->{include_path},
+		INCLUDE_PATH => [$parent->{include_path_lang}, $parent->{include_path}, 'UI/lib'],
 		START_TAG => quotemeta('<?lsmb'),
 		END_TAG => quotemeta('?>'),
 		DELIMITER => ';',

Modified: trunk/LedgerSMB/Template/HTML.pm
===================================================================
--- trunk/LedgerSMB/Template/HTML.pm	2011-11-17 13:25:32 UTC (rev 4012)
+++ trunk/LedgerSMB/Template/HTML.pm	2011-11-17 13:32:31 UTC (rev 4013)
@@ -91,7 +91,7 @@
     my $vars = shift @_;
     if (defined $vars){
         $vars = escapeHTML($vars);
-        $vars =~ s|\n|<br />|gm;
+        $vars =~ s|\n|<br \/>|gm;#better syntax-look under gvim with escaped slash
         return $vars;
     }
     return undef;
@@ -137,7 +137,7 @@
 		$source, 
 		{%$cleanvars, %$LedgerSMB::Template::TTI18N::ttfuncs,
 			'escape' => \&preprocess},
-		$output, binmode => ':utf8')) {
+		$output, {binmode => ':utf8'})) {
 		throw Error::Simple $template->error();
 	}
 	$parent->{mimetype} = 'text/html';

Modified: trunk/LedgerSMB/Template/LaTeX.pm
===================================================================
--- trunk/LedgerSMB/Template/LaTeX.pm	2011-11-17 13:25:32 UTC (rev 4012)
+++ trunk/LedgerSMB/Template/LaTeX.pm	2011-11-17 13:32:31 UTC (rev 4013)
@@ -132,7 +132,7 @@
 	}
 	$template = Template::Latex->new({
 		LATEX_FORMAT => $format,
-		INCLUDE_PATH => $parent->{include_path},
+		INCLUDE_PATH => [$parent->{include_path_lang}, $parent->{include_path}, 'UI/lib'],
 		START_TAG => quotemeta('<?lsmb'),
 		END_TAG => quotemeta('?>'),
 		DELIMITER => ';',

Modified: trunk/LedgerSMB/Template/ODS.pm
===================================================================
--- trunk/LedgerSMB/Template/ODS.pm	2011-11-17 13:25:32 UTC (rev 4012)
+++ trunk/LedgerSMB/Template/ODS.pm	2011-11-17 13:32:31 UTC (rev 4013)
@@ -835,7 +835,7 @@
 		$source = get_template($parent->{template});
 	}
 	$template = Template->new({
-		INCLUDE_PATH => $parent->{include_path},
+		INCLUDE_PATH => [$parent->{include_path_lang}, $parent->{include_path}, 'UI/lib'],
 		START_TAG => quotemeta('<?lsmb'),
 		END_TAG => quotemeta('?>'),
 		DELIMITER => ';',

Modified: trunk/LedgerSMB/Template/TXT.pm
===================================================================
--- trunk/LedgerSMB/Template/TXT.pm	2011-11-17 13:25:32 UTC (rev 4012)
+++ trunk/LedgerSMB/Template/TXT.pm	2011-11-17 13:32:31 UTC (rev 4013)
@@ -87,7 +87,7 @@
 		$source = get_template($parent->{template}, $parent);
 	}
 	$template = Template->new({
-		INCLUDE_PATH => $parent->{include_path},
+		INCLUDE_PATH => [$parent->{include_path_lang}, $parent->{include_path}, 'UI/lib'],
 		START_TAG => quotemeta('<?lsmb'),
 		END_TAG => quotemeta('?>'),
 		DELIMITER => ';',

Modified: trunk/LedgerSMB/Template/XLS.pm
===================================================================
--- trunk/LedgerSMB/Template/XLS.pm	2011-11-17 13:25:32 UTC (rev 4012)
+++ trunk/LedgerSMB/Template/XLS.pm	2011-11-17 13:32:31 UTC (rev 4013)
@@ -107,7 +107,7 @@
 		params => {%$cleanvars, %$LedgerSMB::Template::TTI18N::ttfuncs,
 			'escape' => \&preprocess},
 		config => {
-			INCLUDE_PATH => $parent->{include_path},
+			INCLUDE_PATH => [$parent->{include_path_lang}, $parent->{include_path}, 'UI/lib'],
 			START_TAG => quotemeta('<?lsmb'),
 			END_TAG => quotemeta('?>'),
 			DELIMITER => ';',

Modified: trunk/LedgerSMB/Template.pm
===================================================================
--- trunk/LedgerSMB/Template.pm	2011-11-17 13:25:32 UTC (rev 4012)
+++ trunk/LedgerSMB/Template.pm	2011-11-17 13:32:31 UTC (rev 4013)
@@ -1,480 +1,481 @@
-
-=head1 NAME
-
-LedgerSMB::Template - Template support module for LedgerSMB 
-
-=head1 SYNOPSIS
-
-This module renders templates.
-
-=head1 METHODS
-
-=over
-
-=item new(user => \%myconfig, template => $string, format => $string, [locale => $locale] [language => $string], [include_path => $path], [no_auto_output => $bool], [method => $string], [no_escape => $bool], [debug => $bool], [output_file => $string] );
-
-This command instantiates a new template:
-
-=over
-
-=item template
-
-The template to be processed.  This can either be a reference to the template
-in string form or the name of the file that is the template to be processed.
-
-=item format
-
-The format to be used.  Currently HTML, PS, PDF, TXT and CSV are supported.
-
-=item format_options (optional)
-
-A hash of format-specific options.  See the appropriate LSMB::T::foo for
-details.
-
-=item output_options (optional)
-
-A hash of output-specific options.  See the appropriate output method for
-details.
-
-=item locale (optional)
-
-The locale object to use for regular gettext lookups.  Having this option adds
-the text function to the usable list for the templates.  Has no effect on the
-gettext function.
-
-=item language (optional)
-
-The language for template selection.
-
-=item include_path (optional)
-
-Overrides the template directory.  Used with user interface templates.
-
-=item no_auto_output (optional)
-
-Disables the automatic output of rendered templates.
-
-=item no_escape (optional)
-
-Disables escaping on the template variables.
-
-=item debug (optional)
-
-Enables template debugging.
-
-With the TT-based renderers, HTML, PS, PDF, TXT, and CSV, the portion of the
-template to get debugging messages is to be surrounded by
-<?lsmb DEBUG format 'foo' ?> statements.  Example:
-
-    <tr><td colspan="<?lsmb columns.size ?>"></td></tr>
-    <tr class="listheading">
-  <?lsmb FOREACH column IN columns ?>
-  <?lsmb DEBUG format '$file line $line : [% $text %]' ?>
-      <th class="listtop"><?lsmb heading.$column ?></th>
-  <?lsmb DEBUG format '' ?>
-  <?lsmb END ?>
-    </tr>
-
-=item method/media (optional)
-
-The output method to use, defaults to HTTP.  Media is a synonym for method
-
-=item output_file (optional)
-
-The base name of the file for output.
-
-=back
-
-=item new_UI(user => \%myconfig, locale => $locale, template => $file, ...)
-
-Wrapper around the constructor that sets the path to 'UI', format to 'HTML',
-and leaves auto-output enabled.
-
-=item render($hashref)
-
-This command renders the template.  If no_auto_output was not specified during
-instantiation, this also writes the result to standard output and exits.
-Otherwise it returns the name of the output file if a file was created.  When
-no output file is created, the output is held in $self->{output}.
-
-Currently email and server-side printing are not supported.
-
-=item output
-
-This function outputs the rendered file in an appropriate manner.
-
-=item my $bool = _valid_language()
-
-This command checks for valid langages.  Returns 1 if the language is valid, 
-0 if it is not.
-
-=item column_heading() 
-
-Apply locale settings to column headings and add sort urls if necessary.
-
-=item escape($string)
-
-Escapes a scalar string if the format supports such escaping and returns the
-sanitized version.
-
-=back
-
-=head1 Copyright 2007, The LedgerSMB Core Team
-
-This file is licensed under the GNU General Public License version 2, or at your
-option any later version.  A copy of the license should have been included with
-your software.
-
-=cut
-
-package LedgerSMB::Template;
-
-use warnings;
-use strict;
-use Carp;
-
-use Error qw(:try);
-use LedgerSMB::CancelFurtherProcessing;
-use LedgerSMB::Sysconfig;
-use LedgerSMB::Mailer;
-use LedgerSMB::Company_Config;
-use LedgerSMB::Locale;
-
-sub new {
-	my $class = shift;
-	my $self = {};
-	my %args = @_;
-
-	$self->{myconfig} = $args{user};
-	$self->{template} = $args{template};
-	$self->{format} = $args{format};
-	$self->{language} = $args{language};
-	$self->{no_escape} = $args{no_escape};
-	$self->{debug} = $args{debug};
-	$self->{outputfile} =
-		"${LedgerSMB::Sysconfig::tempdir}/$args{output_file}" if
-		$args{output_file};
-	$self->{include_path} = $args{path};
-	$self->{locale} = $args{locale};
-	$self->{noauto} = $args{no_auto_output};
-	$self->{method} = $args{method};
-	$self->{method} ||= $args{media};
-	$self->{format_args} = $args{format_options};
-	$self->{output_args} = $args{output_options};
-        if ($self->{language}){ # Language takes precedence over locale
-             $self->{locale} = LedgerSMB::Locale->get_handle($self->{language});
-        }
-
-	# SC: Muxing pre-format_args LaTeX format specifications.  Now with
-	#     DVI support.
-	if (lc $self->{format} eq 'dvi') {
-		$self->{format} = 'LaTeX';
-		$self->{format_args}{filetype} = 'dvi';
-	} elsif (lc $self->{format} eq 'pdf') {
-		$self->{format} = 'LaTeX';
-		$self->{format_args}{filetype} = 'pdf';
-	} elsif (lc $self->{format} eq 'ps' or lc $self->{format} eq 'postscript') {
-		$self->{format} = 'LaTeX';
-		$self->{format_args}{filetype} = 'ps';
-	}	
-	bless $self, $class;
-
-	if ($self->{format} !~ /^\p{IsAlnum}+$/) {
-		throw Error::Simple "Invalid format";
-	}
-	if (!$self->{include_path}){
-		$self->{include_path} = $self->{'myconfig'}->{'templates'};
-		$self->{include_path} ||= 'templates/demo';
-		if (defined $self->{language}){
-			if (!$self->_valid_language){
-				throw Error::Simple 'Invalid language';
-				return undef;
-			}
-			$self->{include_path_lang} = "$self->{'include_path'}"
-					."/$self->{language}";
-                        $self->{locale} 
-                             = LedgerSMB::Locale->get_handle($self->{language});
-		}
-	}
-
-	return $self;
-}
-
-sub new_UI {
-	my $class = shift;
-	return $class->new(@_, no_auto_ouput => 0, format => 'HTML', path => 'UI');
-}
-
-sub _valid_language {
-	my $self = shift;
-	if ($self->{language} =~ m#(/|\\|:|\.\.|^\.)#){
-		return 0;
-	}
-	return 1;
-}
-
-sub _preprocess {
-	my ($self, $vars) = @_;
-	return unless $self->{myconfig};
-	use LedgerSMB;
-	my $type = ref($vars);
-
-	if ($type eq 'SCALAR' || !$type){
-		return;
-	}
-	if ($type eq 'ARRAY'){
-		for (@$vars){
-			if (ref($_)){
-				$self->_preprocess($_);
-			}
-		}
-	}
-	else {
-		for my $key (keys %$vars){
-			$self->_preprocess($vars->{$key});
-		}
-	}
-}
-
-sub render {
-	my $self = shift;
-	my $vars = shift;
-	if ($self->{format} !~ /^\p{IsAlnum}+$/) {
-		throw Error::Simple "Invalid format";
-	}
-	my $format = "LedgerSMB::Template::$self->{format}";
-
-#	if ($self->{myconfig}){
-#	        $self->_preprocess($vars);
-#	}
-	eval "require $format";
-	if ($@) {
-		throw Error::Simple $@;
-	}
-
-	my $cleanvars;
-	if ($self->{no_escape}) {
-		carp 'no_escape mode enabled in rendering';
-		$cleanvars = $vars;
-	} else {
-		$cleanvars = $format->can('preprocess')->($vars);
-	}
-        $cleanvars->{escape} = sub { return $format->escape(@_)};
-	if (UNIVERSAL::isa($self->{locale}, 'LedgerSMB::Locale')){
-		$cleanvars->{text} = sub { return $self->escape($self->{locale}->text(@_))};
-	} 
-	else {
-            $cleanvars->{text} = sub { return $self->escape(shift @_) };
-	
-        }
-        $cleanvars->{tt_url} = sub {
-               my $str  = shift @_;
-
-               my $regex = qr/([^a-zA-Z0-9_.-])/;
-               $str =~ s/$regex/sprintf("%%%02x", ord($1))/ge;
-               return $str;
-        };
-
-	$format->can('process')->($self, $cleanvars);
-	#return $format->can('postprocess')->($self);
-	my $post = $format->can('postprocess')->($self);
-	if (!$self->{'noauto'}) {
-		# Clean up
-		$self->output(%$vars);
-		if ($self->{rendered}) {
-			unlink($self->{rendered}) or
-				throw Error::Simple 'Unable to delete output file';
-		}
-	}
-	return $post;
-}
-
-sub escape {
-    my ($self, $vars) = @_;
-    my $format = "LedgerSMB::Template::$self->{format}";
-    return $format->can('escape')->($vars) || $vars;
-} 
-
-sub output {
-	my $self = shift;
-	my %args = @_;
-
-        for ( keys %args ) { $self->{output_args}->{$_} = $args{$_}; };
-
-	my $method = $self->{method} || $args{method} || $args{media};
-        $method = '' if !defined $method;
-	if ('email' eq lc $method) {
-		$self->_email_output;
-	} elsif ('print' eq lc $method) {
-		$self->_lpr_output;
-	} elsif (defined $self->{output} or lc $method eq 'screen') {
-		$self->_http_output;
-		throw CancelFurtherProcessing();
-	} elsif (defined $method) {
-		$self->_lpr_output;
-	} else {
-		$self->_http_output_file;
-	}
-}
-
-sub _http_output {
-	my ($self, $data) = @_;
-	$data ||= $self->{output};
-	if ($self->{format} !~ /^\p{IsAlnum}+$/) {
-		throw Error::Simple "Invalid format";
-	}
-
-	if (!defined $data and defined $self->{rendered}){
-		$data = "";
-		open (DATA, '<', $self->{rendered});
-		while (my $line = <DATA>){
-			$data .= $line;
-		}
-	}
-
-	my $format = "LedgerSMB::Template::$self->{format}";
-	my $disposition = "";
-	my $name = $format->can('postprocess')->($self);
-
-	if ($name) {
-		$name =~ s#^.*/##;
-		$disposition .= qq|\nContent-Disposition: attachment; filename="$name"|;
-	}
-	if ($self->{mimetype} =~ /^text/) {
-		print "Content-Type: $self->{mimetype}; charset=utf-8$disposition\n\n";
-	} else {
-		print "Content-Type: $self->{mimetype}$disposition\n\n";
-	}
-	binmode STDOUT, ':utf8';
-	print $data;
-}
-
-sub _http_output_file {
-	my $self = shift;
-	my $FH;
-
-	open($FH, '<:bytes', $self->{rendered}) or
-		throw Error::Simple 'Unable to open rendered file';
-	my $data;
-	{
-		local $/;
-		$data = <$FH>;
-	}
-	close($FH);
-	
-	$self->_http_output($data);
-	
-	unlink($self->{rendered}) or
-		throw Error::Simple 'Unable to delete output file';
-	throw CancelFurtherProcessing();
-}
-
-sub _email_output {
-	my $self = shift;
-	my $args = $self->{output_args};
-
-	my @mailmime;
-	if (!$self->{rendered} and !$args->{attach}) {
-		$args->{message} .= $self->{output};
-		@mailmime = ('contenttype', $self->{mimetype});
-	}
-
-        # User default for email from
-        $args->{from} ||= $self->{user}->{email};
-
-        # Default addresses
-        my $csettings = $LedgerSMB::Company_Config::settings;
-        $args->{from} ||= $csettings->{default_email_from};
-        $args->{to} ||= $csettings->{default_email_to};
-        $args->{cc} ||= $csettings->{default_email_cc};
-        $args->{bcc} ||= $csettings->{default_email_bcc};
-
-
-        # Mailer stuff
-	my $mail = new LedgerSMB::Mailer(
-		from => $args->{from},
-		to => $args->{to},
-		cc => $args->{cc},
-		bcc => $args->{bcc},
-		subject => $args->{subject},
-		notify => $args->{notify},
-		message => $args->{message},
-		@mailmime,
-	);
-	if ($args->{attach} or $self->{mimetype} !~ m#^text/# or $self->{rendered}) {
-		my @attachment;
-		my $name = $args->{filename};
-		if ($self->{rendered}) {
-			@attachment = ('file', $self->{rendered});
-			$name ||= $self->{rendered};
-		} else {
-			@attachment = ('data', $self->{output});
-		}
-		$mail->attach(
-			mimetype => $self->{mimetype},
-			filename => $name,
-			strip => $$,
-			@attachment,
-			);
-	}
-	$mail->send;
-}
-
-sub _lpr_output {
-	my ($self, $in_args) = shift;
-	my $args = $self->{output_args};
-	if ($self->{format} ne 'LaTeX') {
-		throw Error::Simple "Invalid Format";
-	}
-	my $lpr = $LedgerSMB::Sysconfig::printer{$args->{media}};
-
-	open (LPR, '|-', $lpr);
-
-	# Output is not defined here.  In the future we should consider
-	# changing this to use the system command and hit the file as an arg.
-	#  -- CT
-	open (FILE, '<', "$self->{rendered}");
-	while (my $line = <FILE>){
-		print LPR $line;
-	}
-	close(LPR);
-}
-
-# apply locale settings to column headings and add sort urls if necessary.
-sub column_heading {
-	
-	my $self = shift;
-	my ($names, $sortby) = @_; 
-	my %sorturls;
-	
-	if ($sortby) {
-		%sorturls = map 
-		{ $_ => $sortby->{href}."=$_"} @{$sortby->{columns}};
-	}
-		
-	foreach my $attname (keys %$names) {
-		
-		# process 2 cases - simple name => value, and complex name => hash
-		# pairs. The latter is used to include urls in column headers.
-		
-		if (ref $names->{$attname} eq 'HASH') {
-			my $t = $self->{locale}->text($names->{$attname}{text});
-			$names->{$attname}{text} = $t;
-		} else {
-			my $t = $self->{locale}->text($names->{$attname});
-			if (defined $sorturls{$attname}) {
-				$names->{$attname} = 
-				{
-					text => $t,
-				 	href => $sorturls{$attname} 
-				};
-			} else {
-				$names->{$attname} = $t;
-			}
-		}
-	}
-	
-	return $names;
-}
-
-1;
+
+=head1 NAME
+
+LedgerSMB::Template - Template support module for LedgerSMB 
+
+=head1 SYNOPSIS
+
+This module renders templates.
+
+=head1 METHODS
+
+=over
+
+=item new(user => \%myconfig, template => $string, format => $string, [locale => $locale] [language => $string], [include_path => $path], [no_auto_output => $bool], [method => $string], [no_escape => $bool], [debug => $bool], [output_file => $string] );
+
+This command instantiates a new template:
+
+=over
+
+=item template
+
+The template to be processed.  This can either be a reference to the template
+in string form or the name of the file that is the template to be processed.
+
+=item format
+
+The format to be used.  Currently HTML, PS, PDF, TXT and CSV are supported.
+
+=item format_options (optional)
+
+A hash of format-specific options.  See the appropriate LSMB::T::foo for
+details.
+
+=item output_options (optional)
+
+A hash of output-specific options.  See the appropriate output method for
+details.
+
+=item locale (optional)
+
+The locale object to use for regular gettext lookups.  Having this option adds
+the text function to the usable list for the templates.  Has no effect on the
+gettext function.
+
+=item language (optional)
+
+The language for template selection.
+
+=item include_path (optional)
+
+Overrides the template directory.  Used with user interface templates.
+
+=item no_auto_output (optional)
+
+Disables the automatic output of rendered templates.
+
+=item no_escape (optional)
+
+Disables escaping on the template variables.
+
+=item debug (optional)
+
+Enables template debugging.
+
+With the TT-based renderers, HTML, PS, PDF, TXT, and CSV, the portion of the
+template to get debugging messages is to be surrounded by
+<?lsmb DEBUG format 'foo' ?> statements.  Example:
+
+    <tr><td colspan="<?lsmb columns.size ?>"></td></tr>
+    <tr class="listheading">
+  <?lsmb FOREACH column IN columns ?>
+  <?lsmb DEBUG format '$file line $line : [% $text %]' ?>
+      <th class="listtop"><?lsmb heading.$column ?></th>
+  <?lsmb DEBUG format '' ?>
+  <?lsmb END ?>
+    </tr>
+
+=item method/media (optional)
+
+The output method to use, defaults to HTTP.  Media is a synonym for method
+
+=item output_file (optional)
+
+The base name of the file for output.
+
+=back
+
+=item new_UI(user => \%myconfig, locale => $locale, template => $file, ...)
+
+Wrapper around the constructor that sets the path to 'UI', format to 'HTML',
+and leaves auto-output enabled.
+
+=item render($hashref)
+
+This command renders the template.  If no_auto_output was not specified during
+instantiation, this also writes the result to standard output and exits.
+Otherwise it returns the name of the output file if a file was created.  When
+no output file is created, the output is held in $self->{output}.
+
+Currently email and server-side printing are not supported.
+
+=item output
+
+This function outputs the rendered file in an appropriate manner.
+
+=item my $bool = _valid_language()
+
+This command checks for valid langages.  Returns 1 if the language is valid, 
+0 if it is not.
+
+=item column_heading() 
+
+Apply locale settings to column headings and add sort urls if necessary.
+
+=item escape($string)
+
+Escapes a scalar string if the format supports such escaping and returns the
+sanitized version.
+
+=back
+
+=head1 Copyright 2007, The LedgerSMB Core Team
+
+This file is licensed under the GNU General Public License version 2, or at your
+option any later version.  A copy of the license should have been included with
+your software.
+
+=cut
+
+package LedgerSMB::Template;
+
+use warnings;
+use strict;
+use Carp;
+
+use Error qw(:try);
+use LedgerSMB::CancelFurtherProcessing;
+use LedgerSMB::Sysconfig;
+use LedgerSMB::Mailer;
+use LedgerSMB::Company_Config;
+use LedgerSMB::Locale;
+
+sub new {
+	my $class = shift;
+	my $self = {};
+	my %args = @_;
+
+	$self->{myconfig} = $args{user};
+	$self->{template} = $args{template};
+	$self->{format} = $args{format};
+	$self->{language} = $args{language};
+	$self->{no_escape} = $args{no_escape};
+	$self->{debug} = $args{debug};
+	$self->{outputfile} =
+		"${LedgerSMB::Sysconfig::tempdir}/$args{output_file}" if
+		$args{output_file};
+	$self->{include_path} = $args{path};
+	$self->{locale} = $args{locale};
+	$self->{noauto} = $args{no_auto_output};
+	$self->{method} = $args{method};
+	$self->{method} ||= $args{media};
+	$self->{format_args} = $args{format_options};
+	$self->{output_args} = $args{output_options};
+        if ($self->{language}){ # Language takes precedence over locale
+             $self->{locale} = LedgerSMB::Locale->get_handle($self->{language});
+        }
+
+	# SC: Muxing pre-format_args LaTeX format specifications.  Now with
+	#     DVI support.
+	if (lc $self->{format} eq 'dvi') {
+		$self->{format} = 'LaTeX';
+		$self->{format_args}{filetype} = 'dvi';
+	} elsif (lc $self->{format} eq 'pdf') {
+		$self->{format} = 'LaTeX';
+		$self->{format_args}{filetype} = 'pdf';
+	} elsif (lc $self->{format} eq 'ps' or lc $self->{format} eq 'postscript') {
+		$self->{format} = 'LaTeX';
+		$self->{format_args}{filetype} = 'ps';
+	}	
+	bless $self, $class;
+
+	if ($self->{format} !~ /^\p{IsAlnum}+$/) {
+		throw Error::Simple "Invalid format";
+	}
+	if (!$self->{include_path}){
+		$self->{include_path} = $self->{'myconfig'}->{'templates'};
+		$self->{include_path} ||= 'templates/demo';
+		if (defined $self->{language}){
+			if (!$self->_valid_language){
+				throw Error::Simple 'Invalid language';
+				return undef;
+			}
+			$self->{include_path_lang} = "$self->{'include_path'}"
+					."/$self->{language}";
+                        $self->{locale} 
+                             = LedgerSMB::Locale->get_handle($self->{language});
+		}
+	}
+
+	return $self;
+}
+
+sub new_UI {
+	my $class = shift;
+	return $class->new(@_, no_auto_ouput => 0, format => 'HTML', path => 'UI');
+}
+
+sub _valid_language {
+	my $self = shift;
+	if ($self->{language} =~ m#(/|\\|:|\.\.|^\.)#){
+		return 0;
+	}
+	return 1;
+}
+
+sub _preprocess {
+	my ($self, $vars) = @_;
+	return unless $self->{myconfig};
+	use LedgerSMB;
+	my $type = ref($vars);
+
+	if ($type eq 'SCALAR' || !$type){
+		return;
+	}
+	if ($type eq 'ARRAY'){
+		for (@$vars){
+			if (ref($_)){
+				$self->_preprocess($_);
+			}
+		}
+	}
+	else {
+		for my $key (keys %$vars){
+			$self->_preprocess($vars->{$key});
+		}
+	}
+}
+
+sub render {
+	my $self = shift;
+	my $vars = shift;
+	if ($self->{format} !~ /^\p{IsAlnum}+$/) {
+		throw Error::Simple "Invalid format";
+	}
+	my $format = "LedgerSMB::Template::$self->{format}";
+
+#	if ($self->{myconfig}){
+#	        $self->_preprocess($vars);
+#	}
+	eval "require $format";
+	if ($@) {
+		throw Error::Simple $@;
+	}
+
+	my $cleanvars;
+	if ($self->{no_escape}) {
+		carp 'no_escape mode enabled in rendering';
+		$cleanvars = $vars;
+	} else {
+		$cleanvars = $format->can('preprocess')->($vars);
+	}
+        $cleanvars->{escape} = sub { return $format->escape(@_)};
+	if (UNIVERSAL::isa($self->{locale}, 'LedgerSMB::Locale')){
+		$cleanvars->{text} = sub { return $self->escape($self->{locale}->text(@_))};
+	} 
+	else {
+            $cleanvars->{text} = sub { return $self->escape(shift @_) };
+	
+        }
+        $cleanvars->{tt_url} = sub {
+               my $str  = shift @_;
+
+               my $regex = qr/([^a-zA-Z0-9_.-])/;
+               $str =~ s/$regex/sprintf("%%%02x", ord($1))/ge;
+               return $str;
+        };
+
+	$format->can('process')->($self, $cleanvars);
+	#return $format->can('postprocess')->($self);
+	my $post = $format->can('postprocess')->($self);
+	if (!$self->{'noauto'}) {
+		# Clean up
+		$self->output(%$vars);
+		if ($self->{rendered}) {
+			unlink($self->{rendered}) or
+				throw Error::Simple 'Unable to delete output file';
+		}
+	}
+	return $post;
+}
+
+sub escape {
+    my ($self, $vars) = @_;
+    my $format = "LedgerSMB::Template::$self->{format}";
+    return $format->can('escape')->($vars) || $vars;
+} 
+
+sub output {
+	my $self = shift;
+	my %args = @_;
+
+        for ( keys %args ) { $self->{output_args}->{$_} = $args{$_}; };
+
+	my $method = $self->{method} || $args{method} || $args{media};
+        $method = '' if !defined $method;
+	if ('email' eq lc $method) {
+		$self->_email_output;
+	} elsif ('print' eq lc $method) {
+		$self->_lpr_output;
+	} elsif (defined $self->{output} or lc $method eq 'screen') {
+		$self->_http_output;
+		throw CancelFurtherProcessing();
+	} elsif (defined $method) {
+		$self->_lpr_output;
+	} else {
+		$self->_http_output_file;
+	}
+}
+
+sub _http_output {
+	my ($self, $data) = @_;
+	$data ||= $self->{output};
+	if ($self->{format} !~ /^\p{IsAlnum}+$/) {
+		throw Error::Simple "Invalid format";
+	}
+
+	if (!defined $data and defined $self->{rendered}){
+		$data = "";
+		open (DATA, '<', $self->{rendered});
+                binmode DATA, ':utf8';
+		while (my $line = <DATA>){
+			$data .= $line;
+		}
+	}
+
+	my $format = "LedgerSMB::Template::$self->{format}";
+	my $disposition = "";
+	my $name = $format->can('postprocess')->($self);
+
+	if ($name) {
+		$name =~ s#^.*/##;
+		$disposition .= qq|\nContent-Disposition: attachment; filename="$name"|;
+	}
+	if ($self->{mimetype} =~ /^text/) {
+		print "Content-Type: $self->{mimetype}; charset=utf-8$disposition\n\n";
+	} else {
+		print "Content-Type: $self->{mimetype}$disposition\n\n";
+	}
+	binmode STDOUT, ':utf8';
+	print $data;
+}
+
+sub _http_output_file {
+	my $self = shift;
+	my $FH;
+
+	open($FH, '<:bytes', $self->{rendered}) or
+		throw Error::Simple 'Unable to open rendered file';
+	my $data;
+	{
+		local $/;
+		$data = <$FH>;
+	}
+	close($FH);
+	
+	$self->_http_output($data);
+	
+	unlink($self->{rendered}) or
+		throw Error::Simple 'Unable to delete output file';
+	throw CancelFurtherProcessing();
+}
+
+sub _email_output {
+	my $self = shift;
+	my $args = $self->{output_args};
+
+	my @mailmime;
+	if (!$self->{rendered} and !$args->{attach}) {
+		$args->{message} .= $self->{output};
+		@mailmime = ('contenttype', $self->{mimetype});
+	}
+
+        # User default for email from
+        $args->{from} ||= $self->{user}->{email};
+
+        # Default addresses
+        my $csettings = $LedgerSMB::Company_Config::settings;
+        $args->{from} ||= $csettings->{default_email_from};
+        $args->{to} ||= $csettings->{default_email_to};
+        $args->{cc} ||= $csettings->{default_email_cc};
+        $args->{bcc} ||= $csettings->{default_email_bcc};
+
+
+        # Mailer stuff
+	my $mail = new LedgerSMB::Mailer(
+		from => $args->{from},
+		to => $args->{to},
+		cc => $args->{cc},
+		bcc => $args->{bcc},
+		subject => $args->{subject},
+		notify => $args->{notify},
+		message => $args->{message},
+		@mailmime,
+	);
+	if ($args->{attach} or $self->{mimetype} !~ m#^text/# or $self->{rendered}) {
+		my @attachment;
+		my $name = $args->{filename};
+		if ($self->{rendered}) {
+			@attachment = ('file', $self->{rendered});
+			$name ||= $self->{rendered};
+		} else {
+			@attachment = ('data', $self->{output});
+		}
+		$mail->attach(
+			mimetype => $self->{mimetype},
+			filename => $name,
+			strip => $$,
+			@attachment,
+			);
+	}
+	$mail->send;
+}
+
+sub _lpr_output {
+	my ($self, $in_args) = shift;
+	my $args = $self->{output_args};
+	if ($self->{format} ne 'LaTeX') {
+		throw Error::Simple "Invalid Format";
+	}
+	my $lpr = $LedgerSMB::Sysconfig::printer{$args->{media}};
+
+	open (LPR, '|-', $lpr);
+
+	# Output is not defined here.  In the future we should consider
+	# changing this to use the system command and hit the file as an arg.
+	#  -- CT
+	open (FILE, '<', "$self->{rendered}");
+	while (my $line = <FILE>){
+		print LPR $line;
+	}
+	close(LPR);
+}
+
+# apply locale settings to column headings and add sort urls if necessary.
+sub column_heading {
+	
+	my $self = shift;
+	my ($names, $sortby) = @_; 
+	my %sorturls;
+	
+	if ($sortby) {
+		%sorturls = map 
+		{ $_ => $sortby->{href}."=$_"} @{$sortby->{columns}};
+	}
+		
+	foreach my $attname (keys %$names) {
+		
+		# process 2 cases - simple name => value, and complex name => hash
+		# pairs. The latter is used to include urls in column headers.
+		
+		if (ref $names->{$attname} eq 'HASH') {
+			my $t = $self->{locale}->text($names->{$attname}{text});
+			$names->{$attname}{text} = $t;
+		} else {
+			my $t = $self->{locale}->text($names->{$attname});
+			if (defined $sorturls{$attname}) {
+				$names->{$attname} = 
+				{
+					text => $t,
+				 	href => $sorturls{$attname} 
+				};
+			} else {
+				$names->{$attname} = $t;
+			}
+		}
+	}
+	
+	return $names;
+}
+
+1;

Modified: trunk/LedgerSMB.pm
===================================================================
--- trunk/LedgerSMB.pm	2011-11-17 13:25:32 UTC (rev 4012)
+++ trunk/LedgerSMB.pm	2011-11-17 13:32:31 UTC (rev 4013)
@@ -217,6 +217,7 @@
 use LedgerSMB::Log;
 use LedgerSMB::Company_Config;
 use strict;
+use utf8;
 
 $CGI::Simple::POST_MAX = -1;
 
@@ -247,6 +248,10 @@
     # my $params = $query->Vars; returns a tied hash with keys that
     # are not parameters of the CGI query.
     my %params = $query->Vars;
+    for my $p(keys %params){
+        utf8::decode($params{$p});
+        utf8::upgrade($params{$p});
+    }
     $logger->debug("LedgerSMB::new: params = ", Data::Dumper::Dumper(\%params));
     $self->{VERSION} = $VERSION;
     $self->{_request} = $query;

Modified: trunk/UI/payments/payment1.html
===================================================================
--- trunk/UI/payments/payment1.html	2011-11-17 13:25:32 UTC (rev 4012)
+++ trunk/UI/payments/payment1.html	2011-11-17 13:32:31 UTC (rev 4013)
@@ -28,7 +28,12 @@
 <?lsmb type.type = "hidden"; INCLUDE input element_data=type; -?>
 <table width="100%">
   <tr id="top-bar" class="listtop">
-    <th id="top-bar-header" class="listtop"><label  id="top-bar-header-label"><?lsmb text('Receipts') ?></th>
+    <th id="top-bar-header" class="listtop"><label  id="top-bar-header-label">
+     <?lsmb IF (type.value == 'receipt') -?>
+      <?lsmb text('Receipts') ?>
+     <?lsmb ELSE; text('Payments') -?>
+     <?lsmb END -?>                     		 
+    </th>
   </tr>
 </table>
 

Modified: trunk/UI/payments/payment2.html
===================================================================
--- trunk/UI/payments/payment2.html	2011-11-17 13:25:32 UTC (rev 4012)
+++ trunk/UI/payments/payment2.html	2011-11-17 13:32:31 UTC (rev 4013)
@@ -174,8 +174,8 @@
     <td><div id="<?lsmb "div_topay_invoice_$i" ?>"><?lsmb row.due_fx ?></div></td>
    <?lsmb END ?> 
     <?lsmb #This should be computed and updated to the div using  ?> 
-    <td align="center"><?lsmb  row.topay_fx.id = row.topay_fx.name ;INCLUDE input element_data=row.topay_fx;
-    	       topay_subtotal = topay_subtotal + row.topay_fx.value -?>
+    <?lsmb topay_subtotal=topay_subtotal + row.topay_fx.value; -?>
+    <td align="center"><?lsmb  row.topay_fx.id=row.topay_fx.name;INCLUDE input element_data={id=>row.topay_fx.id,name=>row.topay_fx.name,value=>format_amount(row.topay_fx.value)}; -?>
     <?lsmb # A DEGRADABLE JAVASCRIPT IS USED, BECAUSE OF THE VISUAL IMPACT
     	   # THAT CAUSES THE SIZE OF THIS DIV -?>
     <img src="UI/payments/img/up.gif" id="button_topay_<?lsmb row.invoice.id ?>" name="<?lsmb "button_topay_$i" ?>"
@@ -222,7 +222,7 @@
    <?lsmb  colspan = column_count - 2 # We will use this later on totals -?>
    <tr class="listsubtotal">
    <th colspan="<?lsmb colspan -?>" align="right"><?lsmb text('Subtotal') -?></th>
-   <th colspan="2"><?lsmb topay_subtotal -?>&nbsp;<?lsmb curr.value -?></th>
+   <th colspan="2"><?lsmb format_amount(topay_subtotal) -?>&nbsp;<?lsmb curr.value -?></th>
    </tr>
    </table>
    <table width="100%">
@@ -321,7 +321,7 @@
    <tr class="listtotal">
    <?lsmb payment_total = overpayment_subtotal + topay_subtotal -?>
    <th colspan="5" align="right"><?lsmb text('Total') -?></th>
-   <th colspan="2"><?lsmb payment_total -?>&nbsp;<?lsmb curr.value -?></th>
+   <th colspan="2"><?lsmb format_amount(payment_total) -?>&nbsp;<?lsmb curr.value -?></th>
    </tr>
    </table>
    
@@ -330,13 +330,13 @@
          update.title       = "UPDATE ALT+U";
          update.name        = "action";
          update.value	    = "payment2";
-         update.text        = text("UPDATE");
+         update.text        = text("Update");
          INCLUDE button element_data=update -?>
   <?lsmb post.accesskey   = "P";
          post.title	  = "POST ALT+P";
          post.name	  = "action";
          post.value	  = "post_payment";
-         post.text	  = text("POST"); 
+         post.text	  = text("Post"); 
          INCLUDE button element_data=post -?>
   <?lsmb post_and_print.accesskey = "R";
          post_and_print.title     = "POST AND PRINT ALT+R";

Modified: trunk/UPGRADE
===================================================================
--- trunk/UPGRADE	2011-11-17 13:25:32 UTC (rev 4012)
+++ trunk/UPGRADE	2011-11-17 13:32:31 UTC (rev 4013)
@@ -31,6 +31,7 @@
    * perl Makefile.PL
    * make
    * make test
+      But run 'make test' under an english locale, because some tests check for english error messages.
 * run the install.sh script.
 * direct your browser to the setup.pl script in your ledgersmb directory (via
   http) and follow the prompts:

Modified: trunk/bin/aa.pl
===================================================================
--- trunk/bin/aa.pl	2011-11-17 13:25:32 UTC (rev 4012)
+++ trunk/bin/aa.pl	2011-11-17 13:32:31 UTC (rev 4013)
@@ -439,14 +439,18 @@
     # 	$locale->text('Add AP Transaction');
     #   $locale->text('Edit AR Transaction');
     #   $locale->text('Edit AP Transaction');
+    my $title_msgid="$title $form->{ARAP} Transaction";
     if ($form->{reverse} == 0){
-       $form->{title} = $locale->text("[_1] [_2] Transaction", $title, $form->{ARAP});
+       #$form->{title} = $locale->text("[_1] [_2] Transaction", $title, $form->{ARAP});
+       $form->{title} = $locale->text($title_msgid);
     }
     elsif($form->{reverse} == 1) {
        if ($form->{subtype} eq 'credit_note'){
-           $form->{title} = $locale->text("[_1] Credit Note", $title);
+           $title_msgid="$title Credit Note";$form->{title}=$locale->text($title_msgid);
+           #$form->{title} = $locale->text("[_1] Credit Note", $title);
        } elsif ($form->{subtype} eq 'debit_note'){
-           $form->{title} = $locale->text("[_1] Debit Note", $title);
+           $title_msgid="$title Debit Note";$form->{title}=$locale->text($title_msgid);
+           #$form->{title} = $locale->text("[_1] Debit Note", $title);
        } else {
            $form->error("Unknown subtype $form->{subtype} in $form->{ARAP} "
               . "transaction.");

Copied: trunk/css/scripts/create_batch.css (from rev 4009, branches/1.3/css/scripts/create_batch.css)
===================================================================
--- trunk/css/scripts/create_batch.css	                        (rev 0)
+++ trunk/css/scripts/create_batch.css	2011-11-17 13:32:31 UTC (rev 4013)
@@ -0,0 +1,8 @@
+
+.labelledinput { }
+
+.value { }
+
+.label { }
+
+.date { }

Modified: trunk/doc/LedgerSMB-manual.pdf
===================================================================
--- trunk/doc/LedgerSMB-manual.pdf	2011-11-17 13:25:32 UTC (rev 4012)
+++ trunk/doc/LedgerSMB-manual.pdf	2011-11-17 13:32:31 UTC (rev 4013)
@@ -1372,26 +1372,27 @@
 << /S /GoTo /D [918 0 R  /Fit ] >>
 endobj
 933 0 obj <<
-/Length 1928      
+/Length 1932      
 /Filter /FlateDecode
 >>
 stream
-x\xDA\xEDXÝ\xDAF\xCF_\xC1\xE4%f\xE6p\xD7^\xE0\xF6É\x8Fsj>j\x9B\2Mp\xEE\xDC\xBEbsi\xFE\xFBJ+\xE1\xA6\xD7v\xFAÐ/ì\x95\xB4\xD2O\xF2.\xA2s\xD7\x9D\xF1\xF1\xC48H_|s-e\xC7puÓ\xADN\xFA\xB1c
-W\xEF\xF7\x8D\x8EcÛaÛt\xD5\xF9Q\x8B\xF2\xD5]\xBEK&\x83nÏ\x856É\xFBlM\xF3Ça\x9A\xDE\xEDICh\x86.\xBB?\xA5\xAFI\xA7\xA1{\xB6m*\x9D\xB6\xEE\xBBÓ\xB6\x8EFPcz\x9F\xD3\xFE3\xD5\xC3r\xD75\xFA3Ógjy\xB6A\xA5\xD3ÇNÏ\xBAë&\xC9\xEA|\xF3!ß\xBCi]\xF1D\xC6\xC1O\xF7\xD3AGzp"]\xF6]p\xC5\xD1\xFB+	~[\x82\xD8\xE8
-\xEDc\x89\xAAO\xAB\x95\x83@)\xB6\xCB\xF5~\x95\xAF\x88\-w\xC5C]ëÅ\xFBbyO\xBC\xEC\xE0:\xF0\xD6\xC52\xDFVj\xAC\xF6\xDBU~\xAEx<\x8F\x88\xF2h\xA11\xBD\xCE\xEA|\xBA
-<\x8Ckw|,\xD7ë\x95\x9F\x8A\xEDQre\xB3\xA7\xD43,Ý Bz:Ü\xA8\xAA\xE2\x91\xE3\xC9N\xD1\xE2\xAE|\xCCwÛ\xF5}\xC1\xB3O\xE5\xEE]énX>|\xDEw\xF7uga\xF7\xE0\xC7\xE3|=\x91Õ\xF2\xB2\xFC9_Ö\xCD\xF8Q\xCA\xD84Å\xCAw\x8F\xF9\x8A\l\xDD!\xEBq\xBE*\xAAzW|\xD8\xD7E\xB9M\x96\xADe\xDBN,..hidden..'
-\x80\xDFQ*U>Z\xBAe\xB9H\x97\x92\xDD\x98Þ\x8CN\x8B\xFCsz\xE6\xF4\xABe\xB9y(\xD6\xF9\xEA1\x9B\x8A\xA6\xE8n2\x9EDW$y\x93\xF2\xD4\xD6\xE6\xA3k,\x8CfUVu\xA2`y\xC50\xE8Kt\xFA4qqW\xBAZz
-\x816Ùi:""\x80\xD9\xFA\x9E\xDCCò'\x86\xC2$S\xCA}M\xC4M\xB9*\xDEa.3L\xA2T\x8A\xFAAp\xB9)\xEAZ\xC16<P\xFE\xAA#\xA8\xEF3VF\xE8\xA2\xBB\x816Ð\xE5vU\xA0\xFE\xEA	|\x9C\xAC\xDD&6y\xFD-
-\xFAZ\xC70u\xCB\xC6^[\x8C>..hidden..,Ý\x84%\xE3YX2Î\xE4<\x81%\xF3\x96ÐÍ\xAAiF1\xA93,\Sha\x92}(Gh\xB0\xA7m\xCBz\xA6\xD01MZP\xD1\xE8lB\xA1\xD2\xD1\xF4\xEC\xA2\xD8\xD0\xDB9\x84O0\xBCTW\xE1\xB5sK\xF9r\x9D\x9B\xA6ogÕ<\xA2kW\xD5M\xD7\xDA\xE6,@Þ\xDBJ\xAEy\xD7~\xDB \x93\xFB\xC71\xD9=\x85	#$\xC1d\x97\xCD\xE7!B
-A=EZS\xAE\xB4\xC2j%>\xE2B\xB5n\x98uI\xACV\xB5\xB5]\xAD\xD0	\xE5\xB10Q\x96\xFA\x88\x95\x8A\xD1\xD0HVW\xDC<\x80\xA7\xAEts\xA6V\p\xAB\xBDB\xAE%9\xB20A(\xC07\x84Wm4\xC0\xF2\x88h8c 3`\xA6\xE2o\x99\xED\xE2$\xAD*\xE3m;\xED\x8CÃ3\x96)..hidden..(\xE5-z\xFD\xAA\\xEE7\xF9\xB6Î\xD53\xAE\xBE)2 U\xFE\xF8\xBD,\xB25#\xE2\xAC\xD9\xE0'\x8D\xDAY`\xEDÓ|\xD1=\xE1r\xCFp\xB9*o\xC2\x83\xEEi\xA3\xD9p1	\xA6i×\xA0\xA2\xE1'
-gS\xFA\x965"\xF3x\xF6&#\xA2\xDE5\xBD	h\xA3q\xABo"\xF2A\xFAu0L\x89\xF7\xD2O]/\x89\xE2OY\x8F?eE\xC1\xDBÞ8\xCD\xE3 Q\x9B=m\xD3N\xE6QH~x\xDA-\x82Ïc\x9A\x86Ar\xC5\xD3a\xB4\x85\xD31\xAFt\xC26\x9D\xA5D\x89\xC2I\x986:..hidden..'\xB4\xD95\x8D\x93 \xDE\xF8\xD0A\x85\xE9;b\xA8\x93\xE3\xE4:L\xA7\xEAlj\x81\x87Sl\xE6d\xAF+\xFB\x90\x89\xE1"\xF2\x99=_\xC4\xF3Y\xB0lÌQ\x98#?\x9C#\xFD\x92\x83!d\xD24\8=\x8E\x8E\xBC\xC1L+Rr\xE3GQ\xD5\xC1\x91\xD6\xCA$.\x99D\xA1A#\xFA\x83\x88\xE7\xCAwd\xAA\"eÆ\x8E~E\x9CpzFr\x81t1\x98C\x80G-R\xB7]CK\xE6\xC10<\xAC\x82\xB7$\xC6W}å\x9D\xF3\xA5Xy\xC3\xD94	~X\x80\xD8D\xA4\x91?\xF1Ç!\`/k\xF7*\x80 r\xC1\xAB\LK\xE1bZFg\xB8\x88\x83	E\xD4"\xE0\x98,I\xA6\x8B4 \xC1\xF1l6JX$f\x91 \xEEÚ\xF6&\xC9w$Í\xE4T\xCF"	\xD8Ô
-S\xC5\xE6\xEA\xA0é\xE0\x80UJ\xE1P\xD9\xC08X$!N
-\xC4\xF1b\x8Eu\xDE\xF4^G\xBB\x99\xDD8x\xC3\xD0\xDB#\x9AS\xBD\xA2\xB6iCxG\x8A63N	\\xD3\x85ë\x85&q\xAE\xA3\xDD\xDE\xA0$\xA6×\xC2*!\x8Bi\xEC\xAC$\x8DC\x85C\xD7Q\xF8;SdS\\x81I	\xA2/Q\xDA9\x87&=&\xEA4G\xE18\x98\x83KQ$<Im\xA6\x9C]\xB7a4\xF7	\xC5B<Q\x93m\x91\xD7HT\xEA\xCA9\xA6\xCCb%To0Y$<!\x8E\xC5m)\xDB\xF2\xF1\xB0\x8A/V\xFB5a\xDA\xBD	U\xFETq0\x91\x8DB#\xA0\x85M_jK$\x8B\xE1
-Íjt\xBEß\xF8`\x92\x96\xA3\x9E\xBC`RZ\xBA\xD9w\x9AgÓ\x86oYurß=\xC7g2\xED\x91Í0\x84\xD6%\xC4o\xA9\xC3\xE5j\xB0\xAF\xF0bT5O\xACr	\x8B\xBC:\xBF\xD2}×Z\xFFK\xCB\xC7Û8\xBB(\xB3\xE1p[\xEF\xF0
-q\xFC\xE3\x95\xE6\xF4ywf\xCC\xF4\\xCB\xFD\xD2X\xFB\xEA{\xE9Ui\xE8\xCA&h\xBE\xA5wÌÞ\xB6\xA4c\xE1\xFFxe\xFB\x9A\xCB\xF3\xFEÔ\xF3\xF4K\xB8\xBC\x9F&\xE4\xC0\xE7Y0Y\xF8\xFC\xC1\xEF[\xDE!\xF8\xFF|L
-\xCF:\xFD@"TA\x98\xA0\xCC_=fp	\xBE;=\x9Dh\xC4_ch\xFF\xAE\xB21\x9C\xDF\xE7\x8C\xEC\xEB<\xAB\xF7\xFC\x87ÓnÏ\xFF\x87\xF3_}\xEFÏHn,Q\xB1)\xE8E\xF7\8\xDB\xFF.8\xFF\x83\x88\xEFC\xD4
-\xF1L\xC4[\xF0\xE4sU\xE7\x8Aq\x9C\xFF\xBA/\xF2uyf\xEB\xEB
-ï\xAB)\xA4nÃ\xA5\xE7Z\xBA-\x9A\xE8\x9E\xC8\xE9\x8B\xDF\xE9\xD8\xD8\xE8
+x\xDA\xEDXÝ\xE2\xC8
+ß\x82\xBA\x973U\x83\xAF\xDB\xED\x9C<\xF00\xBE\x98\x8F\xD8fg\xB7\xEE\xF2\xE0\xEF\x8C\xC0lf\xB3\xFF}\xA4\x96\xCC\x96\xA9\xCC%u\xD9\xE4\x85\xEE\x96ÔZ\xFAI\xEEF\xF4z\xA27}'^GÙ\x9Fn\x95\xEAIÏ\xA4c\xF7\xB2\xCF=Kx\xE6p({\xAE\xE3\x98\xD2qzÙ\xF7\x8B\x9B\x87\xE2\x90\xCEF\xFD\x81\xE5c\x96\xEF\x8F\xF9\x96\xE6\xCF})\xA5a\xF6J
+C\x9A\xAA\xFF\x97\xECg\xD2)M\xDFq,\xAD\xD31]\xE1\xF4\xCA1\xD1j\xCC\xDA\xA1z\\xFArh03\xEB\xFB\x96Q\xE4;TÚ\xA49\x94\xC3\xDE\xC0R\xA6\xE7[\xA4f^=\xBBOÅÄ\xBA\xA1\x89%\xA4<9âk\xB9\xE8\xC7d*K\x82'\xAE9tYG\xF8\x8Fu\xF1\xD4\xC0FO\x9F+T\xE5\xFAF\xA3\xFDJ\xB9_o\x8F\x9BbC\xE4z}(\x9F\x9A\x9AX\xBF
+G|y,×\xC4\xCBO\x9Eo[\xAE\x8B}\xAD\xB7\xC1\xEA\xB8\xDF\x97\x8A\xA7Ë(\xCFZ\xD3Û)\xA0[\xE2a<\xE7e\xC7\xE7j\xBB\xEDK\xA3\xFAR\xEE\x88\xF2Th\x9B\x9F\x81\xB4MßaÔ\xA7\xC3\xEDÊ.\x9F9\x9C\xEC- t\x87}M\x8B\xE6\xB1\xE4Ù\xEA\xF07Sën\=}=\x94\x8FMg\xE1\xE0\xC7\xE7t\xBD\x92Ô\xF6\xB2\xFAk\xB1n(\xC1\x96á\xB1i\x8A_]\x9E\x8B
+\xB9 ØKÖbS\xD6Í\xFCtl\xCAj\x9Al\xC7\xC8\xF7\x9C\xD8\xC6\x86\x94\x929uu\xD4\xD7	`\xBA\xE2*\\xD3\xF7\xD4Q\x81\xA0\xF0|\xBFg\x99\xC2cHW\xC0\xA3L_r:R\x99\xF6\xD16m\xDBC\xBAR\xECf\xC8\xF4\xA1-{\xF2\xCC\xE9\x85\xD3?\xAE\xAB\xDDS\xB9-6?\xF0\xB7\xABi\x8A\xEE\xA6\xD3Y|C\x92wOc9\xB9ÅhWUÝ\x967\x83\xA1B\xA7\xCF\x97\xF4\x95gd\xB7h\x8B\xCD[\x96!"\x98m\xC9=$)\x9BGbhL2\xA5:..hidden..'..hidden..@\xCB\xF0\xA1e\xE8-\xD2<\x97\xF9e\xE0q)
+Dß>\xD3\xD8E\xAE\xD7Õg\xAFc\xC96EX\x92oÂ\xBCÄ\xFB
+\x96\xAC+XBWvÇ\xA1ÅÉpM\xA1\x85I\xFE\xA9z>\xA1S\xC0\xBE\xB1\xAF\xE8	\x98BW\x9E\x9A\xB4\xA0\xB2\xD5ÙB\xA7\xA3\xED3\xD8E\xB1\x9Fw3r
+\x9F`x\xE9\xAE\xC2\xEA\xE6\x96\xF2\xF56/wm\xDF\xCE\xEByD×nÚ\xB5/X\x80\xBC\xE9\xB6+\x94\xDC\xF2\xAE\xE3\xBEE&\xF7\x8F\x97d4"\x8C\x90\x8B]\xB6Þ%\xF5!\x8D\xB6\i\x85\xD5J|\xC4\x84:j\xD32\x9B\x8AX\x9Djj\xB7Z\xA1\xAA\x97\xC2DY\xEA VA(DC#ySs\xF3\x9EN\xB8n\xD0\xED\x99:i ..hidden..'i\xD5\xEF\xDA\xE9f\x96\x9Cq\xB0LI\x92F)o\xB9\xD2\xEB7\xD5\xFA\xB8+\xF6MN\xAD\x9Eq\xF5SÅ\xE1\xE9\xF2\xC7\xEFe\x99o\xCD?i\xD4Îë>5\xE0\x8B\xE9\x8F{\x86\xC7Uy\xA5tß,ÆY8\xCF\xFA\x9E
+
+?Y\xB4\x98Ó\xACY&\x8B\xF7\xD1$\x9Cu\xF4\x91\xA8\xD9]H\x938\x9CL\xC3D\x91\xD2?\x87\xE3\x8Cx?i\xAB\xEB\xA2s\xD6\xCCYQ\xF8ap-N\xCB$L\xF5f\xDFX$4F\xB3e\x91\xBEq\x8F\xE0\x92$\x98gQ\x98Þ\xC4|\xAF&\xD1|\xCA\xEB\xD1
+\x81\xB0\xCDQ\xE2he\xAD\x8E#\xBA`Y:\xD0+f×5\xDB\xEEC\xF1	cqK\xE3,L\xC6wt\xC5Q\xF6\x91\xFA\xE48\xB9\x8D\xB2\xB9>\x9B^\xE0\xE14\x9B\x86%\xD9\xEB\xAB!db\xBC\x8Af/W\xC9r\x91\x86,\x9B\xF0d\xA5\xE38\x88f\xE1Ä\xE6`\x99\xB4\xA4\xA7\xC7\xD15\xC2\xF7\x98iMJ\xEF\x828&\xAA>8\xD2:\x99\xC4\xE5)\x93(4je\xA2`\xF3\\xFB\x8EL\x9DK\xA4L\xA2w\xC0\xD1o\x88\xCD/H\x90\xAEs\xE3\xA8\xC5\xFA\xB6+\x8Dt\x8E\xA3\xD3*\xFCBb\xDDW>\xEA\xCB9_\x8A\xB5 0^\xCC\xD3\xF0\xCF+\xD0\x9B\x884	f\xC13\x84\xECe]\x80\xE0^
+d"@\xAExu\x82\x8Be\x8B\xB8X\xB6\xC4\xE8\x8CWI8\xA3\x88\xDA\xD3\xD5(Íl\x95\x85$8],&)\x8B$,&}\xC71\xDEG\xE30\xFD#IÅ4=×JC65\xA1\xC2Ô\xB99i\xBA\xE2-\xF8\xE0B\x95J\xB8T60\x8EViD\x80SÃ\x85I\xB2Zb\x9D\xB7\xBD\xD75\xEE\xF7\xDE0\xC0\xF6\x84\xE6T\xAF\xA8m\xDE>\x92"\x80Í\x93A\xB74\xC6\xD1\xD5znk\xA1M\x9C\xE7\xF7w!(I\xE85\xA0\xB1
+D\xC8b\x96/\x88V\x9A%\x91Æ\xE7j\xFC](r(\xAE\xC0\xA4Ñ\x87(ÝC\x93\x9EuN\xE3h\xCE\xC7\xE1\xB5(\x9E\x94\xB1\xD0Î\xAE\xFB(
+\xDB{\x89\x82\xE2\x8B \x9E\xA8É\xC9k$\xEA
+\x80	\xF5\xEDS1\x9B\xAA7\x98\xACR\x9E\xC7æ\x94\xABm\xF9\x86xX\xC5W\xAB\xFD\x960L\xDEG:\xBA8\x98\xC8F\xA1\x91Ð\xB6/u%\xD2\xD5\xF8\x8EfT5&\xDF\xEF<|0)\xDB\xD5/^0\xA9l\xD3\xBA\xED\xB3i\xDF\xC0\xB7\xAC>\xBBoÐ\x97W2\xEDQ\xED\x8D0\x82\xD6%\xC47o\xA9\xD3\xE5jt\xAC\xF1bT\xB7O\xACj
+\x8B\xA2\xBE\xBC\xD2È\xE7)c\xF8\xAD\xE5\x97Û\xB8\xB8(\xB3\xE1h\xDF\xF0
+\xF1\xF2\xC6+\xCD\xF9\xF3\xEEÂ\xE5{\xB6\xF7\xAD\xB1\xEE\xD5\xF7ÚR\x9A\xDA&h\xBE\xA7w\xCC\xDAÞ\xB6\x94k\xE3\xDFxe\xFB\x9E\xDB\xF7Ó\xCB\xF4+\xB8\xBC\x9F'\xE4\xC4\x97Y\xB0NY\xF8\xFA/\x82?\xB4\xFD\xFF\x85\xE0\xFF\xFE9\xB0,(<\xFB\xFC\x89\xD0a\x81\xB2`\xF3\x9C\xC3%\xF8\xE1\xF2\xF4zf\xA0\x8F\xA1\xFD\x8Fp\xAD\x91\x8D\xE1\xFCS\xC1È-\xF2\xE6\xC88]\xEA\xF6}\xE7\xFFp\xFE\xF7B?8\xC3\xF3)\x8AK\\xEEJzÑ\xCE\xCE\x9CG\xC4!\xEAR\xBC\xF16<\xFDZ7Åb\x9C?\x96\x{177E33C}1\xD2\xFE\xBE\xC2\xFB\xE2j	e:pox\xB6\xE9\x886\xBAg\xB2a\xF6\xEE\x9F\xA7\xD8n
 endstream
 endobj
 918 0 obj <<
@@ -5475,30 +5476,23 @@
 /ProcSet [ /PDF /Text ]
 >> endobj
 1409 0 obj <<
-/Length 3056      
+/Length 3026      
 /Filter /FlateDecode
 >>
 stream
-xÚZÝ\xDB6\xCF_\xE1\xB7jgb\xADD\xEA\xB3ss\x9Dm\x9B\xB4\xB9\xD9|\xDCd;M'\xE9\x83V\xA2m^\xF5\xE1Z\xF4:\xCE_ÊV\x9BIs\xD7}\xB1(..hidden..,Ö`\xF1Ó\x80\x9F\xDF\xDF<\xB9|.\xE5"\xF7\xF3D$\x8B\x9B\xD5"\x87f&I\x9E\xF8y\x9E-n\xAA\xC5{\xEFZUk\xB5{\xFB\xF2\xFB\x8B\xA5L2o\xBB\xBB3\xAF\xBBÓê{F5Û0\xF4\x9Ay\xBA%rA\xAFw\xC5N+s$Z\xB7"\xE2\xAA\xDB5\x85\xE1\xF1\xBA-\xEB}\xA5\xDB5\xF5\xF5\xD1<\x85f\x9Ey\xD3\xD4Ü.n.r\xE1\xA9wOiÐ\x8F\xA5r}E[]\xFC~\xF3\xAF\xC52\x8C\xFC<\x8A\xE0\xFAy\x93\xF8\xAF\xB7
-i\xE6\xFDØ\xFBF\xB5\x86\xDE\xDE\xD2BTQ\xF5U\xA7\x8A\xBDgE\xB9\xA1~U\xA4\xB0\xBA\x8B\xD0Û^Ñî\xB5P\xAA\xBEW\x91\xF6\xBD]6ITÒmw]\xFD\x876(\xE4\xA0|\xAByPs*3Ô\x8C\x85\xC5\xF9B\xFAIÈG\xF7\xF9O;\x95\xF8i\x9C.\x96#\xF6\x836,zA\x8F\x95:\x90\xD0\xFDV\x95\xFAC\x88\x92\xD4$\xE3\xDCar\xAE\xA7\xA6\xAB\x88\xA70\xBAk\xFBo'\xA3\xD1Ç\x9EE\xE8\xF3\xE8A\x98~N\lI\xE8\xB0Ì)v\xB8q\xE0\x99bM
-\xABXx\xFEãon\xA9\x8D\xFBj\xCA5\xEE\xB1\xF7\xCF\xCFÉ\xA4\xCF.\xC3\xB4\x95\x85\xA4x?qÐl.\xB4\xC2\xF3\xCFw\x85\xAE\x8B\xDBZ\xF1\xAB#\xD3c\xB5oKT&\x8F\xE1\xA7\xD90\xF7\xC8n,w\xB7\xA3FÝE\xAD?\xA7\xA1\xDB\xFDn\xDB\xF5\xAA\xF7\xBFx\xB1\xD9W,v\xAD\xCC\xF9z\xC1\xBCD\x96yuÑ\xF7\xC5Z\xF1\xF2\xB3\xD0+,\xBC[E\x84=Y\xB4LG=fW\xB4=\xAE\x8E\xC8Qi^"\xE9\x96xO\x9Dî\xB9Ü\xA9{W\x80\xE6v\xFC\x95
-H\x80g98?Än+\xB5*\xF65\xB2\xD1<\xF0\x86\xEByW\xFBz\xA2\xF7\xE8e\xAD\x91\xB9\x9El\xAE\xDD'\xEBa5\x9F\xCE\xFEUUiÜ\xA2\xAE\x8Fhp!\x8B\x91\xDE//.k}{\xB9\xD7K\xF01H\x9FF\x9E\x8F^\x8D\xF8H\x8F)\xEB1\xF4\xAB\xA0\x8C\xDC-u\x80\xF1\xB4Ua\xA9\x95\xFED\xEC\xA8L\xA1\xE0i\xC1Y\x85\xDE]]O\\xE2\x83\xF2ç×4v\x90\xFD\xC4\xFCt\xBB\xDD;"\x89\xB3\xC8\xD66\x8D"O\xCA\xDCw\xBApÃgU\x94\xEE\x80\xDF3Ö\xAA\x95\xFD\xAAS\xCCH\xEFV\xE5pf\xD3Ñ\x85-\xA9$\x82\xC43?\xF0\xE1\\x86Ax\xBFn
-sn\xA1\xD7\xC3'_\x9BF~\x85\x8B\xD0O]\x8C\xBB\x9A\xF9\x8E\xF4s\x82\xAAN\7V\x89\xA0\xC2}\x9F/\xA3\x84\xE8Ï\x9EEb1"\xBFc\xC5s\x8F\xEDn\x99e~\xD3.A\xFA<\x898\xD0\x8C'Q\x85!\xFCix.\xA9\xBC/\xE9\x88\xCBI\x81,(\xA9\x9C\x97T\x9E$\x95"\xB6\x96\xC1\xE7\xAD\xED\xC0w\xE1\x8E"\xFD\xFA\xEA"C\xEF7\x8CdK\xA3\xCA
-y)"\xABfd\xC1S\x81O\xF0\xAA\xED\xAD\xE3\xC2W\xF7\xB4[\x8E
-LË\xFE\x82hæl\xA1 \xF4\xC7	D\xEDXF\xDECÄ\xECb\xAD\xD0\x91PB$Ó \xACE(,..hidden..;0s\xAB\xB8\xB7\xA3\xE7
-L\xA9w}n \xF3\x80\xBC\xB8P\x9A=\xD9\xCD\xF9\xF7\xB6j\x80+\xF8v\xD8\xE8\x9A;\xEAAcvÒ\xCCS?Í4N5\xE3T\xBB\xD6 \xBD\xD5H?\xF9\xB9F*\xBB$\xB7\x87Ah\xA8\xB8;\xAD\xD6+'JB\xC0Õ\xE9\xA9I\x8BJ\xC0#\x9C\xF1\x8E&\xEB\xB6F7èJ\xB0\xD0\\xD65#\xB3\xC7\xDE\xDC8lz\x94&\xB3\xE6"\x93\x80k\xF40\x98t\xFET\xA6#\xDD\xC5t\xFAA<..hidden..)E\xE7{\x{DFB9}\xB5q-\x8Dt\xC2	..hidden../1\x88\x82\x8EuÉ]\xF5}Wj\x8B5(Æ\xCCdP\xD8GY>9S\xD4sl\xEF-uc\xCC\xF6\xDB\xCB\xCB\xC3\xE1\x80n\xC37\xFB\xB5\xDFÑ\xE7\xB8O\xB1f\xB8BU\x9D\x87\x8E\xA6\xEBÙ_\xEBv\xFF\x91ÃFXq\xBB\xB7\xB8\x95\x82\xF4\\x9C\xBB\xD6\xA0\xC0yd#b\xC0\xFBs\x87(	..hidden..@X'\x8AE\xC0Ó\xCE\xF9K\xDE\xF0\xEA\xC6F\x84\xEF\xBA%
-\xA1\xC9<f]\xE3W6\x8A\xBFw\xC0\x96=\xB1\x98\x84\x88gQ\x95\xB9$|\xA3\xADI\xD1V\xA0jc	\xC7\xA3\xB8a&+5<..hidden..)\xD5\xD6-aÅ\xE6X+\xC8'\x95\xE9\x9DjØ%\x9CD\x820\xD9\xC4tÚ0\xA50\x82
-\xABx\xF6j[\xECD\xC3|Ò\xF6A3+\x8AJ
-u\xD1\xE37!\xCE\xD1\xE34\xBBG\xD8)\xEEn\x90\xE0:q\x86ä\xD2\xED\x91Z\xBD\xDEÐ.\x95\x9B\xB2\xD8nk\xCD9\xE2\xD39^\x93\x99\x81]\xB2\xDBr)Ì7c\xA2\xAC\xF1_Z-\xF3\xC1He6o\xA4\xB9/\xC1\xB1\xE2\xEE\x8A/:\xE2\xABÏ\xE4\xB4_Rf
-\xAFe\xF0T\x96\xBC\xEF~\xBD!\x86^c\xD1J\xADwE\xD3\xD0q\x94\x8BH&\x90n\xC1DOm:\x92\xD0Ø\x9F#\x88\xF1\xCFÕvÕ\xF0\xE6\x80\xAFt8G\xB8\x9B\xB0\xD3$\xFB9sÓsÖ\xDEl\x9C\xB3\xFB\x85\x93?\xEC4\xB8\x80I\xF6;\xB7\x97\xA1H\xFC8\x8B\xFE~\x83\x9EK'..hidden..\x80\xDC[\xE0=\xAB\xB4y8+\x89"_\x80)..hidden..(\xA1\xC4Q\xF1L\x8E\x82\xE9\xEC\xF2e\x9EO \xE1[\x9CDæ\xFEØ\x9B!\xCFà\x83\x91\x87~\x98\xCAGI$\x986p\x86\x89-\x8B\xD5[\xD2by0\xC8_/b\xC4z\x98\xAC\xADG\xC2y\xF5\xE2Ý%L\xB0NÇ,Jj\xBC~K\xCFw>=_..hidden..&'\xC2I\xB0\xB0iV\x8E\xBE\xBA7\xE01,\xEA|\xC5Äk\x8F$\x97B\xB1L\xE8\xF9,=\xB4\x86\xD1\x92I\xD0(I\xF8\xD8V\x90\xD0\xDD<n
..hidden../o\xBA\xCF8\xA7H\xFAI\x96<\xD8\x9CY\x83"OO<k\xB7un\xB5\xEF(\xAA\x97\xEA\xE2Kp4×\xBFI[\xEFC\xEA\xD6+Ä\x99\x9C\x82\xC8\xFD\xC0\xA9\x84+\xC0\xFC\xB0X\xDA\xE8O'\x87Ù\xBB9\xF7\xFC\x95\xDA\xC7\xDF\xE1\x83\xE8\xBEÐ^\xE1ë\xAD\x8DpAt\xBA\xBE\x9C\xE3"\xB1\xB6+\xB5\xCDJ\xC1qzPÉ\xB2\xB9\x84\xE92`\xCB|
..hidden.."\x8A \x99\xBE\xAFU\xAB\xBA{\x8FØÕ{
-[\xF3\x90\xD6\xE5$|\xF3\xE3sz\xB7\xE9\xDC1\xDE\xF4\xE5No\x8D\xAD\xA5Þ\x81@\xF7c\x87\xB74\xAF\x82Ü\xAA\xA8P4\x9E\x8C\xDE\xFAl7\xBAD\x8F\x89\xA1\x84\x838\xB3\xBE/\x98:=[\xCDIl\x88ZT\xC9I\xDC\x98HÊ"\xA5\xFA\xB0%\x8EL\xA6\xAB\xCD \xB4\xEF\xA9lk'hyz\xCA\xC9p\xA2\x82o^\xFD\xF4MOM\xAAI \xED\xC7\xE7\xDFX\xEF\xC5\xCE\xFFÓ\xE7ß\xD2i\xB7\xAF\xAB\xF3\xE2)\xA3\xEF\xD1\xD5\xC1AÕ\xCD} D;\xBC\x86'k\x82ÖÏ)\x88\x9Ay\x92=\x96\xC7:\xC7~\xBC\x8Dt98[\xF4\x85%\xEFl\xE4]/!\xEC-\xE1{\x98\xF8\x8A\xE4\\x9DZB2\xAASc\x8EH\x81\xF3\x95\xE2N\x89m\x89\x9A;)\xAD\xC1\xCE\xA3\x96C
-\xD5\xE3\xC1\xE5\xBB\xFEb(\xD3Y\xE8\xE3KD\x98k\xA8\x81\xF3\3wV\xDCv}p\x90|\xD9[\x8F{\xBE\xEF\xBA.-\xEE\x95Ý\xECß\x9F\xF6x\xE0dm
-&\xDBÛ\xE1\x8B\xC3\xF2\xCBi\x91e\xD8*\xD4\xF8\xC3\xF0\xFFUgÔ\xA0,xW\xF5\xA18\xA2\xB6b\xAC\xFEa`\x91\xB1\xC01\x87-`\xBA\xEBt\xC9D
-E\x96\x8C\xCBt\xA3;\xAB\xDA\xFETE:\xE1\xB18>\xCD\xCAG\x8D\xC9\xD6#\x9C\xBA[D m,\x8B\xBF\xD3v\xE6\xE1\xC3\xE0\xF4\xD0	\x9EÞ\xA3\x8BÉ2\xB8]\xF13\x8B\xED\xC6\xECX\xBF\xB0\xD1<\xD9[\xD8\xCD\xB7\xE19\xB8MJÙ\xFBL \x95.)\xC3U\xA7b\xB8B\xC17915Ëu\xC4B\xC8\xD3\x97q[\x9BI\xB9Ø\xD2Gg\x88<\xFEG\x80\xE5\xB6`\x94\xFA\xCE>\xC4\xF7\xC0\x83\xA5{=11\xB7t\xA7Ì\xCF\xFE_ ]\xB15\x89\xECV\xE0s\x90\xC7'\x8E\xBA\xAFÇU\xC7E\xFA\x84B!\x90Ú\xE1\xFFX\xB1\xEE\xC0XM\xF8\x86\xE8?\xBC\xBEÂ\xBA\x9B\x8B<\xF0 \xE8,\x9D0V\xF9X\x9B\x9B\xF1\xF4c\xF3K\xE3\xE9T~\xD5\xFDYu6\xE2\x90v*\xDC(La/!\x88\xCF\xD6\x80|(xh\xC9\xC3\xD0\xD5_L\xB5;.\xF3\\xE8c\xF6\x94\xEFPqM\x806xY\xB3\xDF\xE9\xB5*3\xCE\x9C\x8A\x9EN\xEF\xEE?N\xC0\xAB\xD2\x82p\x90\xFD\xAB\x95\x8B\xED_=\xECÔS}<\xDDØFÔ1\xC3\xE7fo0\xB5\x86\xB5<RDdÇ\xD0w\xE0u\x87\xBB\xE3!]yv\xF3\xE4\xCF'!4\x83E\xB8\xC8b?\x90\xF9"\x8F\xFC2\xF8\xB2y\xF2\xFE\xF7`QAl\xE4\xD3\xD9\xE2`\x9BE\x98&~\x9A$Ðo\x9F\xFC{\xF8\xFBNM\xE9:?\xF63H\xC0\xB3\xD4\xCFb1\xFA\x89eK\x81
-\xF0\xB4]h\x94\xD9\xF4=\xD9k\xBCU\xEA35|\xB7\xB5Ëe\x82\x95\\xFBg\x97\x87]\xCE
-<Ýw\xE3\x90t^\x8Ao\x9B\xE9\xA7\xE10\xE5]A\xE8'RZw\x9Be\\x89\xC5T\xCF\xFF\x91\x8CS
+xÚZÝ\xDB6\xCF_\xE1\xB7jgj\xADD\xEA3ss\x9D\xF4\x9A\xB4\xE9l\xDA\xDCd;M\xA7\xE9\x83V\xA2m^\xF5\xE1X\xD4:\xEE_ÊV\x9BI{×X$\x91 ..hidden.."\x92\xD5\xEDf\x95C3\x93\xAB$O\xFC<\xCFV\xB7\xD5\xEAW\xEFFU[ux\xF3\xEAëL2o\xB8
+3\xAF\xBB×ê{F5\xFB\xBA0\xD4\xCD<\xDD\xB9\xA0\xEE}q\xD0Ê\x88\xD6m\x88\xB8\xE9Ma\xF8}Ý\xF5P\xE9vKcF}0_B3Ï\x9Dijn\xDE\xB7W\xB9\xF0\xD4\xDB/\xE9\xA5\xE7J\xE5Æ\xB6\xBA\xFA\xED\xF6\xFB\xD5:\x8C\xFC<\x8A\xE0\xFAy\x93\xF8?\xEE$\xD2\xCC\xFB\xA6+\x87F\xB5\x86zoh#\xAA\xA8\xFA\x9D*\x8C\x8FS\xC5\xDE\xF3\xA2\xDC\xD18\x8A*R\xD8\xDDU\xE8\xEDT\xAF\xA8\xA7{e-\x94\xAA\xEFUE\xA4\xA1\xB7[\xC0&\x89JZ\xB1\x{DBAB}\xD7\x85\x95o5jNe\x86\x9A\x97\xB1\xF0\xA38_I?	Y\xF2\xE8!\xFF\xF9\xA4?\x8D\xD3\xD5z\xC2~ÔE/\xE8\xB1QG\xBAßR\xBFQ\x92\x9Ad\x9C\xFB"L.\xF5\xD4t\xF1Fwm\xFFt\xB6xMwz\xA1\xCFo\xBF\xC2\xF4c\xE2bKÂe\xEEMq\xC0S\x88\xCF[jX\xC5\xC2\xF3_\xD5}sGm<W\xDBP\xAE\xF1\x80\xFD\xAB~L\xCE5-\xBBs\xD0V\xFE$Å\xF8.\x88\x83\xDE\xE0p\xA1^._\xDC\xBA.\xEEj\xC5]G\xA6\xC7fhKT&..hidden..;[\xC5\xDB\xCFB\xAF,P\xB0,\xF0\xEE\xB2h\x99\x8EFÌh{\xDC\x91\xA2ÒD\xD2-\xF1\x9E\xDD5us\xB9\x85i\xF8P\x80\xE6\xBC\xCA$\xC0\xBB\^\xE2Q\xB7\x95\xDACÍl2\xF4p \xEFf\xA8gzo\xE0\xBD\xAE52×#Â\xFBd=\xAC\xE6\xF3\xDDVUÏ\xA8\xEB\\xC8b\xA4\x81\xF7\xD3\xCB\xEBZ\xDF]z
+>\xA6\xE9\xD3\xC8\xF3Ñ\xE91e=\xA6\xA3\x81bu\x94\x89\xBB\xA50\x9E\xB6*,\xB5\xD2;*D(xZpV\xA1\xB7EW\xD7\xB7\xF8\xA8\x83\xFC\xEE\xF6\xD5
++\x8Dd?3?\xDD\xEEG$\x91c\xD9ÚQ\xE4I\x99\xFB^\xEE5\xD9\xA5\xBB\xE0\x80\xB5\xA3jeWu\x8A\x99\xE8Ý\xEEl:\xB9\xB3p\xE4"\xF5\x83D\x90\xF8a\xE6>\xDC\xCB0\xEF\xE7]a.-\xF4f\x9C\xE1\xECk\xD3È\xA2p\xFA\xA9\x8Bq\xCFÖ~.CPÕ\xEB\xD6*T\x98\xA1\xEF\xF3e\x94\xFD9ÓH\xAC&\xE4\xB7\xEC\xA2x\xEE\xA9Ý\xB3\xCCa\xDA5H\x9F'Ú\xF1,\xAA\xF0\xE3 \x84\xDF 
+/%\x95%\x9Dp9I#\x90%\x95ËÊ\xA4R\xC4\xD62\xF8\xBE\xB5\xF8.<Q\xA4\xDF<\xBB
..hidden..	!`\xFBÑÍ\xF6\x83\x8D!\x94\x84\xFE\xD4\xC3%\x81\xA8\xCB\xC8{i\x88X\x93]l"..hidden..[`\xEFÝ\x99[Å=7`J\xBDs/28\xC1+\x80\xA5\xC8n.\xD7Ù\xAE`\xEF\xB8\xD35Ô\xA6\xEC\xA4Y\x99\xA7~\x9Ae\x8Fh6\x9Ck\xDES\xEDV\x83\xF4V#Q \xFCD\xE4\x97\xA9\xEC\x96\xDC	\xA0\xA1\xE2\xFED\xB4Zo\x9C(	?dT\x87\xA6\xA7&m*w\x8CDpR\xC4;\x99\xAC\xDBÝ\xE3B*\xC1B3rY×\\xCC{{p\xE3p\xE8Q\x9A,\x9A\x8BLR\xAE\xD1\xFF\xC1`\xD2\xE5[\x99Nt\xD3\xED\xF1\xC8m[JK\xBEb2i\xC9K\x85\x8E\xB7\x9Ds\xEC\xB5Csg\xE3Z1\xE8\x84ZB\xB4htI\xBD\xFFt\xC3\xA2KO=\xB4\xD2	..hidden..|s\xE6\xA8\xE7Ø~\xB5Ô1\xFB\xA7\xD7\xD7\xC7\xE3Ýo\x86\xAD\xDFÑ\x97\xB8Ïf\xB8CU]\x86\x8E\xA6\xEBÙ\xDF\xE8v\xF8\xC0aK#\xAC\xB8,n\xA5 \xBD\xE7n\xF4\xEF(pÙ\x87\xD8\xF0\xFE\xD2%J]\xFE\x87;\x94~\xA2\xFD\xA10pwz\x92"\x9E\xDD'\x87q\xF4Öb\x91\xF0\xF4\xA6s\xFEÃw\xBC\xBB\xA9a_\xB7D!4\x99Çk\e\xA7x\xBD#\xB6ì\xC0$D\xBC\x88\xAA\xC4\xC4%a\x8F\x8EJx$E[9\x80\xAA\x8D%\\x8Câ\xAC\xD4\xF0D|\xE7\xDE\xE7g×\xC1\x82l\xE42\6r\xE5~p\xFE3DE\x94\xA6\xF6\xFB\xEE0\xEE\xC3\xE9BK\xA9\xF6n\xE65\xA7ZA>\xA9L\xEF\xB4P\xC3É9\xE0$\x84\xC9fÞ;\xD2Q\x85)\x85lX\x85\xC0\xB3W\xFB\xE2@ z\xB0\xA4!\xED\x83f6\x95\xA2#\xC65!\xCE\xD1\xE34;{F8)\xEEn\x90\xE0q\x86ä\xD2\xED\x89Z;\xBD\xDDÑ\xAE\x95\x9B\xB2\xD8\xEFk\xCD9\xE2\x97K\xBC&3\xBBd\xB7\xE5R\x98;\xF7Þ\x89\xB2\xC6j\xF9m\x99\x8FF*\xB3e#\xCD}	\x8EOW|\xD2\xF9HN\xFB%e\xD6\xD0-;\x80\xA7Ê\xA4\xE0}\x87\xED\x8Ez\x8D#Dg(\xB5=MCG\xC4I."..hidden..|\x8F \xC6C\xBCT;\xDAU\xAB&\xC0\x9Bt\xE9rNp7a\xA7Y\xF6s\xE16\xE69\xE7\xA2C\xBD\xDD9g=\xF5g~<hp\xB3\xECw\xE9,C\x91\xF8q\xFD\xFD\xBD\x94N\xAC\xC38\xF2S\xEB\xB2\xE7Y\x85\xE0\xAC\xE2\xA7~Ô\x95j,|\x8Dr\xE5;\xFB\xB8\x8B\x91\xC8\xB9\xB7\xC0{^i\xF3xVE\xBE%|\xA6\xAC\xE4\xD6B\xFA\xB1\xB1\x90\xA2\x84ßrÔH\xB7/\xF3|\xA6	\xF7\xD8\xE2$2|\xF4\xA7\xB6Üy\x8F-]\x8C<\xF4\xC3T~\x96\xF4G\xA2\x81ic\xE7h\x98ØX\xBDe!-\x96\x83\xFC\xF9*F\xACW\x81\xC9\xDAz$Ü^\xBE\xBD\xB6\xA0\x84	\xD6	\xE3;\xAF\x8A\x92?\xBE\xA1\xE7[\x9F\x9E/\xC7Ð\xDF\x9A=\xA7\xEA`r"\x9C\x9Bf\xE5\xE8\xAB{Ã\xCEGPL\x8C\xA7\xF6\x82\xE4Z(\x96	..hidden..	\xDB\xCA\xBA;\x80\xC7\xED\xE1!\x8AD\x9E\x8A\xACOA\x91(5\x8DFy\xF8*\xE50\xB3\x8DV\xA7)\xA4\x9D\xD9L\xA5\xE0Ë\xEE#\xCE)\x92~\x92%\x9FlN\x89\xACA\x81\xA7g\x9E\xB5\xDB;\xB7\xDAw\xD5Ku\xF5)8\x9AkÄ\x8E\xA4\xAD\xF7!u	\xEBb\xD0LNA\xE4~\xE0T\xC2`\xFE5,m\xF4g\x87\xD9m\xBB%\xF7\xFC\x99\xDA\xC7\xDF\xE1\x83\xE8\xA1Ð\xDE`w\xC3\xD0\xD6F\xB8 :\xBE\x9C\xE3"\xB1\xB6;\xB5\xCDJ\xC1qzPÉ\xB2\xB9\x84\xE92`\xCB|..hidden.."\x8A \x99\xF6\xB7\xAAU\x88\xDDw\x8FØ\xDD_z
+[\xF3\x90\xD6\xE5$|\xFD\xCD\xEA[\x87t\x87o\xFA\xF2\xA0\xF7\xC6\xD6R\xEF\xF5H \x86\x87\x8A\xB1\xAF\xB74\xAF\x82Ü\xAA\xA8P4\x9D\x8C\xFA}\xF6;]\xA2G\x8C\xC4XÂ\x81Q\x9CE\xDFÌ\x9E\xAD\xE6$\xB6D-\xAA\xE4$n&\x92r\xA5H\xA9>l\x89S\x93\xF9n3\xED\x95m\xED-OO9NT\xE1\xF5\xDF~\xD1S\x93jH\xFB\xE6\xC5\xD6\xFBG\xB1\x83\x80\xC2\xFB\xF2\xC5\xAEt\xDA
+uuY<e\xF4=\xF9tpTums\xD1\xAF\xE1Í\xA1\xB5\xE2#h
+\xA2f\x9Ed\x9F\xCBc]b\xBFfpn\xC5mq3PY\x9A\xEFA\xD7\xE7\xFFd\xD3 iWe\xDEf\xC7\xE5\xF60 É\x9A\xB5\x84|dR\xB3\xC6|\x91\x82\xE6.Å"\xDB%5R\x8A\x83\x83.\xC7t\xAA\xC7K\xE1N\xF8\x8B\xB1d\d\x85t}`\x8C?(\xC2\c=\x9C\xE7Z(\xBE\xB3\xF7ë\xE4/..hidden.."\xF0\x9E\xD5\xC7\xE2\x84Ú\xB1\x88\xB7A\xC6.\xC7\(\xB6\xE0\xE9\xBE\xD3%),Y2nÓ\xDDÑ\xAA\xEDÏR\xA46\x8B\xE3\xF3\xAC\xEC=\x98l\xBD\xC3y8\xB1"\xD1\xC1\xF2Z\xBCNÛÇ\x8E\xAA\xC7vL\xA6\xF0\xBE\xF0\x9CÜ]\x96\xC1\x830\xE92\x8A\xEF\xB0pl\xE6\xC0\xFA\x85\x83\xE6\xC9\xDE\xC0i>z/\xC0\x85R\xFA\xF6\xD5G\x82\xAAt	\xEE:\xE3\xE7\xECI\xB8\xF3\xA4\xAE:\xD6\xDF	!\xCFß\x84\x88\x88\xDB\xDALÊ$\x90>:C\xE4\xE9\xBF,\xB7\xA64v\xB13,..hidden..(=Î\x99\x9E\xFD\xA7;\x8AQ\xD4\xEB\xC2\xC1\xD94\xC5\xD4V\xE6\xD6\xF4\xE0*Õ\xEE\xB8v\xF55\x8D\x97mO\xDF\xEEr\xE9jt\xF2b\xFD\xFC\xC1\x89 \xE9,t\xA8 \x90S\xF4\xC6g\xD3M\x87\xFB\xE1n:\x83v\xD3N\x9D\xC0tuvên\xFB\xA1<\xD6y>..hidden..<_4ÓH\x9C\xD5Ns\x86\xE7\xB7O\xDE?	\xA1\xAC\xC2U\xFB\x81\xCCWyäF\x97Í_V\xC1
+\x84\xA46[-c\xB3
+\xD3\xC4O\x93\xDA\xF5\xEAÍ\x8F\xFF\xA1\x89!\xFE\xA6\xF4M=\xF63È\xB3\xD4\xCFb1\xF9'\x87eK\x81
..hidden..,ds}\xA3\xD4G
+\xE9Ny\xEB\xABu\x82\xE5T\xFB\x8F\x97]/\xBDx\xFE\xB0\xDDM\xEF\xF7e=x\,=W\xE9\xC6)\xF9\xFF\x80B?\x91\xD2\xFA\xB9,\xE3\x82D,\xE6z\xFE/\xF6bs9
 endstream
 endobj
 1408 0 obj <<
@@ -5557,15 +5551,24 @@
 /ProcSet [ /PDF /Text ]
 >> endobj
 1414 0 obj <<
-/Length 1387      
+/Length 1323      
 /Filter /FlateDecode
 >>
 stream
..hidden..<\xB4}\x90A6JA0\xCEu\xFF\xFA\xAE\xD8\x8Es\xBE\x9Bé\xD5j\xBF\xFD\xF9!3\xEF\xE01\xEF\xC3F\xBF7\xDB7\xBF\xFCÆ\x97\xE9:Z{Û\x97\xC2rÃu\xBA\xD2t\xE3ms\xEF\xFFN\x95\xCB\xC52b\xA1\xDF\xCA\xE0*W\xED"\xDC\xF82\xEB\xEA\xF6dE\x91/..hidden..)\x85\xEE\xE8HVM):\xBC\xF9\x85x$Õ\x94WY\xDD(\x99/\xFE\xDA~\xF4\x96\xE1*HW+\xF8
-\x834\x8E12a\xEFÆ\x9FË\xE8\xCB7\xA5Ð^$\xEE\xA6(\xB0\xDD\xD1\xC4r$\xBD\x87\x93\x95,\x96\x9C'\xFEg\xA1OOt+z\x94\x91YwÝJ\xA2\xC5\xC1\xBAs\x96Z\xFD\xC9bv,TV\xE0v'Øq\xB1yDhw\x93\xF8\xEDÂ\xDE\xE3\xEFx\xF4I\xE6\xD9>|\xBE\xB1\xDB\xF5\x80k\xB5"\x84 ..hidden..\xA6/\xB40\x8B\xD6p+\xB4\xB1\xE9\xCDg\xC1\xAC)\x97\xFB\xB76jF-\xAA\xF3\xA5\xC0\x8C\xB0YÕ\x9F!\xA85X\xCB\xD0åy\x8Al\x9BP\x94!\xB4\xFEn\xBEX\x86\x8C1\xFF\xF7\xE6Ð\x9C\xCC\xDC\xD3KC\xA6cb\xDD\xC0\x8E\xEE+l\xC7q\xB6\x9E\xE6\xD6nm\xDA8K\xFC\xAD\xE6\x8F\x96ÂO\xBA\xCBn\xC7T\xDA;\xBA\xEEP\x8AB\xD0\xCBl4\xCBU\x92\xFA\xDBB\x99)\xC2ZØ\x83\x86<\xA2\xDDm4x\xF7Qj\xB25"\xF7\xCD\xF2R\xCA'\xC1\x9B\xACUMG	\xEC\xD4\xD5\xE1Q\xB6\xC7VuJ(\xDDdG\x84\xF9\xD5h!\xEF\xDBQ\x85t\xEB\xBE5\xB4Z\xD3\xCAz\xD3Õ\xFA\xF7G\xED1AC\xBDKC\xFC%ËQ\xB5eyZ\x84a\xE8\xDB$\xAF\x98_\xD4G|\x98\xCDABdÂ\xC8\xCFE'pUÕ,q9\xC1#\xEE\xDBÎBR;\x8A\xCAi}\xA1\xDDbk\xBB$>+\xAC\x95\xD7\xF8a6?\xA7\xA3\xD2EIåÉ\xC3r(..hidden..;\xB9W\x90\xED\xCE]\x80\x92uybdy\x89u\xCB\xB7ol\xAAC\x8E\xA3j%\x98%XH\xE0Kp\xA8F\x9C\x8D\xC3Îh\xFCD\xEA\xE6Demd]\xCF\xCE.\xE3\xCEv(\xC9\x82\x91\xFF(Ó\x8E\x82o/E\xE2\x88e\xA4\xA2n\xB8\x9F\xAB\xEE'\xCDI\xBB\xDA\xF5\xFF\xDF\xF2\xBC\xE7\x87Ö0\xD1*àc"\xBE
-\x80,\x89\x89R\xE2\xA1w{\xA7\xBB\xB6\xCE\xFB\x8C\xAA;\xC1\xAD\xDF~\xBA;\xA3\xC5/eNG\xD0Þ\xE9+\x8A\x82\x84E\x8Al2Ì\x9C\x89\xA6)\x95\x9B\xEAP\xF7uY\xBA\x9E\x82\xED\xBDl\xCB)o\x98_-\xEE\xF8\xD2Â;Y\xE9\x85!\xAA\xA0)\xCF\xF5\xA7s$a'..hidden..
-\xBE\xB7\xC0\xFA\x95%\xB8g\xF0\x96d`\x82,r_\xFF\xE6
-j\x94\xC0\x8C\x8E\xA8\xEF2\xA0.\xDDQ>\xEE\xC5I\xECJ\xCA\xC5v\x912\xDF~\xCAÄ>R\x9A\xAA\xF0U6uÛg$,t\x90\x9A>\xF0\xBE\xE6d\x84\xD0=\x9D\xFC*3\xA9\xFF_?n\x96\xC8\xDD\xD5D\xA6<.\x9C\x8F7\xA2s_\xED{\xC7x\xCFB\xE2\xEDd&\xAEA\xAEa\xA8"y[\x88\xB6\x9Bsæ\xEF+SW\xAE\xB7{\x8D	rK].[#c\xC2Féd\xD5z7\x99\xFB\xB6z>Ftwã^\xFA\x84\xAF\\x8C\xA4\x96\xAD X|\x87\xCC\xCB:/\xF6G ..hidden..<2\x99\xA5F\xBDh2xG\xD1\xBDV\x99\x9CM\x86Ì\xAA\xBE\xE5\x8E?\xE9^/B\xCC}3\xAF\xCD\xCAÄ\x87B5\xCD\xD4-#Jw\xF6r\xAF\xA6\xA3Z}]\xAD>\xD6;W%\xF3\xF4Îu\xAA\x92A\xFEJW\xDC7V^\xE7]\x9E&Î/\x88\xE5\xBA\xF9\xAD\x8A\xD7g\x98\x8D|\xD7\xDFcc~\x87\xCF\xE1+h\xDBa\x99Äã\x95>\xE3\xA6(\xFA\xD57É\xC2ms\x9D7<u\xB0\xB2?\xFFw\xB4$\xCD\xF9$X\xD3\xDB\xE4\xB6&y\xF8\x82\xFC\xFC\xBF\xD1\xCA=.ÆU\xFB,K\xE5\xDEV\xEF\xEE\xE9\xE1rT%Ñ\x8E\x90d\xF7\xB2\xC5E>\x84sF\xBB`)\x98\x85\xEEEa\xA4\xB6\xF1\xC2(`I\x82\xBE\xC4|\xA6\xF4~\xFB\xE6?\xB1of
+xÚWKs\xDB6\xBE\xFBW\xE8H\xCDD,\x9F\x92Ø\xEDI3\xF2$O\xACNm	..hidden..,\xFB\xFC\xF0f\x87Y0\xFBp\xD0\xF7f{\xF5\xCBoq<\xCB\xFCl-g\xDB\xFDl\x9D\xFAA\x9CÍ\xD9\xD2Ï\xF5l[\xCC\xFE\xF0\xFE\xD2\xE0\xA9y9_\xC4\xC1\xD2\xDBq\xD6)3\y\xBA\xE4(kXM#\xB9\xC7/-\xAD\xBC\x8F\xBC8\xF0\xEE\xE1\xD3
+\xCA{\xC5;\xA3
+FC\xBEHV\x99\xF7u\x9E\xA6\x9EÐh\xDCV\xA1pT\x88n\xAE=\x9Ek\xD9\xD1C	\xAE\xD7r<S\xFDn\xBCAp5\xFFk{\x89.\xC2\xD0\xCF\xD2\xB3\xD9ÃE\x9C\xAC=ÝFUL\xF3\x82\xE6\xBCn\xCDT\xBD\x83\xF9*\xF6d\xC3q\x81vdg\xB6 \xAAXs\xE8ÙrtjLAJ\xCB \xF56{\xB2Y\x92
+j\xFC\xD3s5\xF8\xDB\xC8\xEF\xB8f\xDFF\xEA\xF39\xF4MaFi0\xAE\xAF\x99>\x89\xAA\xC2\xD3ÆÆ\x96\xF4uIÓ\xA4\x81M\xD6L&+5s\xA2\xBD\xAC
..hidden..'c\xB8\xF6\xE3\xF9"\x82\xC0\xFB\xBD=t\xAC {\xA5z\xEC\xCC	\xF4L\x8Ek\x98%\xB8\xFFk\xC9	'\xBE\xAD\x9A:\xC4Q\xF0\x8CÅ\x8F8fe\xEBi\xA5(\xBD\xDC\xF6\xCC\xC0p;\xC0n\x80W\xE2\xD0\xD8~\xBBm\xB4\xB8\xF7\x917zu\xC0v\xBB8×Q\xF2*\xEF\x84k\xC9\xDEÚ55\xE0\x91wO\x9DÐ9\xA0 /&	l\x82\xB3P\xF4Ý2\xF4(\x97}\xA7\'\xF7$ë\xB5\xF8\xFE\xA3\xF6P \xDB\xC6Y\x98\xF8Y\x92P\xC8K\xF9s\x9E3%dÃ\xEA8\xC3\xD03EN\xAF\x94O\x90\xB8Å\x95\x84\x94|y\xD3G\xB5,x\x85\xC3!\x898\x8A-\xB4\x8C\x90Ô\xD8\xE5\x8E[\x8C>kÜWd\x98<Ä\xC6\xB9\xC4/\xA4\xD9\xDAD\x93L\xA8\xF8-\x94\x8B\x8A\xA7^\xCE;\x8Dx\x8E\xA1\xCD
+\x9C\xEC\x9Ai\xC8\xD37
+L	sFq\xB4\x86]2\x8DÛ\x98B\x91\x82j\x96\xFBWw|?\x90\x92\x91\xB3Æ;\x80\x92	yd\xE4,j\xAC\xE58a\xA7)u\xE8	$X%p`M\xDE95r\xC3a\xA7\x87!\xF4vG\xB2 \xDB#9)+\x80\x91	=?Ù3\x83P\x92\x97\xE4\x86\xFF+\x94\x85\xF8Þ\xCB\xC4\xD0\xE7\x84cl\xFCf\xC0\xA1\xCE)m\xD5\xEC\xEFS\xC6Bh\x8D\x98(\xF1\xE3d\xE9\x98(N\xFChM`3\xE2\xA1kr\xBBit'\x8B>\xA7\xEE\x8E\xE9\xD1Y\xBF\xFD\xB8q\xA4G\xD1\xAE
+Zx\x9F\xA7\xAF(\xF2WA\x84N\x91M\xEC\x99\xE7#G\xACm+\xE1N\xF5^\x81a+\x87)\x98\xDE\xF3\xAE\xF3\x86\xFA\xD5\xF8no\x9B\xF64\xA8zH\xB76\xAB\xFD\xB6:\xD5\xFE*LaÅ?\xE1f".\xFA\xC4\xB8\x97jCp/\xF8[\x90\x81E\xB2\x88z\xCD\xDA^\xA3\x9C\xD1\xC1\xEBu\xD4\xD5h\xAA\xC7=;\xB2]E\xB5\xD8Î\xC03\xB7\xB3\xE5#\xD6P\xBE\xF0VvZ\xBD \xF9\x9AØ\xD7Æ S?\xF4\x9C
+\xF2Ïx\xFC\xE3Dw'\x81vw\xB1\x90\x99O(\xE3
+ÓCm\xE3\xBD\xE8wOJ\x93\xB3K.\x97p\xA8"\xE7\xF2\xB6d\x9D\x9E\xDE9\xD3J\x99w\xA3\x92\xB5\xC3v\xDF`\x81\xE8\xDD"
+u\xB9j
+\x8Cy\xEE\xC2È\x89nt\xCC\xF2\xE51\xDCI\x8E\x87\xEAr\xEBWq\xE2r\xFC\xC0Þj\xFCÒ\xB6u\xDA\xEC; \xD0Æ\xBF\x969^\xEA\xBB\xF15	P\xE4\x97L\xFC%\x9Cq
+pÓw\x88}\xE3C\x9C\xDAgE\xF5\xB2g42A\x9Cx\xD5É\xFD4\x8AFÞ\xC8\xF9\xE4d\xF0\xE2\xB9\xFB[\xE1\xF8S\x90\xEEå\x8BiU\xD4[\xAB2\x8A\xEB\xA1m;K\xB1Ê\xBD>\xAAq\xC5(\xAAoo\xEBÕÜ.\xA9\xE7w\x9E	H\x8B\x9A\xE7x\x8A7\x86BÍ\xFC2\xEF\xC6\xD9Ê\xF2}94\xBF\xAA\xB8}\x92~\xCB\xDF\xC4\xF5\xF7\xCCop\xBE\x9D\xB6[\xF5\x8A\xFC\xD6C~\xF7R4'\xDC\xF4M\xBF\x98\xE2\xFA$Å\xBDL\x89k\xF8_&\xB7#\xB2?\xFD;Z\x90&\xFE#%\xEEe\xE2\x87\xF46\xB9\x95\xF6$\xDB\xE4\xE7\xFFF\xB1{\\xFF\xBA\xF6YTÂ\xAD\xAE\xEF7\xA7?\x82;ZB\x92\xDD\xF3\xC5\xF4\xC2\xD4	\xED\x82%\x92\xFA,
+S?3\xC0\xEE?/\x8D'J\xEF\xB7W\xFF\xBA`?\x8D
 endstream
 endobj
 1413 0 obj <<
@@ -5579,13 +5582,13 @@
 /D [1413 0 R /XYZ 85.039 731.867 null]
 >> endobj
 718 0 obj <<
-/D [1413 0 R /XYZ 85.039 643.138 null]
+/D [1413 0 R /XYZ 85.039 655.093 null]
 >> endobj
 722 0 obj <<
-/D [1413 0 R /XYZ 85.039 534.097 null]
+/D [1413 0 R /XYZ 85.039 546.052 null]
 >> endobj
 726 0 obj <<
-/D [1413 0 R /XYZ 85.039 197.331 null]
+/D [1413 0 R /XYZ 85.039 209.286 null]
 >> endobj
 1412 0 obj <<
 /Font << /F33 936 0 R /F37 939 0 R >>
@@ -9268,8 +9271,8 @@
 >> endobj
 1609 0 obj <<
 /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.3)/Keywords()
-/CreationDate (D:20110924120550-07'00')
-/ModDate (D:20110924120550-07'00')
+/CreationDate (D:20111113004132-08'00')
+/ModDate (D:20111113004132-08'00')
 /Trapped /False
 /PTEX.Fullbanner (This is pdfTeX using libpoppler, Version 3.141592-1.40.3-2.2 (Web2C 7.5.6) kpathsea version 3.5.6)
 >> endobj
@@ -9281,1615 +9284,1615 @@
 0000000004 00000 f 
 0000000000 00000 f 
 0000000015 00000 n 
-0000074008 00000 n 
-0000333615 00000 n 
+0000074012 00000 n 
+0000333525 00000 n 
 0000000057 00000 n 
 0000000109 00000 n 
-0000074068 00000 n 
-0000333506 00000 n 
+0000074072 00000 n 
+0000333416 00000 n 
 0000000154 00000 n 
 0000000198 00000 n 
-0000074129 00000 n 
-0000333432 00000 n 
+0000074133 00000 n 
+0000333342 00000 n 
 0000000249 00000 n 
 0000000285 00000 n 
-0000074190 00000 n 
-0000333308 00000 n 
+0000074194 00000 n 
+0000333218 00000 n 
 0000000336 00000 n 
 0000000368 00000 n 
-0000074251 00000 n 
-0000333234 00000 n 
+0000074255 00000 n 
+0000333144 00000 n 
 0000000424 00000 n 
 0000000466 00000 n 
-0000074312 00000 n 
-0000333160 00000 n 
+0000074316 00000 n 
+0000333070 00000 n 
 0000000522 00000 n 
 0000000553 00000 n 
-0000077661 00000 n 
-0000333073 00000 n 
+0000077665 00000 n 
+0000332983 00000 n 
 0000000604 00000 n 
 0000000647 00000 n 
-0000077721 00000 n 
-0000332999 00000 n 
+0000077725 00000 n 
+0000332909 00000 n 
 0000000698 00000 n 
 0000000749 00000 n 
-0000080278 00000 n 
-0000332876 00000 n 
+0000080282 00000 n 
+0000332786 00000 n 
 0000000795 00000 n 
 0000000861 00000 n 
-0000080339 00000 n 
-0000332802 00000 n 
+0000080343 00000 n 
+0000332712 00000 n 
 0000000912 00000 n 
 0000000953 00000 n 
-0000082982 00000 n 
-0000332715 00000 n 
+0000082986 00000 n 
+0000332625 00000 n 
 0000001004 00000 n 
 0000001043 00000 n 
-0000083043 00000 n 
-0000332604 00000 n 
+0000083047 00000 n 
+0000332514 00000 n 
 0000001094 00000 n 
 0000001124 00000 n 
-0000083104 00000 n 
-0000332543 00000 n 
+0000083108 00000 n 
+0000332453 00000 n 
 0000001180 00000 n 
 0000001212 00000 n 
-0000092185 00000 n 
-0000332420 00000 n 
+0000092189 00000 n 
+0000332330 00000 n 
 0000001258 00000 n 
 0000001295 00000 n 
-0000094419 00000 n 
-0000332346 00000 n 
+0000094423 00000 n 
+0000332256 00000 n 
 0000001346 00000 n 
 0000001374 00000 n 
-0000094480 00000 n 
-0000332259 00000 n 
+0000094484 00000 n 
+0000332169 00000 n 
 0000001425 00000 n 
 0000001456 00000 n 
-0000094541 00000 n 
-0000332172 00000 n 
+0000094545 00000 n 
+0000332082 00000 n 
 0000001507 00000 n 
 0000001539 00000 n 
-0000094602 00000 n 
-0000332098 00000 n 
+0000094606 00000 n 
+0000332008 00000 n 
 0000001590 00000 n 
 0000001614 00000 n 
-0000094663 00000 n 
-0000331973 00000 n 
+0000094667 00000 n 
+0000331883 00000 n 
 0000001660 00000 n 
 0000001696 00000 n 
-0000094724 00000 n 
-0000331860 00000 n 
+0000094728 00000 n 
+0000331770 00000 n 
 0000001747 00000 n 
 0000001806 00000 n 
-0000094785 00000 n 
-0000331786 00000 n 
+0000094789 00000 n 
+0000331696 00000 n 
 0000001862 00000 n 
 0000001896 00000 n 
-0000094846 00000 n 
-0000331699 00000 n 
+0000094850 00000 n 
+0000331609 00000 n 
 0000001952 00000 n 
 0000001983 00000 n 
-0000097795 00000 n 
-0000331612 00000 n 
+0000097799 00000 n 
+0000331522 00000 n 
 0000002039 00000 n 
 0000002066 00000 n 
-0000097855 00000 n 
-0000331523 00000 n 
+0000097859 00000 n 
+0000331433 00000 n 
 0000002122 00000 n 
 0000002160 00000 n 
-0000101109 00000 n 
-0000331432 00000 n 
+0000101113 00000 n 
+0000331342 00000 n 
 0000002217 00000 n 
 0000002244 00000 n 
-0000101171 00000 n 
-0000331340 00000 n 
+0000101175 00000 n 
+0000331250 00000 n 
 0000002301 00000 n 
 0000002341 00000 n 
-0000105720 00000 n 
-0000331262 00000 n 
+0000105724 00000 n 
+0000331172 00000 n 
 0000002398 00000 n 
 0000002428 00000 n 
-0000105782 00000 n 
-0000331171 00000 n 
+0000105786 00000 n 
+0000331081 00000 n 
 0000002480 00000 n 
 0000002540 00000 n 
-0000108220 00000 n 
-0000331079 00000 n 
+0000108224 00000 n 
+0000330989 00000 n 
 0000002592 00000 n 
 0000002637 00000 n 
-0000108282 00000 n 
-0000331001 00000 n 
+0000108286 00000 n 
+0000330911 00000 n 
 0000002689 00000 n 
 0000002750 00000 n 
-0000108344 00000 n 
-0000330872 00000 n 
+0000108348 00000 n 
+0000330782 00000 n 
 0000002797 00000 n 
 0000002831 00000 n 
-0000108406 00000 n 
-0000330754 00000 n 
+0000108410 00000 n 
+0000330664 00000 n 
 0000002883 00000 n 
 0000002935 00000 n 
-0000108467 00000 n 
-0000330675 00000 n 
+0000108471 00000 n 
+0000330585 00000 n 
 0000002992 00000 n 
 0000003038 00000 n 
-0000108529 00000 n 
-0000330582 00000 n 
+0000108533 00000 n 
+0000330492 00000 n 
 0000003095 00000 n 
 0000003141 00000 n 
-0000108591 00000 n 
-0000330489 00000 n 
+0000108595 00000 n 
+0000330399 00000 n 
 0000003198 00000 n 
 0000003239 00000 n 
-0000111316 00000 n 
-0000330396 00000 n 
+0000111320 00000 n 
+0000330306 00000 n 
 0000003296 00000 n 
 0000003330 00000 n 
-0000111378 00000 n 
-0000330317 00000 n 
+0000111382 00000 n 
+0000330227 00000 n 
 0000003387 00000 n 
 0000003424 00000 n 
-0000111440 00000 n 
-0000330185 00000 n 
+0000111444 00000 n 
+0000330095 00000 n 
 0000003476 00000 n 
 0000003509 00000 n 
-0000111502 00000 n 
-0000330106 00000 n 
+0000111506 00000 n 
+0000330016 00000 n 
 0000003566 00000 n 
 0000003617 00000 n 
-0000114062 00000 n 
-0000330013 00000 n 
+0000114066 00000 n 
+0000329923 00000 n 
 0000003674 00000 n 
 0000003712 00000 n 
-0000114124 00000 n 
-0000329934 00000 n 
+0000114128 00000 n 
+0000329844 00000 n 
 0000003769 00000 n 
 0000003801 00000 n 
-0000114186 00000 n 
-0000329802 00000 n 
+0000114190 00000 n 
+0000329712 00000 n 
 0000003853 00000 n 
 0000003884 00000 n 
-0000114248 00000 n 
-0000329737 00000 n 
+0000114252 00000 n 
+0000329647 00000 n 
 0000003941 00000 n 
 0000003983 00000 n 
-0000114310 00000 n 
-0000329644 00000 n 
+0000114314 00000 n 
+0000329554 00000 n 
 0000004035 00000 n 
 0000004065 00000 n 
-0000114372 00000 n 
-0000329551 00000 n 
+0000114376 00000 n 
+0000329461 00000 n 
 0000004117 00000 n 
 0000004146 00000 n 
-0000114433 00000 n 
-0000329458 00000 n 
+0000114437 00000 n 
+0000329368 00000 n 
 0000004198 00000 n 
 0000004237 00000 n 
-0000117571 00000 n 
-0000329326 00000 n 
+0000117575 00000 n 
+0000329236 00000 n 
 0000004289 00000 n 
 0000004314 00000 n 
-0000117633 00000 n 
-0000329247 00000 n 
+0000117637 00000 n 
+0000329157 00000 n 
 0000004371 00000 n 
 0000004395 00000 n 
-0000117695 00000 n 
-0000329154 00000 n 
+0000117699 00000 n 
+0000329064 00000 n 
 0000004452 00000 n 
 0000004475 00000 n 
-0000117757 00000 n 
-0000329061 00000 n 
+0000117761 00000 n 
+0000328971 00000 n 
 0000004532 00000 n 
 0000004580 00000 n 
-0000117819 00000 n 
-0000328982 00000 n 
+0000117823 00000 n 
+0000328892 00000 n 
 0000004637 00000 n 
 0000004665 00000 n 
-0000117881 00000 n 
-0000328903 00000 n 
+0000117885 00000 n 
+0000328813 00000 n 
 0000004717 00000 n 
 0000004767 00000 n 
-0000120210 00000 n 
-0000328772 00000 n 
+0000120214 00000 n 
+0000328682 00000 n 
 0000004814 00000 n 
 0000004852 00000 n 
-0000120272 00000 n 
-0000328693 00000 n 
+0000120276 00000 n 
+0000328603 00000 n 
 0000004904 00000 n 
 0000004935 00000 n 
-0000120334 00000 n 
-0000328600 00000 n 
+0000120338 00000 n 
+0000328510 00000 n 
 0000004987 00000 n 
 0000005023 00000 n 
-0000120396 00000 n 
-0000328507 00000 n 
+0000120400 00000 n 
+0000328417 00000 n 
 0000005075 00000 n 
 0000005106 00000 n 
-0000120458 00000 n 
-0000328414 00000 n 
+0000120462 00000 n 
+0000328324 00000 n 
 0000005158 00000 n 
 0000005184 00000 n 
-0000122664 00000 n 
-0000328321 00000 n 
+0000122668 00000 n 
+0000328231 00000 n 
 0000005236 00000 n 
 0000005270 00000 n 
-0000122726 00000 n 
-0000328189 00000 n 
+0000122730 00000 n 
+0000328099 00000 n 
 0000005322 00000 n 
 0000005350 00000 n 
-0000122788 00000 n 
-0000328124 00000 n 
+0000122792 00000 n 
+0000328034 00000 n 
 0000005407 00000 n 
 0000005461 00000 n 
-0000122850 00000 n 
-0000328031 00000 n 
+0000122854 00000 n 
+0000327941 00000 n 
 0000005513 00000 n 
 0000005538 00000 n 
-0000122912 00000 n 
-0000327899 00000 n 
+0000122916 00000 n 
+0000327809 00000 n 
 0000005590 00000 n 
 0000005638 00000 n 
-0000122974 00000 n 
-0000327834 00000 n 
+0000122978 00000 n 
+0000327744 00000 n 
 0000005695 00000 n 
 0000005734 00000 n 
-0000123035 00000 n 
-0000327702 00000 n 
+0000123039 00000 n 
+0000327612 00000 n 
 0000005786 00000 n 
 0000005815 00000 n 
-0000123097 00000 n 
-0000327623 00000 n 
+0000123101 00000 n 
+0000327533 00000 n 
 0000005872 00000 n 
 0000005919 00000 n 
-0000125447 00000 n 
-0000327530 00000 n 
+0000125451 00000 n 
+0000327440 00000 n 
 0000005976 00000 n 
 0000006008 00000 n 
-0000125509 00000 n 
-0000327437 00000 n 
+0000125513 00000 n 
+0000327347 00000 n 
 0000006065 00000 n 
 0000006103 00000 n 
-0000125571 00000 n 
-0000327344 00000 n 
+0000125575 00000 n 
+0000327254 00000 n 
 0000006160 00000 n 
 0000006190 00000 n 
-0000125633 00000 n 
-0000327265 00000 n 
+0000125637 00000 n 
+0000327175 00000 n 
 0000006247 00000 n 
 0000006289 00000 n 
-0000125695 00000 n 
-0000327172 00000 n 
+0000125699 00000 n 
+0000327082 00000 n 
 0000006342 00000 n 
 0000006374 00000 n 
-0000125755 00000 n 
-0000327093 00000 n 
+0000125759 00000 n 
+0000327003 00000 n 
 0000006427 00000 n 
 0000006480 00000 n 
-0000125817 00000 n 
-0000326963 00000 n 
+0000125821 00000 n 
+0000326873 00000 n 
 0000006527 00000 n 
 0000006567 00000 n 
-0000128447 00000 n 
-0000326884 00000 n 
+0000128451 00000 n 
+0000326794 00000 n 
 0000006619 00000 n 
 0000006659 00000 n 
-0000128509 00000 n 
-0000326805 00000 n 
+0000128513 00000 n 
+0000326715 00000 n 
 0000006711 00000 n 
 0000006737 00000 n 
-0000128571 00000 n 
-0000326675 00000 n 
+0000128575 00000 n 
+0000326585 00000 n 
 0000006784 00000 n 
 0000006806 00000 n 
-0000128633 00000 n 
-0000326596 00000 n 
+0000128637 00000 n 
+0000326506 00000 n 
 0000006858 00000 n 
 0000006895 00000 n 
-0000128695 00000 n 
-0000326503 00000 n 
+0000128699 00000 n 
+0000326413 00000 n 
 0000006947 00000 n 
 0000006974 00000 n 
-0000128757 00000 n 
-0000326410 00000 n 
+0000128761 00000 n 
+0000326320 00000 n 
 0000007026 00000 n 
 0000007061 00000 n 
-0000131475 00000 n 
-0000326278 00000 n 
+0000131479 00000 n 
+0000326188 00000 n 
 0000007113 00000 n 
 0000007144 00000 n 
-0000131537 00000 n 
-0000326213 00000 n 
+0000131541 00000 n 
+0000326123 00000 n 
 0000007201 00000 n 
 0000007245 00000 n 
-0000131599 00000 n 
-0000326081 00000 n 
+0000131603 00000 n 
+0000325991 00000 n 
 0000007297 00000 n 
 0000007348 00000 n 
-0000131661 00000 n 
-0000326016 00000 n 
+0000131665 00000 n 
+0000325926 00000 n 
 0000007405 00000 n 
 0000007451 00000 n 
-0000131723 00000 n 
-0000325884 00000 n 
+0000131727 00000 n 
+0000325794 00000 n 
 0000007503 00000 n 
 0000007552 00000 n 
-0000131784 00000 n 
-0000325805 00000 n 
+0000131788 00000 n 
+0000325715 00000 n 
 0000007609 00000 n 
 0000007648 00000 n 
-0000133770 00000 n 
-0000325712 00000 n 
+0000133774 00000 n 
+0000325622 00000 n 
 0000007705 00000 n 
 0000007743 00000 n 
-0000133832 00000 n 
-0000325619 00000 n 
+0000133836 00000 n 
+0000325529 00000 n 
 0000007800 00000 n 
 0000007835 00000 n 
-0000133894 00000 n 
-0000325540 00000 n 
+0000133898 00000 n 
+0000325450 00000 n 
 0000007892 00000 n 
 0000007943 00000 n 
-0000133956 00000 n 
-0000325422 00000 n 
+0000133960 00000 n 
+0000325332 00000 n 
 0000007995 00000 n 
 0000008031 00000 n 
-0000134017 00000 n 
-0000325343 00000 n 
+0000134021 00000 n 
+0000325253 00000 n 
 0000008088 00000 n 
 0000008121 00000 n 
-0000134079 00000 n 
-0000325264 00000 n 
+0000134083 00000 n 
+0000325174 00000 n 
 0000008178 00000 n 
 0000008212 00000 n 
-0000134141 00000 n 
-0000325134 00000 n 
+0000134145 00000 n 
+0000325044 00000 n 
 0000008259 00000 n 
 0000008281 00000 n 
-0000134203 00000 n 
-0000325016 00000 n 
+0000134207 00000 n 
+0000324926 00000 n 
 0000008333 00000 n 
 0000008362 00000 n 
-0000136398 00000 n 
-0000324951 00000 n 
+0000136402 00000 n 
+0000324861 00000 n 
 0000008419 00000 n 
 0000008460 00000 n 
-0000136460 00000 n 
-0000324858 00000 n 
+0000136464 00000 n 
+0000324768 00000 n 
 0000008512 00000 n 
 0000008547 00000 n 
-0000136522 00000 n 
-0000324765 00000 n 
+0000136526 00000 n 
+0000324675 00000 n 
 0000008599 00000 n 
 0000008630 00000 n 
-0000136584 00000 n 
-0000324633 00000 n 
+0000136588 00000 n 
+0000324543 00000 n 
 0000008682 00000 n 
 0000008714 00000 n 
-0000136646 00000 n 
-0000324568 00000 n 
+0000136650 00000 n 
+0000324478 00000 n 
 0000008771 00000 n 
 0000008827 00000 n 
-0000136708 00000 n 
-0000324436 00000 n 
+0000136712 00000 n 
+0000324346 00000 n 
 0000008879 00000 n 
 0000008923 00000 n 
-0000136770 00000 n 
-0000324357 00000 n 
+0000136774 00000 n 
+0000324267 00000 n 
 0000008980 00000 n 
 0000009022 00000 n 
-0000136832 00000 n 
-0000324278 00000 n 
+0000136836 00000 n 
+0000324188 00000 n 
 0000009079 00000 n 
 0000009114 00000 n 
-0000138672 00000 n 
-0000324199 00000 n 
+0000138676 00000 n 
+0000324109 00000 n 
 0000009166 00000 n 
 0000009204 00000 n 
-0000138734 00000 n 
-0000324069 00000 n 
+0000138738 00000 n 
+0000323979 00000 n 
 0000009252 00000 n 
 0000009280 00000 n 
-0000138796 00000 n 
-0000323990 00000 n 
+0000138800 00000 n 
+0000323900 00000 n 
 0000009333 00000 n 
 0000009367 00000 n 
-0000138858 00000 n 
-0000323897 00000 n 
+0000138862 00000 n 
+0000323807 00000 n 
 0000009420 00000 n 
 0000009449 00000 n 
-0000138919 00000 n 
-0000323804 00000 n 
+0000138923 00000 n 
+0000323714 00000 n 
 0000009502 00000 n 
 0000009543 00000 n 
-0000138981 00000 n 
-0000323672 00000 n 
+0000138985 00000 n 
+0000323582 00000 n 
 0000009596 00000 n 
 0000009625 00000 n 
-0000139042 00000 n 
-0000323593 00000 n 
+0000139046 00000 n 
+0000323503 00000 n 
 0000009683 00000 n 
 0000009721 00000 n 
-0000139104 00000 n 
-0000323500 00000 n 
+0000139108 00000 n 
+0000323410 00000 n 
 0000009779 00000 n 
 0000009828 00000 n 
-0000139166 00000 n 
-0000323421 00000 n 
+0000139170 00000 n 
+0000323331 00000 n 
 0000009886 00000 n 
 0000009922 00000 n 
-0000139228 00000 n 
-0000323342 00000 n 
+0000139232 00000 n 
+0000323252 00000 n 
 0000009975 00000 n 
 0000010027 00000 n 
-0000141745 00000 n 
-0000323211 00000 n 
+0000141749 00000 n 
+0000323121 00000 n 
 0000010075 00000 n 
 0000010126 00000 n 
-0000141807 00000 n 
-0000323132 00000 n 
+0000141811 00000 n 
+0000323042 00000 n 
 0000010179 00000 n 
 0000010211 00000 n 
-0000141869 00000 n 
-0000323039 00000 n 
+0000141873 00000 n 
+0000322949 00000 n 
 0000010264 00000 n 
 0000010294 00000 n 
-0000141931 00000 n 
-0000322946 00000 n 
+0000141935 00000 n 
+0000322856 00000 n 
 0000010347 00000 n 
 0000010375 00000 n 
-0000141993 00000 n 
-0000322814 00000 n 
+0000141997 00000 n 
+0000322724 00000 n 
 0000010428 00000 n 
 0000010460 00000 n 
-0000142055 00000 n 
-0000322735 00000 n 
+0000142059 00000 n 
+0000322645 00000 n 
 0000010518 00000 n 
 0000010553 00000 n 
-0000142117 00000 n 
-0000322642 00000 n 
+0000142121 00000 n 
+0000322552 00000 n 
 0000010611 00000 n 
 0000010655 00000 n 
-0000142179 00000 n 
-0000322563 00000 n 
+0000142183 00000 n 
+0000322473 00000 n 
 0000010713 00000 n 
 0000010759 00000 n 
-0000144019 00000 n 
-0000322470 00000 n 
+0000144023 00000 n 
+0000322380 00000 n 
 0000010812 00000 n 
 0000010862 00000 n 
-0000144081 00000 n 
-0000322377 00000 n 
+0000144085 00000 n 
+0000322287 00000 n 
 0000010915 00000 n 
 0000010950 00000 n 
-0000144143 00000 n 
-0000322284 00000 n 
+0000144147 00000 n 
+0000322194 00000 n 
 0000011003 00000 n 
 0000011032 00000 n 
-0000144205 00000 n 
-0000322152 00000 n 
+0000144209 00000 n 
+0000322062 00000 n 
 0000011085 00000 n 
 0000011117 00000 n 
-0000144267 00000 n 
-0000322073 00000 n 
+0000144271 00000 n 
+0000321983 00000 n 
 0000011175 00000 n 
 0000011258 00000 n 
-0000148151 00000 n 
-0000321980 00000 n 
+0000148155 00000 n 
+0000321890 00000 n 
 0000011316 00000 n 
 0000011395 00000 n 
-0000148213 00000 n 
-0000321901 00000 n 
+0000148217 00000 n 
+0000321811 00000 n 
 0000011453 00000 n 
 0000011503 00000 n 
-0000148274 00000 n 
-0000321769 00000 n 
+0000148278 00000 n 
+0000321679 00000 n 
 0000011556 00000 n 
 0000011604 00000 n 
-0000148336 00000 n 
-0000321690 00000 n 
+0000148340 00000 n 
+0000321600 00000 n 
 0000011662 00000 n 
 0000011692 00000 n 
-0000152733 00000 n 
-0000321611 00000 n 
+0000152737 00000 n 
+0000321521 00000 n 
 0000011750 00000 n 
 0000011783 00000 n 
-0000152795 00000 n 
-0000321518 00000 n 
+0000152799 00000 n 
+0000321428 00000 n 
 0000011837 00000 n 
 0000011866 00000 n 
-0000152857 00000 n 
-0000321439 00000 n 
+0000152861 00000 n 
+0000321349 00000 n 
 0000011920 00000 n 
 0000011998 00000 n 
-0000152919 00000 n 
-0000321309 00000 n 
+0000152923 00000 n 
+0000321219 00000 n 
 0000012046 00000 n 
 0000012078 00000 n 
-0000152981 00000 n 
-0000321205 00000 n 
+0000152985 00000 n 
+0000321115 00000 n 
 0000012131 00000 n 
 0000012173 00000 n 
-0000153043 00000 n 
-0000321126 00000 n 
+0000153047 00000 n 
+0000321036 00000 n 
 0000012231 00000 n 
 0000012284 00000 n 
-0000155856 00000 n 
-0000321033 00000 n 
+0000155860 00000 n 
+0000320943 00000 n 
 0000012342 00000 n 
 0000012375 00000 n 
-0000155918 00000 n 
-0000320940 00000 n 
+0000155922 00000 n 
+0000320850 00000 n 
 0000012433 00000 n 
 0000012465 00000 n 
-0000155980 00000 n 
-0000320847 00000 n 
+0000155984 00000 n 
+0000320757 00000 n 
 0000012523 00000 n 
 0000012551 00000 n 
-0000156042 00000 n 
-0000320754 00000 n 
+0000156046 00000 n 
+0000320664 00000 n 
 0000012609 00000 n 
 0000012643 00000 n 
-0000156104 00000 n 
-0000320675 00000 n 
+0000156108 00000 n 
+0000320585 00000 n 
 0000012701 00000 n 
 0000012751 00000 n 
-0000158776 00000 n 
-0000320584 00000 n 
+0000158780 00000 n 
+0000320494 00000 n 
 0000012799 00000 n 
 0000012821 00000 n 
-0000158838 00000 n 
-0000320454 00000 n 
+0000158842 00000 n 
+0000320364 00000 n 
 0000012869 00000 n 
 0000012892 00000 n 
-0000158900 00000 n 
-0000320375 00000 n 
+0000158904 00000 n 
+0000320285 00000 n 
 0000012945 00000 n 
 0000012977 00000 n 
-0000158962 00000 n 
-0000320282 00000 n 
+0000158966 00000 n 
+0000320192 00000 n 
 0000013030 00000 n 
 0000013078 00000 n 
-0000159024 00000 n 
-0000320189 00000 n 
+0000159028 00000 n 
+0000320099 00000 n 
 0000013131 00000 n 
 0000013167 00000 n 
-0000161959 00000 n 
-0000320071 00000 n 
+0000161963 00000 n 
+0000319981 00000 n 
 0000013220 00000 n 
 0000013247 00000 n 
-0000162021 00000 n 
-0000319992 00000 n 
+0000162025 00000 n 
+0000319902 00000 n 
 0000013305 00000 n 
 0000013338 00000 n 
-0000162083 00000 n 
-0000319913 00000 n 
+0000162087 00000 n 
+0000319823 00000 n 
 0000013396 00000 n 
 0000013424 00000 n 
-0000162145 00000 n 
-0000319783 00000 n 
+0000162149 00000 n 
+0000319693 00000 n 
 0000013472 00000 n 
 0000013506 00000 n 
-0000162207 00000 n 
-0000319665 00000 n 
+0000162211 00000 n 
+0000319575 00000 n 
 0000013559 00000 n 
 0000013588 00000 n 
-0000162268 00000 n 
-0000319586 00000 n 
+0000162272 00000 n 
+0000319496 00000 n 
 0000013646 00000 n 
 0000013707 00000 n 
-0000162330 00000 n 
-0000319493 00000 n 
+0000162334 00000 n 
+0000319403 00000 n 
 0000013765 00000 n 
 0000013815 00000 n 
-0000165092 00000 n 
-0000319414 00000 n 
+0000165096 00000 n 
+0000319324 00000 n 
 0000013873 00000 n 
 0000013912 00000 n 
-0000165154 00000 n 
-0000319321 00000 n 
+0000165158 00000 n 
+0000319231 00000 n 
 0000013965 00000 n 
 0000013998 00000 n 
-0000168595 00000 n 
-0000319228 00000 n 
+0000168599 00000 n 
+0000319138 00000 n 
 0000014051 00000 n 
 0000014086 00000 n 
-0000168657 00000 n 
-0000319135 00000 n 
+0000168661 00000 n 
+0000319045 00000 n 
 0000014139 00000 n 
 0000014186 00000 n 
-0000168782 00000 n 
-0000319003 00000 n 
+0000168786 00000 n 
+0000318913 00000 n 
 0000014239 00000 n 
 0000014273 00000 n 
-0000171681 00000 n 
-0000318938 00000 n 
+0000171685 00000 n 
+0000318848 00000 n 
 0000014331 00000 n 
 0000014370 00000 n 
-0000171743 00000 n 
-0000318820 00000 n 
+0000171747 00000 n 
+0000318730 00000 n 
 0000014423 00000 n 
 0000014450 00000 n 
-0000171805 00000 n 
-0000318755 00000 n 
+0000171809 00000 n 
+0000318665 00000 n 
 0000014508 00000 n 
 0000014566 00000 n 
-0000171867 00000 n 
-0000318664 00000 n 
+0000171871 00000 n 
+0000318574 00000 n 
 0000014614 00000 n 
 0000014656 00000 n 
-0000174762 00000 n 
-0000318534 00000 n 
+0000174766 00000 n 
+0000318444 00000 n 
 0000014704 00000 n 
 0000014756 00000 n 
-0000174824 00000 n 
-0000318455 00000 n 
+0000174828 00000 n 
+0000318365 00000 n 
 0000014809 00000 n 
 0000014850 00000 n 
-0000174886 00000 n 
-0000318362 00000 n 
+0000174890 00000 n 
+0000318272 00000 n 
 0000014903 00000 n 
 0000014969 00000 n 
-0000174948 00000 n 
-0000318230 00000 n 
+0000174952 00000 n 
+0000318140 00000 n 
 0000015022 00000 n 
 0000015055 00000 n 
-0000175010 00000 n 
-0000318151 00000 n 
+0000175014 00000 n 
+0000318061 00000 n 
 0000015113 00000 n 
 0000015176 00000 n 
-0000175071 00000 n 
-0000318058 00000 n 
+0000175075 00000 n 
+0000317968 00000 n 
 0000015234 00000 n 
 0000015286 00000 n 
-0000175133 00000 n 
-0000317965 00000 n 
+0000175137 00000 n 
+0000317875 00000 n 
 0000015344 00000 n 
 0000015406 00000 n 
-0000177641 00000 n 
-0000317872 00000 n 
+0000177645 00000 n 
+0000317782 00000 n 
 0000015464 00000 n 
 0000015530 00000 n 
-0000177703 00000 n 
-0000317793 00000 n 
+0000177707 00000 n 
+0000317703 00000 n 
 0000015588 00000 n 
 0000015647 00000 n 
-0000177765 00000 n 
-0000317661 00000 n 
+0000177769 00000 n 
+0000317571 00000 n 
 0000015700 00000 n 
 0000015736 00000 n 
-0000177827 00000 n 
-0000317596 00000 n 
+0000177831 00000 n 
+0000317506 00000 n 
 0000015794 00000 n 
 0000015841 00000 n 
-0000180451 00000 n 
-0000317503 00000 n 
+0000180455 00000 n 
+0000317413 00000 n 
 0000015894 00000 n 
 0000015927 00000 n 
-0000180513 00000 n 
-0000317410 00000 n 
+0000180517 00000 n 
+0000317320 00000 n 
 0000015980 00000 n 
 0000016042 00000 n 
-0000180575 00000 n 
-0000317331 00000 n 
+0000180579 00000 n 
+0000317241 00000 n 
 0000016095 00000 n 
 0000016144 00000 n 
-0000180637 00000 n 
-0000317201 00000 n 
+0000180641 00000 n 
+0000317111 00000 n 
 0000016192 00000 n 
 0000016231 00000 n 
-0000184812 00000 n 
-0000317083 00000 n 
+0000184786 00000 n 
+0000316993 00000 n 
 0000016289 00000 n 
 0000016324 00000 n 
-0000184874 00000 n 
-0000317018 00000 n 
+0000184848 00000 n 
+0000316928 00000 n 
 0000016382 00000 n 
 0000016440 00000 n 
-0000184936 00000 n 
-0000316925 00000 n 
+0000184910 00000 n 
+0000316835 00000 n 
 0000016493 00000 n 
 0000016530 00000 n 
-0000184998 00000 n 
-0000316832 00000 n 
+0000184972 00000 n 
+0000316742 00000 n 
 0000016583 00000 n 
 0000016641 00000 n 
-0000186870 00000 n 
-0000316753 00000 n 
+0000186780 00000 n 
+0000316663 00000 n 
 0000016694 00000 n 
 0000016728 00000 n 
-0000186932 00000 n 
-0000316637 00000 n 
+0000186842 00000 n 
+0000316547 00000 n 
 0000016776 00000 n 
 0000016835 00000 n 
-0000186994 00000 n 
-0000316558 00000 n 
+0000186904 00000 n 
+0000316468 00000 n 
 0000016888 00000 n 
 0000016919 00000 n 
-0000188899 00000 n 
-0000316465 00000 n 
+0000188809 00000 n 
+0000316375 00000 n 
 0000016972 00000 n 
 0000017005 00000 n 
-0000188961 00000 n 
-0000316333 00000 n 
+0000188871 00000 n 
+0000316243 00000 n 
 0000017058 00000 n 
 0000017113 00000 n 
-0000191129 00000 n 
-0000316268 00000 n 
+0000191039 00000 n 
+0000316178 00000 n 
 0000017171 00000 n 
 0000017208 00000 n 
-0000193363 00000 n 
-0000316150 00000 n 
+0000193273 00000 n 
+0000316060 00000 n 
 0000017261 00000 n 
 0000017317 00000 n 
-0000193425 00000 n 
-0000316085 00000 n 
+0000193335 00000 n 
+0000315995 00000 n 
 0000017375 00000 n 
 0000017412 00000 n 
-0000198230 00000 n 
-0000315954 00000 n 
+0000198140 00000 n 
+0000315864 00000 n 
 0000017456 00000 n 
 0000017497 00000 n 
-0000198292 00000 n 
-0000315836 00000 n 
+0000198202 00000 n 
+0000315746 00000 n 
 0000017545 00000 n 
 0000017583 00000 n 
-0000198354 00000 n 
-0000315757 00000 n 
+0000198264 00000 n 
+0000315667 00000 n 
 0000017636 00000 n 
 0000017674 00000 n 
-0000201791 00000 n 
-0000315639 00000 n 
+0000201701 00000 n 
+0000315549 00000 n 
 0000017727 00000 n 
 0000017764 00000 n 
-0000201853 00000 n 
-0000315560 00000 n 
+0000201763 00000 n 
+0000315470 00000 n 
 0000017822 00000 n 
 0000017864 00000 n 
-0000201915 00000 n 
-0000315467 00000 n 

@@ Diff output truncated at 100000 characters. @@
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.