web/wp-content/plugins/exec-php/docs/readme-de_DE.html
author Anthony Ly <anthonyly.com@gmail.com>
Tue, 12 Mar 2013 18:21:39 +0100
changeset 206 919b4ddb13fa
parent 136 bde1974c263b
permissions -rw-r--r--
modification logo footer cccb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
136
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     2
<html xmlns="http://www.w3.org/1999/xhtml">
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     3
<head>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     4
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     5
<meta name="robots" content="noindex">
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     6
<title>Bluesome - Exec-PHP Plugin für WordPress</title>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     7
</head>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     8
<body>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     9
<h1>Bluesome</h1>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    10
<h2>Exec-PHP plugin für WordPress</h2>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    11
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    12
<!-- start of content -->
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    13
<h3>Wozu ist dieses Plugin gut?</h3>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    14
<p>Das Exec-PHP Plugin führt <code>&lt;?php ?&gt;</code> Code in deinen Beiträgen, Seiten und Text-Widgets aus.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    15
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    16
<h3>Mach schnell. Wo kann ich das Plugin runterladen?</h3>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    17
<p class="marker centered"><a style="font-size: 1.5em;" href="http://bluesome.net/data/2005/08/exec-php.zip">Download Exec-PHP 4.9 hier!</a></p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    18
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    19
<h3>Warum ist hier soviel Text?</h3>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    20
<p>Ich hasse coole Plugins, die schlecht dokumentiert sind. Selbst das kleinste Stück Code benötigt ein wenig Dokumentation. Der folgende Text ist ziemlich ausführlich. Überspringe einfach die Kapitel, die dich nicht interessieren. Wenn du Fragen zum Plugin hast, vergewissere dich, dass du die neuste Version benutzt und die Frage noch nicht auf dieser Seite oder in den <a href="http://bluesome.net/post/2005/08/18/50/#comments-50">Kommentaren der Plugin Homepage</a> beantwortet sind. Dann - und nur dann - <a href="http://bluesome.net/post/2005/08/18/50/#response-50">stell deine Frage hier</a>.</p><!--more-->
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    21
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    22
<h3 id="toc">Inhaltsverzeichnis</h3>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    23
<ol>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    24
	<li><a href="#introduction">Einleitung</a>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    25
		<ol>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    26
			<li><a href="#motivation">Motivation</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    27
			<li><a href="#features">Features</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    28
			<li><a href="#concepts">Die Arbeitsweise von Exec-PHP</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    29
			<li><a href="#difference">Unterschiede zu ähnlichen Plugins</a>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    30
				<ol>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    31
					<li><a href="#sniplets">Sniplets</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    32
					<li><a href="#runphp_somerville">RunPHP 0.2.2 (Mark Somerville)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    33
					<li><a href="#runphp_vanlommel">RunPHP 2.1.1 (James Van Lommel)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    34
					<li><a href="#php_exec">PHP Exec 1.7</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    35
					<li><a href="#ezstatic_3">EzStatic 3</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    36
					<li><a href="#other_plugins">Andere Plugins</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    37
				</ol>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    38
			</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    39
		</ol>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    40
	</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    41
	<li><a href="#installation">Installation</a>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    42
		<ol>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    43
			<li><a href="#requirements">Anforderungen</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    44
			<li><a href="#install">Installation des Plugin</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    45
			<li><a href="#upgrade">Upgrade einer alten Version</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    46
			<li><a href="#upgrade_from_2_0">Upgrade von Version 2.0 oder niedriger</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    47
			<li><a href="#upgrade_to_4_2">Upgrade auf Version 4.2 oder höher</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    48
			<li><a href="#deactivation">Deaktivierung des Plugin</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    49
			<li><a href="#uninstall">Deinstallation des Plugin</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    50
			<li><a href="#translation">Exec-PHP in deiner Sprache</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    51
			<li><a href="#translating">Exec-PHP übersetzen</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    52
		</ol>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    53
	</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    54
	<li><a href="#usage">Benutzung</a>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    55
		<ol>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    56
			<li><a href="#execute_php">Ausführen von PHP Code</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    57
			<li><a href="#configuration">Konfiguration</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    58
			<li><a href="#misconfiguration">Fehlkonfiguration</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    59
			<li><a href="#basic_test">Ein erster Test</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    60
			<li><a href="#tag_balancing">WordPress' XHTML Tag-Balancing</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    61
			<li><a href="#wysiwyg_editor">Schreiben von PHP Code im WYSIWYG Editor</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    62
			<li><a href="#allow_writing">Zulassen des Schreibens von PHP Code in Artikeln</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    63
			<li><a href="#allow_execution">Zulassen des Ausführens von PHP Code in Artikeln</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    64
			<li><a href="#allow_widget">Zulassen von PHP Code in Text-Widgets</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    65
			<li><a href="#wp_configuration">Überblick über Tätigkeiten und ihre benötigte WordPress Konfiguration</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    66
			<li><a href="#security">Blogsicherheit</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    67
			<li><a href="#security_holes">Sicherheitsloch</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    68
		</ol>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    69
	</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    70
	<li><a href="#troubleshooting">Fehlerbehebung</a>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    71
		<ol>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    72
			<li><a href="#incompatibilities">Inkompatibilitäten mit anderen Plugins oder Themes</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    73
			<li><a href="#limitations">Limitierungen</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    74
			<li><a href="#bugs">Bugs melden</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    75
			<li><a href="#tests">Tests um die Funktionalität des Plugins sicherzustellen</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    76
			<li><a href="#faq">FAQ - Frequently asked questions</a>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    77
				<ol>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    78
					<li><a href="#generallybroken">Warum funktioniert Exec-PHP nicht, wie es hier beschrieben wurde?</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    79
					<li><a href="#brokentag">Warum zerstört mir WordPress meine <code>&lt;?php ?&gt;</code> Tags nach dem Speichern des Artikels?</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    80
					<li><a href="#evalerror">Warum schlägt das Plugin mit einem <code>eval()</code> Fehler fehl, wenn es meinen Code ausführt?</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    81
					<li><a href="#printcode">Wie kann ich einfach nur PHP Code anzeigen, anstatt ihn auszuführen?</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    82
					<li><a href="#already_defined">Warum erzeugt mein Newsfeed Parse-Fehler?</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    83
					<li><a href="#globals">Warum erzeugt meine includierte Datei Parse-Fehler?</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    84
					<li><a href="#wordpressmu">Funktioniert das Plugin in WordPress MU?</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    85
					<li><a href="#create_site">Wie wird die Plugin Homepage erstellt?</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    86
				</ol>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    87
			</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    88
		</ol>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    89
	</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    90
	<li><a href="#past_present_future">Vergangenheit, Gegenwart und Zukunft</a>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    91
		<ol>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    92
			<li><a href="#new_versions">Neue Versionen</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    93
			<li><a href="#history">Historie alter Versionen</a>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    94
				<ol>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    95
					<li><a href="#version_4_9">Version 4.9 (2009-01-07)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    96
					<li><a href="#version_4_8">Version 4.8 (2008-07-05)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    97
					<li><a href="#version_4_7">Version 4.7 (2008-05-05)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    98
					<li><a href="#version_4_6">Version 4.6 (2008-04-06)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    99
					<li><a href="#version_4_5">Version 4.5 (2008-03-24)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   100
					<li><a href="#version_4_4">Version 4.4 (2008-01-29)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   101
					<li><a href="#version_4_3">Version 4.3 (2007-12-11)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   102
					<li><a href="#version_4_2">Version 4.2 (2007-11-03)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   103
					<li><a href="#version_4_1">Version 4.1 (2007-10-27)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   104
					<li><a href="#version_4_0">Version 4.0 (2007-10-25)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   105
					<li><a href="#version_3_4">Version 3.4 (2007-10-08)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   106
					<li><a href="#version_3_3">Version 3.3 (2007-08-11)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   107
					<li><a href="#version_3_2">Version 3.2 (2007-02-10)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   108
					<li><a href="#version_3_1">Version 3.1 (2007-02-09)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   109
					<li><a href="#version_3_0">Version 3.0 (2006-08-06)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   110
					<li><a href="#version_2_0">Version 2.0 (2005-12-22)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   111
					<li><a href="#version_1_2">Version 1.2 (2005-12-04)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   112
					<li><a href="#version_1_1">Version 1.1 (2005-08-19)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   113
					<li><a href="#version_1_0">Version 1.0 (2005-08-18)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   114
				</ol>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   115
			</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   116
			<li><a href="#roadmap">Roadmap</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   117
		</ol>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   118
	</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   119
</ol>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   120
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   121
<h3 id="introduction">Einleitung</h3>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   122
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   123
<h4 id="motivation">Motivation</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   124
<p>Als ich 2005 auf der Suche nach einem PHP Plugin für WordPress war, gab es kein Plugin, dass es mir erlaubte, den Code so zu schreiben, wie ich es gewohnt war. Zum Beispiel verlangten einige Plugins, dass der Code in XHTML Tags wie <code>&lt;phpcode&gt; &lt;/phpcode&gt;</code> gekapselt wurde. Das wich von der üblichen Schreibweise für PHP Code ab, bei der einfach nur <code>&lt;?php ?&gt;</code> verwendet wird. Einige Plugins führten den Code erst aus, nachdem WordPress einige Filter wie zum Beispiel 'texturize' darauf angewendet hatten. Somit wurde auch der Code mit 'texturiert', was die Plugins dann wieder für den Codeteil des Artikels rückgängig machen mussten. Für komplexeren Code kann das auf Grund von Mehrdeutigkeiten nicht korrekt ausgeführt werden, was dann zu Parse-Fehlern führt obwohl der Code syntaktisch korrekt ist.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   125
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   126
<h4 id="features">Features</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   127
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   128
	<li><a href="#execute_php">Führt <code>&lt;?php ?&gt;</code> Code in der Kurzfassung und den Texten deiner Beiträge und Seiten aus</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   129
	<li><a href="#allow_widget">Konfigurierbare Ausführung von PHP Code in Text-Widgets (für WordPress 2.2 oder höher)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   130
	<li><a href="#basic_test">Schreibe PHP Code in gewohnter Syntax, also <code>&lt;?php ... ?&gt;</code></a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   131
	<li><a href="#execute_php">Funktioniert in Newsfeeds</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   132
	<li><a href="#configuration">Informationen über Benutzer, die PHP Code mit den aktuellen Sicherheitseinstellungen schreiben dürfen (für WordPress 2.1 oder höher)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   133
	<li><a href="#execute_php">Konfigurierbare Warnungen pro Benutzer um auf ungünstige Blog- und Benutzereinstellung hinzuweisen (für WordPress 2.1 oder höher)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   134
	<li><a href="#wp_configuration">Beschränkbare Ausführung von PHP Code in Beiträgen und Seiten auf bestimmte Benutzer mittels Rollen und Befugnissen</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   135
	<li><a href="http://wordpress.org/extend/plugins/exec-php/">Updatebenachrichtigungen durch das 'Plugins' Menu von WordPress, wenn eine neue Exec-PHP Version verfügbar ist (für WordPress 2.3 oder höher)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   136
	<li><a href="#translation">Lokalisierungssupport (englisch und deutsch enthalten, viele andere verfügbar)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   137
	<li><a href="#toc">Kommt mit Dokumentation</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   138
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   139
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   140
<h4 id="concepts">Die Arbeitsweise von Exec-PHP</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   141
<p>Technisch betrachtet, führt Exec-PHP PHP Code in beliebigem Text dadurch aus, dass es den gesamten Text in <code>?&gt; &lt;?php</code> Tags kapselt und ihn and die PHP Funktion <a href="http://de.php.net/manual/en/function.eval.php"><code>eval()</code></a> übergibt. Das setzt allerdings voraus, dass der auszuführende PHP Code wiederum innerhalb von <code>&lt;?php ?&gt;</code> Tags gekapselt ist. Durch diese Arbeitsweise muss der Text nicht vom Plugin nach vorhandenen Codestücken geparst werden.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   142
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   143
<h4 id="difference">Unterschiede zu ähnlichen Plugins</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   144
<p>Es gibt jede Menge andere PHP Plugins, die alle ein wenig anders funktionieren. Die nachfolgende Liste wurde Anfang 2007 erstellt und ist nicht vollständig und vermutlich veraltet, da einige Plugins mittlerweile aktualisiert wurden. Dementsprechend ist neben dem Pluginnamen auch die Versionsnummer angegeben.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   145
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   146
<h5 id="sniplets">Sniplets</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   147
<p>Das <a href="http://urbangiraffe.com/plugins/sniplets/">Sniplets</a> Plugin von John Godley sieht nach der besten Alternative zu Exec-PHP aus. Obwohl es schwerer zu konfigurieren ist, erhältst du dadurch eine höhere Sicherheit auf Grund der Arbeitsweise des Plugins.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   148
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   149
<h5 id="runphp_somerville">RunPHP 0.2.2 (Mark Somerville)</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   150
<p>Das <a href="http://mark.scottishclimbs.com/2004/7/2/running-php-in-wordpress-posts/">RunPHP</a> Plugin von Mark Somerville benutzt XHTML Tag-Syntax um Code innerhalb von HTML auszuzeichnen. Es versucht mittels Konvertierung texturierten Code wieder in seine Ursprungsform zu wandeln und unterstützt nicht die Rollen und Befugnisse von WordPress 2.x.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   151
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   152
<h5 id="runphp_vanlommel">RunPHP 2.1.1 (James Van Lommel)</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   153
<p>Das <a href="http://www.nosq.com/blog/2006/01/runphp-plugin-for-WordPress/">RunPHP</a> Plugin von James Van Lommel erzeugt Parse-Fehler mit den meisten der <a href="#tests">unten stehenden Tests</a>.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   154
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   155
<h5 id="php_exec">PHP Exec 1.7</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   156
<p>Das <a href="http://priyadi.net/archives/2005/03/02/WordPress-php-exec-plugin/">PHP Exec</a> Plugin von Priyadi Iman Nurcahyo benutzt XHTML Tag-Syntax um Code innerhalb von HTML auszuzeichnen. Es versucht mittels Konvertierung texturierten Code wieder in seine Ursprungsform zu wandeln.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   157
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   158
<h5 id="ezstatic_3">EzStatic 3</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   159
<p>Das <a href="http://redalt.com/wiki/EzStatic3">EzStatic 3</a> Plugin von Owen Winkler scheitert an Test #16 (<a href="#tests">siehe unten</a>).</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   160
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   161
<h5 id="other_plugins">Andere Plugins</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   162
<p>Heutzutage gibt es eine unerschöpfliche Fülle ähnlicher Plugins, die ich nicht mehr alle beschreiben kann. Wenn in Exec-PHP ein Feature fehlen sollte, dann schaue dich einfach mal in einer der WordPress Plugin Datenbanken um oder <a href="http://bluesome.net/post/2005/08/18/50/#response-50">frag nach, ob ich es implementiere</a>.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   163
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   164
<h3 id="installation">Installation</h3>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   165
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   166
<h4 id="requirements">Anforderungen</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   167
<p>Du brauchst die folgende Software auf deinem Webserver um das Exec-PHP Plugin benutzen zu können:</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   168
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   169
	<li><a href="http://WordPress.org">Eine lauffähige Installation von WordPress 2.0.11 oder höher</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   170
	<li><a href="http://bluesome.net/data/2005/08/exec-php.zip">Das Exec-PHP Plugin</a> ;-)</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   171
	<li><a href="http://im-web-gefunden.de/wordpress-plugins/role-manager/">Optional: Das Role Manager Plugin von Thomas Schneider</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   172
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   173
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   174
<h4 id="install">Installation des Plugin</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   175
<p>Falls du jemals ein WordPress Plugin installiert hast, wird die Installation ziemlich einfach für dich sein:</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   176
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   177
	<li><a href="http://bluesome.net/data/2005/08/exec-php.zip">Lade das Exec-PHP Plugin Archiv runter und extrahiere die Dateien</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   178
	<li>Kopiere das entstandene <code>exec-php</code> Verzeichnis nach <code>/wp-content/plugins/</code></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   179
	<li>Aktiviere das Plugin im 'Plugins' Menu von WordPress</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   180
	<li><a href="#execute_php">Konfiguriere Blog- und Benutzereinstellungen, falls erforderlich (nach einer Neuinstallation kann erstmal nur der Administrator PHP Code ausführen)</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   181
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   182
<p>Fertig. Der Rest ist selbsterklärend. ;-)</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   183
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   184
<h4 id="upgrade">Upgrade einer alten Version</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   185
<p>Sofern nicht anders angegeben kannst du von einer früheren Version des Plugins upgraden indem du das Plugin <a href="#uninstall">deinstallierst</a> und anschließend der <a href="#install">Installationsanleitung</a> folgst. Beachte, dass das Upgrade automatisch Einstellungen der älteren Plugin Version migriert. Aus diesem Grund ist ein Downgraden auf die vorherige Version des Plugins nicht möglich.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   186
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   187
<h4 id="upgrade_from_2_0">Upgrade von Version 2.0 oder niedriger</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   188
<p>Da sich das Verzeichnislayout geändert hat, musst du die alte Datei <code>exec-php.php</code> aus deinem<code>/wp-content/plugins/</code> Verzeichnis manuell entfernen. Folge danach der <a href="#install">Installationsanweisung</a>. Falls du die alternativen Tags <code>[?php ?]</code> oder das alte PHP-Tagformat <code>&lt; ?php ?&gt;</code> (beachte das Leerzeichen) oder <code>&lt;? ?&gt;</code> benutzt hast, must du sämtliche dieser Tags in das Format <code>&lt;?php ?&gt;</code> migrieren. Du kannst das entweder manuell machen oder du benutzt das <a href="http://thedeadone.net/software/search-and-replace-wordpress-plugin/">Search and Replace</a> Plugin. Seit Exec-PHP Version 3.1 wird eine automatische Migration nicht mehr unterstützt.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   189
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   190
<h4 id="upgrade_to_4_2">Upgrade auf Version 4.2 oder höher</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   191
<p>Abhängig von deiner zuvor installierten Exec-PHP Version bekommst du nach der Migration möglicherweise eine Sicherheitswarnung im Admin Menu. <a href="#security_holes">Lese diesen Absatz um das Problem zu beheben</a>.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   192
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   193
<h4 id="deactivation">Deaktivierung des Plugin</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   194
<p>Die Deaktivierung des Plugins wird höchstwahrscheinlich sämtliche deiner Artikel und Widgets mit PHP Code fehlerhaft anzeigen und wird vermutlich deinen PHP Code im Klartext deinen Lesern zeigen. Aus diesem Grund sollte dein PHP Code keine sensiblen Inhalte wie zum Beispiel Passwörter enthalten.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   195
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   196
<h4 id="uninstall">Deinstallation des Plugin</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   197
<p>Um das Plugin zu deinstallieren, lösche einfach das <code>exec-php</code> Verzeichnis aus dem <code>/wp-content/plugins/</code> Verzeichnis. Du brauchst das Plugin zuvor im WordPress Admin Menu noch nicht mal zu deaktivieren. <a href="#deactivation">Lese diesen Absatz</a> falls du wissen willst, was mit deinem PHP Code in diesem Fall passiert.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   198
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   199
<h4 id="translation">Exec-PHP in deiner Sprache</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   200
<p>Zur Zeit sind die englische und deutsche Übersetzung im Exec-PHP Archiv enthalten. Weitere Übersetzungen für die aktuelle Version sind für folgende Sprachen verfügbar:</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   201
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   202
	<li>Englisch (Default, ist im Exec-PHP Archiv enthalten)</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   203
	<li>Deutsch (ist im Exec-PHP Archiv enthalten)</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   204
	<li><a href="http://liseweb.fr/BLOG/?page_id=160">Französisch</a> (Dank an <a href="http://liseweb.fr/">Lise</a>)</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   205
	<li><a href="http://gidibao.net/index.php/2008/05/07/exec-php-in-italiano/">Italienisch</a> (Dank an <a href="http://gidibao.net/">Gianni</a>)</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   206
	<li><a href="http://dimox.name/exec-php-russian-translation/">Russisch</a> (Dank an <a href="http://dimox.name/">Dimox</a>)</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   207
	<li><a href="http://dcabai.blogspot.com/2008/04/exec-php-en-espaol.html">Spanisch</a> (Dank an <a href="http://www.cabai.com.ar/">Diego</a>)</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   208
	<li><a href="http://www.wordthai.com/index.php?topic=34.0">Thai</a> (Dank an <a href="http://www.wordthai.com/index.php?action=profile;u=1">kazama</a>)</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   209
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   210
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   211
<h4 id="translating">Exec-PHP übersetzen</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   212
<p>Falls du Exec-PHP in einer Sprache haben möchtest, die nicht hier enthalten ist, lade das Exec-PHP Archiv herunter und benutze ein Tool wie <a href="http://www.poedit.net/">poedit</a> um die Datei <code>languages/exec-php.pot</code> zu übersetzen. Wenn du ganz fleißig bist, kannst du auch noch die <code>readme.html</code> Datei übersetzen. Falls das zuviel ist, übersetze einfach die <code>readme-generic.html</code> Datei. Speichere die Readme Datei unter dem Namen <code>readme-&lt;locale&gt;.html</code> ab und packe das Ganze dann zu einem Zip Archiv <code>exec-php-&lt;locale&gt;.zip</code> zusammen. <code>&lt;locale&gt;</code> steht hierbei für die Kurzform deiner Sprache. Für die deutsche Übersetzung wäre dies 'de_DE'. Das entstehende Archiv würde dementsprechend <code>exec-php-de_DE.zip</code> heißen. Das Archiv sollte nicht mehr als die folgenden Dateien enthalten:</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   213
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   214
	<li><code>exec-php/docs/readme-&lt;locale&gt;.html</code></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   215
	<li><code>exec-php/docs/screenshot-1-&lt;locale&gt;.png</code> (optional)</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   216
	<li><code>exec-php/docs/screenshot-2-&lt;locale&gt;.png</code> (optional)</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   217
	<li><code>exec-php/docs/screenshot-3-&lt;locale&gt;.png</code> (optional)</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   218
	<li><code>exec-php/languages/exec-php-&lt;locale&gt;.mo</code></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   219
	<li><code>exec-php/languages/exec-php-&lt;locale&gt;.po</code> (optional)</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   220
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   221
<p>Stelle das Zip Archiv auf deiner Seite zum Download bereit und schreibe danach einen <a href="http://bluesome.net/post/2005/08/18/50/#comments-50">Kommentar</a> auf die Plugin Homepage damit du in den Credits verlinkt wirst.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   222
<p>Sofern du auch noch für ältere Exec-PHP Versionen die Zip Archive zum Download anbieten möchtest, verlinke diese ebenfalls auf deiner Seite unter dem Namen <code>exec-php-&lt;locale&gt;.&lt;version&gt;.zip</code>. Also z.B. <code>exec-php.de_DE.4.2.zip</code> für die deutsche Lokalisierung von Exec-PHP 4.2.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   223
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   224
<h3 id="usage">Benutzung</h3>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   225
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   226
<h4 id="execute_php">Ausführen von PHP Code</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   227
<p>Mit Exec-PHP kannst du PHP Code in der Kurzfassung und dem Text deiner Beiträge und Seiten (im Folgenden Artikel genannt), als auch in Text-Widgets ausführen. Um Code auszuführen, kannst du diesen wie gewohnt, in <code>&lt;?php ?&gt;</code> Tags gekapselt, eintippen.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   228
Um Code in Artikeln oder Text-Widgets auszuführen, musst du eventuell deine Blog- und Benutzereinstellungen ändern. Um Code in Artikeln erfolgreich auszuführen, stelle die folgenden Punkte sicher:</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   229
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   230
	<li><a href="#tag_balancing">Schalte das Tag-Balancing im 'Einstellungen &gt; Schreiben' Menu von WordPress mit der Option 'WordPress soll falsch verschachteltes XHTML automatisch korrigieren' ab</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   231
	<li><a href="#wysiwyg_editor">Schalte den WYSIWYG Editor im den Benutzereinstellungen im Menu 'Benutzer &gt; Dein Profil' ab</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   232
	<li><a href="#allow_writing">Weise dem Benutzer die Befugnis 'unfiltered_html' zu</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   233
	<li><a href="#allow_execution">Weise dem Benutzer die Befugnis 'exec_php' zu</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   234
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   235
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   236
<h4 id="configuration">Konfiguration</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   237
<p>Das Plugin hat ein eigenes Konfigurationsmenu unter 'Einstellungen &gt; Exec-PHP'. Das Konfigurationsmenu wird nur für Benutzer angezeigt, die die 'edit_plugins' Befugnis haben. Diese ist üblicherweise nur den Administratoren zugewiesen. Wenn du Javascript in deinem Browser abgeschaltet hast oder du Exec-PHP mit WordPress 2.0.x laufen lässt, so wirst du gar keine oder nur Teile des Konfigurationsmenus sehen.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   238
<p>Das Konfigurationsmenu ist in zwei Abschnitte unterteilt, dem Einstellungsabschnitt und dem Sicherheitsinformationsabschnitt. Im Einstellungsabschnitt kann <a href="#allow_widget">das Plugin konfiguriert</a> werden, während im Informatiosabschnitt angezeigt wird, <a href="#security_holes">welche Benutzer berechtigt sind, PHP Code auszuführen</a>.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   239
<p><a href="../docs/screenshot-1-de_DE.png"><img src="../docs/screenshot-1-de_DE.png" alt="Das Exec-PHP Konfigurationsmenu" /></a></p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   240
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   241
<h4 id="misconfiguration">Fehlkonfiguration</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   242
<p>Wenn die Blog- oder Benutzereinstellungen nicht korrekt sind, um PHP Code zu schreiben, so wird eine Warnung im 'Schreiben' oder 'Widgets' Menu angezeigt.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   243
<p><a href="../docs/screenshot-2-de_DE.png"><img src="../docs/screenshot-2-de_DE.png" alt="Eine Exec-PHP Warnung im 'Schreiben' Menu" /></a></p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   244
<p>Die WYSIWYG Konvertierungswarnung kann im Menu 'Benutzer &gt; Dein Profil' abgeschaltet werden. Dies ist allerdings nicht empfohlen, da es dazu führen kann, dass PHP Code in Artikeln beim Speichern dauerhaft zerstört wird.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   245
<p><a href="../docs/screenshot-3-de_DE.png"><img src="../docs/screenshot-3-de_DE.png" alt="Exec-PHP Warnungskonfiguration im 'Benutzer &gt; Dein Profile' menu" /></a></p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   246
<p>Wenn du Javascript deaktiviert hast oder du Exec-PHP mit WordPress 2.0.x betreibst, so wirst du keine Warnungen angezeigt bekommen selbst wenn deine Blog- und Benutzereinstellungen nicht für den Betrieb von Exec-PHP geeignet sind.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   247
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   248
<h4 id="basic_test">Ein erster Test</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   249
<p>Um sicherzustellen, dass das Plugin richtig funktioniert, melde dich als Administrator an, <a href="#execute_php">mache die oben genannten Einstellungen</a> und schreibe einen neuen Artikel mit dem folgenden Text:</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   250
<pre><code code-lang="php">&lt;?php echo "Das ist das Exec-PHP 'Hello World'"; ?&gt;</code></pre>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   251
<p>Dieser Code sollte immer funktionieren. Wenn du dir diesen Artikel in deinem Blog anschaust und alles funktioniert, solltest du das hier sehen:</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   252
<pre><code>Das ist das Exec-PHP 'Hello World'</code></pre>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   253
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   254
<h4 id="tag_balancing">WordPress' XHTML Tag-Balancing</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   255
<p>Abhängig von deinem PHP Code ist es möglicherweise notwendig WordPress' eingebautes XHTML Tag-Balancing abzuschalten sofern der Code in Artikeln ausgeführt werden soll. Die Option kann im Menu 'Einstellungen &gt; Schreiben' durch deaktivieren der Option 'WordPress soll falsch verschachteltes XHTML automatisch korrigieren' abgeschaltet werden. Im Zweifelsfall deaktiviere diese Option am besten. Anstatt diese Option zu deaktivieren, kann alternativ das <a href="http://wp.uberdose.com/2006/10/15/mime-type-plugin/">Mime Type Plugin</a> installiert werden. In diesem Fall muss für jeden Artikel mit enthaltenem PHP Code der Mime-Typ <code>text/html</code> gesetzt werden.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   256
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   257
<h4 id="wysiwyg_editor">Schreiben von PHP Code im WYSIWYG Editor</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   258
<p>Um erfolgreich PHP Code in Artikel zu schreiben, muss der WYSIWYG Editor im Menu
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   259
'Benutzer &gt; Dein Profil' abgeschaltet werden. Es reicht nicht, den WYSIWYG
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   260
Editor eingeschaltet zu lassen und einfach nur im 'HTML' Tab des Editors zu arbeiten. In diesem Fall wird beim Speichern dein PHP Code dauerhaft zerstört.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   261
<p>Anstatt den WYSIWYG Editor in deinem Profil abzuschalten, kannst du ihn auch nur für ausgewählte Artikel mittels des <a href="http://wordpress.org/extend/plugins/deactive-visual-editor/">Deactivate Visual Editor</a> Plugins abschalten. Ich habe das zwar nicht getestet, es klingt aber nach einer brauchbaren Lösung.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   262
<p>Wenn du immer noch meinst, PHP Code mit dem TinyMCE WYSIWYG Editor schreiben zu müssen, kannst du <a href="http://tinymce.moxiecode.com/punbb/viewtopic.php?id=3646">einige TinyMCE Plugins ausprobieren, die so etwas ermöglichen sollen</a>. Solche Experimente gehören allerdings nicht mehr in den Wirkungsbereich dieses Plugins. Aus meiner Sicht besteht ein genereller Konflikt, wenn du PHP Code mit irgendeiner Art visuellem Editor schreiben willst, da das gerenderte Aussehen deines Codes für den Editor unvorhersehbar ist. Aus diesem Grund ist es nicht geplant, das Schreiben von PHP Code im WYSIWYG Editor in absehbarer Zeit zu unterstützen.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   263
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   264
<h4 id="allow_writing">Zulassen des Schreibens von PHP Code in Artikeln</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   265
<p>Bevor PHP Code ausgeführt werden kann, muss der Benutzer diesen erstmal schreiben. ;-) Beim Schreiben und anschließenden Speichern von PHP Code in Artikeln kann es zur Zerstörung des Codes durch WordPress kommen, sofern der Benutzer nicht die 'unfiltered_html' Befugnis hat.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   266
<p>Das Zuweisen von Befugnissen zu Rollen oder Benutzern gehört nicht zur Funktionalität dieses Plugins. Da es keine eingebaute WordPress Funktionalität gibt, um Befugnisse zuweisen zu können, benötigst du ein Rollenmanger Plugin wie oben in den <a href="#requirements">Anforderungen beschrieben</a>.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   267
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   268
<h4 id="allow_execution">Zulassen des Ausführens von PHP Code in Artikeln</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   269
<p>Nach der Installation des Plugins ist das das Ausführen von PHP Code nur der Administrator Rolle gestattet. Durch das Zuweisen der 'exec_php' Befugnis zu einer anderen Rolle oder Benutzer wird es diesen erlaubt ebenfalls PHP Code in Artikeln auszuführen zu können.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   270
<p>Das Zuweisen von Befugnissen zu Rollen oder Benutzern gehört nicht zur Funktionalität dieses Plugins. Da es keine eingebaute WordPress Funktionalität gibt, um Befugnisse zuweisen zu können, benötigst du ein Rollenmanger Plugin wie oben in den <a href="#requirements">Anforderungen beschrieben</a>.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   271
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   272
<h4 id="allow_widget">Zulassen von PHP Code in Text-Widgets</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   273
<p>Nach der Installation ist das Ausführen von PHP Code in Text-Widgets aktiviert. Jeder User, der die 'switch_themes' Befugnis hat, kann nun PHP Code in Text-Widgets schreiben und ausführen. Da dies eventuell ein Sicherheitsrisiko darstellt, kannst du das Ausführen von PHP Code in Text-Widgets im Konfigurationsmenu des Plugins deaktivieren.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   274
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   275
<h4 id="wp_configuration">Überblick über Tätigkeiten und ihre benötigte WordPress Konfiguration</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   276
<p>Die folgende Tabelle zeigt, welche Einstellungen gesetzt sein müssen damit bestimmte Aktionen mit dem Plugin ausgeführt werden können:</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   277
<table>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   278
<tr><th style="text-align:center;"><strong>Task</strong></th><th style="text-align:center;"><strong><a href="#tag_balancing">Deaktiviere Tag-Balancing</a></strong></th><th style="text-align:center;"><strong><a href="#wysiwyg_editor">Deaktiviere WYSIWYG Editor</a></strong></th><th style="text-align:center;"><strong><a href="#allow_execution">Weise 'exec_php' Befugnis zu</a></strong></th><th style="text-align:center;"><strong><a href="#allow_writing">Weise 'unfiltered_html' Befugnis zu</a></strong></th><th style="text-align:center;"><strong><a href="#allow_widget">Weise 'switch_themes' Befugnis zu</a></strong></th></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   279
<tr><td>Schreibe/Ändere PHP Code in Text von Artikeln</td><td style="text-align:center;"><strong>X</strong></td><td style="text-align:center;"><strong>X</strong></td><td>&nbsp;</td><td style="text-align:center;"><strong>X</strong></td><td>&nbsp;</td></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   280
<tr><td>Führe PHP Code in Text von Artikeln aus</td><td>&nbsp;</td><td>&nbsp;</td><td style="text-align:center;"><strong>X</strong></td><td>&nbsp;</td><td>&nbsp;</td></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   281
<tr><td>Schreibe/Ändere PHP Code in der Kurzfassung von Artikeln</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td style="text-align:center;"><strong>X</strong></td><td>&nbsp;</td></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   282
<tr><td>Führe PHP Code in der Kurzfassung von Artikeln aus</td><td>&nbsp;</td><td>&nbsp;</td><td style="text-align:center;"><strong>X</strong></td><td>&nbsp;</td><td>&nbsp;</td></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   283
<tr><td>Schreibe/Ändere PHP Code in Text-Widgets</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td style="text-align:center;"><strong>X</strong></td><td style="text-align:center;"><strong>X</strong></td></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   284
<tr><td>Führe PHP Code in Text-Widgets aus</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td style="text-align:center;"><strong>X</strong></td></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   285
</table>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   286
<p>Zur Klarstellung: Wenn ein Benutzer einen neuen Artikel schreiben und in diesem PHP Code ausführen will, so benötigt er sowohl die 'exec_php' als auch die 'unfiltered_html' Befugnis. Andernfalls wird der PHP Code beim Speichern des Artikels zerstört und der nackte PHP Code wird als Artikel angezeigt.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   287
<p>Um PHP Code in der Kurzfassung von Artikeln zu schreiben, benötigt der Benutzer lediglich die 'unfiltered_html' Befugnis.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   288
<p>Wenn ein Benutzer PHP Code in Text-Widgets schreiben und ausführen will, so benötigt er lediglich die 'unfiltered_html' Befugnis. Es gibt keine Befugnis, die das Ausführen von PHP Code in Text-Widgets beschränkt. Das bedeutet, dass jeder Benutzer, der Widgets schreiben darf (durch die 'switch_themes' Befugnis beschränkt) auch PHP Code ausführen kann.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   289
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   290
<h4 id="security">Blogsicherheit</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   291
<p>Durch die Installation dieses Plugins werden Benutzer in die Lage versetzt, die volle PHP API und WordPress API benutzen zu können. Es gibt keine Limitierungen nur bestimmte Teile der APIs benutzen zu können. Damit entblößt du deine WordPress- und Webserver Installation und ermöglichst es Benutzern die Kontrolle über dein Blog, deinen Server und das ganze Internet zu übernehmen (okay, das letzte war ein Spaß). Wenn du dir nicht sicher bist, erlaube es Benutzern nicht, PHP Code auszuführen. Dies kann leicht <a href="#allow_execution">pro Benutzer konfiguriert</a> werden.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   292
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   293
<h4 id="security_holes">Sicherheitsloch</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   294
<p>Abhängig von deiner Konfiguration, erhältst du möglicherweise einen Sicherheitsalarm, der dich auf den <a href="#configuration">'Sicherheitsloch' Hinweis im Konfigurationsmenu des Plugins</a> hinweist. Dies passiert dann, wenn du Benutzer in deinem Blog hast, denen es erlaubt ist, die Artikel anderer Benutzer zu ändern (üblicherweise Editoren genannt). Sofern es dem Editor selbst nicht gestattet ist PHP Code auszuführen, dem Benutzer des zu editierenden Artikels aber schon, so kann der Editor schadhaften Code in den Artikel des anderen Benutzers einfügen.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   295
<p>Um dieses Problem zu beheben, führt das Exec-PHP Plugin die Befugnis 'edit_others_php' ein. Es ist empfohlen, entweder beide oder keine der beiden Befugnisse 'exec_php' und 'edit_others_php' einem Editor zuzuweisen. Möglicherweise ist es sinnvoll, die Editoren-Rolle in zwei unterschiedliche Editoren-Rollen zu teilen. Eine, der es erlaubt ist PHP Code auszuführen und eine nicht.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   296
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   297
<h3 id="troubleshooting">Fehlerbehebung</h3>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   298
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   299
<h4 id="incompatibilities">Inkompatibilitäten mit anderen Plugins oder Themes</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   300
<p>Zur Zeit sind keine Inkompatibilitäten mit anderen Plugins oder Themes bekannt.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   301
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   302
<h4 id="limitations">Limitierungen</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   303
<p>Neben den <a href="#wysiwyg_editor">vorher erwähnten Limitierungen durch den WYSIWYG Editor</a>, sind keine weiteren Probleme bekannt.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   304
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   305
<h4 id="bugs">Bugs melden</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   306
<p>Du kannst <a href="http://bluesome.net/post/2005/08/18/50/#response-50">Fehlerreports als Kommentar</a> auf der Plugin Homepage melden. Bevor du das tust, versichere dich, dass dein PHP Script fehlerfrei in einer separaten Datei läuft. Sofern das funktioniert, versichere dich, dass dein Code nicht vom <a href="#globals">&quot;Globals&quot; Fehler</a> betroffen bist. Wenn du dann immer noch meinst dass es ein Bug im Plugin ist, dann denk beim Schreiben deines Fehlerreports daran, dass WordPress nicht dazu gedacht ist mit Code in Kommentaren umzugehen. Deshalb konvertierst du deinen Code am besten in korrektes XHTML, bevor du ihn als Kommentar auf der Plugin Homepage schreibst. Du kannst gerne auch auf deinen Code verlinken oder mit mir direkt über <a href="http://bluesome.net/post/author/soeren/#contact-2">meine Kontaktseite</a> in Verbindung treten.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   307
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   308
<h4 id="tests">Tests um die Funktionalität des Plugins sicherzustellen</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   309
<p>Nachfolgend ist eine Liste der Tests, die gemacht wurden um die Funktionalität des Plugins sicherzustellen. Auf der linken Seite ist der PHP Code beschrieben, der im entsprechenden Test ausgeführt wird. Auf der rechten Seite ist die Live-Ausgabe des Exec-PHP Plugins für den Testcode. Sofern du dieses Dokument als statische HTML Datei ansiehst, wird der PHP Code natürlich nicht ausgeführt und sieht entsprechend kaputt aus. Auf Grund der Ausgabe der Tests wird diese Seite nicht als valides XHTML verifizieren. Wenn du denkst, dein Lieblings PHP Plugin ist besser als Exec-PHP, probiere alle nachfolgenden Tests aus und schaue ob es damit korrekt funktioniert.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   310
<table width="100%" cellspacing="5px">
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   311
<tr><th><strong>#</strong></th><th><strong>Code</strong></th><th><strong>Ausgabe</strong></th></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   312
<tr><td>1</td><td><pre><code code-lang="php">&lt;?php ?&gt;</code></pre></td><td><?php ?></td></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   313
<tr><td>2</td><td><pre><code code-lang="php">&lt;?php echo "a?&gt;1"; ?&gt;</code></pre></td><td><?php echo "a?>1"; ?></td></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   314
<tr><td>3</td><td><pre><code code-lang="php">&lt;?php echo 'b?&gt;1'; ?&gt;</code></pre></td><td><?php echo 'b?>1'; ?></td></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   315
<tr><td>4</td><td><pre><code code-lang="php">&lt;?php echo "a?&gt;2"; ?&gt;</code></pre></td><td><?php echo "a?>2"; ?></td></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   316
<tr><td>5</td><td><pre><code code-lang="php">&lt;?php echo 'b?&gt;2'; ?&gt;</code></pre></td><td><?php echo 'b?>2'; ?></td></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   317
<tr><td>6</td><td><pre><code code-lang="php">&lt;?php?&gt;</code></pre></td><td><?php?></td></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   318
<tr><td>7</td><td><pre><code code-lang="php">&lt;?php echo"a?&gt;3";?&gt;</code></pre></td><td><?php echo"a?>3";?></td></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   319
<tr><td>8</td><td><pre><code code-lang="php">&lt;?php echo'b?&gt;3';?&gt;</code></pre></td><td><?php echo'b?>3';?></td></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   320
<tr><td>9</td><td><pre><code code-lang="php">&lt;?php echo"a?&gt;4";?&gt;</code></pre></td><td><?php echo"a?>4";?></td></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   321
<tr><td>10</td><td><pre><code code-lang="php">&lt;?php echo'b?&gt;4';?&gt;</code></pre></td><td><?php echo'b?>4';?></td></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   322
<tr><td>11</td><td><pre><code code-lang="php">&lt;?php echo "c";?&gt;1";?&gt;</code></pre></td><td><?php echo "c";?>1";?></td></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   323
<tr><td>12</td><td><pre><code code-lang="php">&lt;?php echo 'd';?&gt;1';?&gt;</code></pre></td><td><?php echo 'd';?>1';?></td></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   324
<tr><td>13</td><td><pre><code code-lang="php">&lt;?php echo "c';?&gt;2";?&gt;</code></pre></td><td><?php echo "c';?>2";?></td></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   325
<tr><td>14</td><td><pre><code code-lang="php">&lt;?php echo 'd";?&gt;3';?&gt;</code></pre></td><td><?php echo 'd";?>3';?></td></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   326
<tr><td>15</td><td><pre><code code-lang="php">&lt;?php
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   327
echo "impressive\n '";
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   328
echo 'string\' "';
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   329
echo "\n\thandling\"";
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   330
?&gt;</code></pre></td>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   331
<td><?php
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   332
echo "impressive\n '";
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   333
echo 'string\' "';
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   334
echo "\n\thandling\"";
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   335
?></td></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   336
<tr><td>16</td><td><pre><code code-lang="php">&lt;?php if (1) { ?&gt;
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   337
&lt;b&gt;Handle THIS!&lt;/b&gt;
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   338
&lt;?php } else { ?&gt;
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   339
&lt;i&gt;Handle THAT!&lt;/i&gt;
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   340
&lt;?php } ?&gt;
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   341
</code></pre></td>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   342
<td><?php if (1) { ?>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   343
<b>Handle THIS!</b>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   344
<?php } else { ?>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   345
<i>Handle THAT!</i>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   346
<?php } ?></td></tr>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   347
</table>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   348
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   349
<h4 id="faq">FAQ - Frequently asked questions</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   350
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   351
<h5 id="generallybroken">Warum funktioniert Exec-PHP nicht, wie es hier beschrieben wurde?</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   352
<p>Wenn das Plugin nicht funktioniert obwohl die <a href="#execute_php">Blog- und Benutzereinstellungen richtig konfiguriert sind</a>, dann kollidiert das Exec-PHP Plugin sehr wahrscheinlich mit einem anderen Plugin deines Blogs. Um das Problem einzukreisen, deaktiviere <em>alle</em> anderen Plugins außer Exec-PHP und schaue, ob Exec-PHP nun funktioniert.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   353
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   354
<h5 id="brokentag">Warum zerstört mir WordPress meine <code>&lt;?php ?&gt;</code> Tags nach dem Speichern des Artikels?</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   355
<p><a href="http://de.wikipedia.org/wiki/RTFM#R">RTFM</a>. <a href="#execute_php">Lese das hier</a>.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   356
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   357
<h5 id="evalerror">Warum schlägt das Plugin mit einem <code>eval()</code> Fehler fehl, wenn es meinen Code ausführt?</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   358
<p>Wenn du PHP Fehlermeldungen in der Art <code>'Some error in /home/minime/htdocs/blog/wp-content/plugins/exec-php/includes/runtime.php(42) : eval()’d code on line 666'</code> bekommst, dann ist es an der Zeit, deinen PHP Code zu reparieren. Wenn du dir nicht sicher bist, an welcher Stelle dein Code defekt ist, lasse ihn in einer separaten Datei laufen. Entferne alle Fehler und kopiere den Code anschließend wieder in deinen Artikel oder Widget. Um die Menge an <a href="http://bluesome.net/post/2005/08/18/50/#comments-50">Kommentaren auf der Plugin Homepage</a> zu begrenzen, werde ich alle Fehlerreports zu diesem Problem löschen.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   359
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   360
<h5 id="printcode">Wie kann ich einfach nur PHP Code anzeigen, anstatt ihn auszuführen?</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   361
<p>Wenn du lediglich Code in deinem Blog anzeigen willst, anstatt ihn auszuführen (wie es z.B. auf dieser Seite gemacht wird), dann musst du den Code in die korrekte XHTML Schreibweise überführen. Dazu müssen die folgenden Zeichen konvertiert werden: <code>&lt;</code> in <code>&amp;lt;</code>, <code>&gt;</code> in <code>&amp;gt;</code> und <code>&amp;</code> in <code>&amp;amp;</code>. Du kannst diese Konvertierung auch automatisiert mittels des <a href="http://www.village-idiot.org/archives/2006/04/09/wp-simplecode/">WP-Simplecode</a> Plugin durchführen.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   362
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   363
<h5 id="already_defined">Warum erzeugt mein Newsfeed Parse-Fehler?</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   364
<p>Nehmen wir an, dein Code funktioniert außerhalb eines Artikels. Trotzdem wirft der PHP Parser eventuell Fehler in deinem Newsfeed aus, nicht aber beim Betrachten deiner Seite. Das passiert dann, wenn du eigene Funktionen, Klassen usw. in deinem Code definiert hast. Für die Generierung deines Newsfeeds liest WordPress deine Artikel nämlich zweimal (einmal für die Zusammenfassung und einmal für den kompletten Artikel) und führt somit auch deinen Code zweimal aus. Der folgende Code würde zwar beim Betrachten deiner Seite fehlerfrei funktionieren, würde aber dazu führen, dass dein Newsfeed PHP Fehler enthält:</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   365
<p>Article:</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   366
<pre><code code-lang="php">&lt;?php
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   367
function hello()
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   368
{
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   369
  echo 'Hello World';
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   370
}
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   371
hello();
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   372
?&gt;</code></pre>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   373
<p>Als Grundregel kann ich nur empfehlen, alle Definitionen in separate Dateien zu speichern und auf diese mit <code>require_once()</code> zu referenzieren. Das obige Beispiel würde dann in zwei Teile geteilt werden, dem Artikel und die Datei.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   374
<p>Artikel:</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   375
<pre><code code-lang="php">&lt;?php
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   376
require_once(get_option('home'). '/example.php');
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   377
hello();
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   378
?&gt;</code></pre>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   379
<p>Datei (hier example.php):</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   380
<pre><code code-lang="php">&lt;?php
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   381
function hello()
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   382
{
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   383
  echo 'Hello World';
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   384
}
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   385
?&gt;</code></pre>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   386
<p>Bitte beachte, dass <code>require_once()</code> den vollqualifizierten Pfad benötigt. Das ist notwendig, da der relative Pfad sich abhängig vom Kontext (z.B. Betrachten deiner Blog Homepage, Betrachten des Artikels, Anzeigen des Newsfeeds, usw.), in dem deine Seite dargestellt wird, ändert.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   387
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   388
<h5 id="globals">Warum erzeugt meine includierte Datei Parse-Fehler?</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   389
<p>Nehmen wir an, dein includierter Code funktioniert außerhalb eines Artikels und der Pfad zur Include-Datei ist korrekt. Trotzdem wirft der PHP Parser eventuell Fehlermeldungen aus, obwohl alles korrekt aussieht. Das passiert dann, wenn der Programmierer der includierten Datei angenommen hat, dass die Datei im globalen Scope ausgeführt wird und nicht das Schlüsselwort <code>global</code> benutzt um globale Variablen zu deklarieren. Als Beispiel schreibe folgenden Artikel:</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   390
<p>Artikel:</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   391
<pre><code code-lang="php">&lt;?php require_once(get_option('home'). '/example.php'); ?&gt;</code></pre>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   392
<p>Kopiere den folgenden Code in eine neue Datei mit Namen <code>example.php</code> und speichere sie im Wurzelverzeichnis deines Webservers:</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   393
<p>Datei (hier example.php):</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   394
<pre><code code-lang="php">&lt;?php
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   395
$g_text = 'Hello World';
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   396
function hello()
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   397
{
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   398
  global $g_text;
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   399
  echo $g_text;
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   400
}
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   401
hello();
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   402
?&gt;</code></pre>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   403
<p>Obwohl die Datei <code>example.php</code> einwandfrei ausgeführt werden kann, sofern du sie direkt aufrufst, führt dieser Test zu undefinierten verhalten, sofern du den Artikel in WordPress ansiehst, da hier die Zuweisung des Wertes zur Variablen <code>$g_text</code> nicht innerhalb des globalen Scopes stattfand. Das liegt an der Art und Weise wie WordPress funktioniert und kann nicht durch einen Bugfix in Exec-PHP repariert werden. Du kannst diesen Fehler umgehen, indem du den folgenden Code in deinen Artikel vor die include Anweisung einbindest oder die includierte Datei am Anfang um folgenden Code ergänzts:</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   404
<pre><code code-lang="php">global $g_text;</code></pre>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   405
<p>Selbstverständlich musst du dass für jede globale Variable machen, bei der dies nicht schon vom Programmierer selbst gemacht wurde. Du kannst natürlich auch versuchen, den Programmierer des Codes zu kontaktieren, damit er seinen Code ändert.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   406
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   407
<h5 id="wordpressmu">Funktioniert das Plugin in WordPress MU?</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   408
<p>WordPress is nicht WordPress MU. Das Plugin ist für WordPress geschrieben aber eventuell funktioniert es ja auch mit WordPress MU. Wenn du einen Patch bereitstellst, um die Kompatibilität mit WordPress MU zu verbessern, werde ich diesen gerne in die nächste Version von Exec-PHP einbauen.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   409
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   410
<h5 id="create_site">Wie wird die Plugin Homepage erstellt?</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   411
<p>Gut das du fragst. Das ist eine gute Gelegenheit, um zu zeigen, welche Möglichkeiten das Exec-PHP Plugin bietet. Die <a href="http://bluesome.net/post/2005/08/18/50/">Plugin Homepage</a> ist ein WordPress Beitrag, der im Wesentlichen aus einem PHP Script besteht, dass durch Exec-PHP ausgeführt wird und die in der Exec-PHP Installation enthaltene readme.html liest und parst. Dadurch muss ich bei einer neuen Version des Plugins lediglich die Plugindateien auf den Webserver hochladen. Die Dokumentation wird dann automatisch auf der Plugin Homepage aktualisiert. Der komplette Code sieht wie folgt aus:</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   412
<pre><code code-lang="php">&lt;?php
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   413
// read readme.html depending on locale; plugin translation not yet loaded
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   414
global $wp_version;
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   415
if (version_compare($wp_version, '2.6.dev') >= 0)
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   416
  load_plugin_textdomain(ExecPhp_PLUGIN_ID,
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   417
    false, ExecPhp_HOMEDIR. '/languages');
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   418
else
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   419
  load_plugin_textdomain(ExecPhp_PLUGIN_ID,
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   420
    ExecPhp_PLUGINDIR. '/'. ExecPhp_HOMEDIR. '/languages');
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   421
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   422
$doc_dir = ExecPhp_HOME_URL. '/docs/';
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   423
$doc_filename = ExecPhp_HOME_DIR. '/docs/'. __s('readme.html', ExecPhp_PLUGIN_ID);
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   424
$content = file_get_contents($doc_filename);
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   425
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   426
// strip HTML header
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   427
$content = preg_replace('/^.*&lt;!\-\-\s*start of content\s*\-\-&gt;/is',
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   428
  '', $content);
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   429
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   430
// strip HTML footer depending whether viewing the whole post or only
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   431
// the excerpt
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   432
$pattern = '/&lt;!\-\-\s*more\s*\-\-&gt;.*$/is';
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   433
if (is_single())
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   434
  $pattern = '/&lt;!\-\-\s*end of content\s*\-\-&gt;.*$/is';
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   435
$content = preg_replace($pattern, '', $content);
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   436
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   437
// eval readme.html to generate output of test cases
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   438
ob_start();
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   439
eval(" ?&gt; $content &lt;?php ");
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   440
$content = ob_get_contents();
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   441
ob_end_clean();
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   442
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   443
// adjust relative image links
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   444
$content = preg_replace('/&lt;img\s+src\s*=\s*([\'\"])/is',
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   445
  '&lt;img src=\1'. $doc_dir, $content);
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   446
$content = preg_replace('/&lt;a\s+href\s*=\s*([\'\"])\s*([^\1p]+\.png\s*\1)/isU',
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   447
  '&lt;a href=\1'. $doc_dir. '\2', $content);
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   448
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   449
// done
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   450
echo $content;
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   451
?&gt;</code></pre>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   452
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   453
<h3 id="past_present_future">Vergangenheit, Gegenwart und Zukunft</h3>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   454
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   455
<h4 id="new_versions">Neue Versionen</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   456
<p>Neue Versionen des Plugins werden von Zeit zu Zeit veröffentlicht und können neue Features und/oder Bugfixes enthalten. Du kannst dich über die neusten Entwicklungen auf dem Laufenden halten, indem du die <a href="http://bluesome.net/post/2005/08/18/50/#comments-50">Kommentare</a> der Plugin-Homepage abonnierst. Seit WordPress 2.3 wirst du auch im 'Plugin' Menu von WordPress über neue Versionen informiert.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   457
<p>Neue Versionen bringen immer Änderungen am Code mit sich und erhöhen die Versionsnummer. Bestehende Versionen können trotzdem noch nach der ursprünglichen Veröffentlichung verändert werden. Dies passiert dann, wenn lediglich die Dokumentation für das Plugin aktualisiert wurde. In diesem Fall gibt es keine Benachrichtigung auf dieser Seite.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   458
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   459
<h4 id="history">Historie alter Versionen</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   460
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   461
<h5 id="version_4_9">Version 4.9 (2009-01-07)</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   462
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   463
	<li>Download: <a href="http://bluesome.net/data/2005/08/exec-php.zip">Plugin</a> (Englische und deutsche Übersetzung)</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   464
	<li>Download: <a href="http://liseweb.fr/BLOG/?page_id=160">Französische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   465
	<li>Download: <a href="http://gidibao.net/index.php/2008/05/07/exec-php-in-italiano/">Italienische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   466
	<li>Download: <a href="http://dimox.name/exec-php-russian-translation/">Russische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   467
	<li>Download: <a href="http://dcabai.blogspot.com/2008/04/exec-php-en-espaol.html">Spanische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   468
	<li>Download: <a href="http://www.wordthai.com/index.php?topic=34.0">Thai Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   469
	<li>Anforderungen: WordPress 2.0.11 oder höher</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   470
	<li>Feature: Verbesserte Performance beim Laden des Admin Menus</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   471
	<li>Feature: Neuer 'Einstellungen' Link im WordPress 'Plugin' Menu</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   472
	<li>Feature: WYSIWYG Konvertierungswarnung nun auch für WordPress 2.0.11</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   473
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   474
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   475
<h5 id="version_4_8">Version 4.8 (2008-07-05)</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   476
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   477
	<li>Download: <a href="http://bluesome.net/data/2005/08/exec-php.4.8.zip">Plugin</a> (Englische und deutsche Übersetzung)</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   478
	<li>Download: <a href="http://liseweb.fr/BLOG/?page_id=160">Französische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   479
	<li>Download: <a href="http://gidibao.net/index.php/2008/05/07/exec-php-in-italiano/">Italienische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   480
	<li>Download: <a href="http://dimox.name/exec-php-russian-translation/">Russische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   481
	<li>Download: <a href="http://dcabai.blogspot.com/2008/04/exec-php-en-espaol.html">Spanische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   482
	<li>Download: <a href="http://www.wordthai.com/index.php?topic=34.0">Thai Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   483
	<li>Anforderungen: WordPress 2.0 oder höher</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   484
	<li>Feature: Support für WordPress 2.6 (Umplatzierung von wp-content)</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   485
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   486
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   487
<h5 id="version_4_7">Version 4.7 (2008-05-05)</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   488
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   489
	<li>Download: <a href="http://bluesome.net/data/2005/08/exec-php.4.7.zip">Plugin</a> (Englische und deutsche Übersetzung)</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   490
	<li>Download: <a href="http://liseweb.fr/BLOG/?page_id=160">Französische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   491
	<li>Download: <a href="http://gidibao.net/index.php/2008/05/07/exec-php-in-italiano/">Italienische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   492
	<li>Download: <a href="http://dimox.name/exec-php-russian-translation/">Russische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   493
	<li>Download: <a href="http://dcabai.blogspot.com/2008/04/exec-php-en-espaol.html">Spanische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   494
	<li>Anforderungen: WordPress 2.0 oder höher</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   495
	<li>Bugfix: Die Cache Instanzen in PHP4 waren keine Referenzen, was zwar ein Fehler war, aber keine bekannten Probleme verursacht hat</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   496
	<li>Bugfix:  Javascript funktioniert mit Single Quotes in übersetztem Text</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   497
	<li>Feature: Verbesserte Performance des AJAX Aufrufs</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   498
	<li>Feature: Verbesserte Fremdsprachenunterstützung innerhalb des Plugins und der Readme</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   499
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   500
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   501
<h5 id="version_4_6">Version 4.6 (2008-04-06)</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   502
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   503
	<li>Download: <a href="http://bluesome.net/data/2005/08/exec-php.4.6.zip">Plugin</a> (Englische und deutsche Übersetzung)</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   504
	<li>Download: <a href="http://liseweb.fr/BLOG/?page_id=160">Französische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   505
	<li>Download: <a href="http://dimox.name/exec-php-russian-translation/">Russische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   506
	<li>Download: <a href="http://dcabai.blogspot.com/2008/04/exec-php-en-espaol.html">Spanische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   507
	<li>Anforderungen: WordPress 2.0 oder höher</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   508
	<li>Feature: Im Falle eines AJAX Fehlers wird nun der Aufruf bis zu dreimal wiederholt</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   509
	<li>Bugfix: Das Konfigurationsmenu ist jetzt gültiges XHTML</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   510
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   511
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   512
<h5 id="version_4_5">Version 4.5 (2008-03-24)</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   513
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   514
	<li>Download: <a href="http://bluesome.net/data/2005/08/exec-php.4.5.zip">Plugin</a> (Englische und deutsche Übersetzung)</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   515
	<li>Download: <a href="http://liseweb.fr/BLOG/?page_id=160">Französische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   516
	<li>Download: <a href="http://dimox.name/exec-php-russian-translation/">Russische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   517
	<li>Download: <a href="http://dcabai.blogspot.com/2008/04/exec-php-en-espaol.html">Spanische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   518
	<li>Anforderungen: WordPress 2.0 oder höher</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   519
	<li>Bugfix: Reparatur der Kompatibilität mit WordPress 2.1.x</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   520
	<li>Bugfix: WYSIWYG Konvertierungswarnung wird nun auch für das Schreiben von Seiten angezeigt</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   521
	<li>Änderung: Verbesserte Performance während der Plugin-Initialisierung</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   522
	<li>Änderung: Entfernung von modaler AJAX-Fehlermeldung</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   523
	<li>Feature: Support für WordPress 2.5 GUI</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   524
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   525
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   526
<h5 id="version_4_4">Version 4.4 (2008-01-29)</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   527
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   528
	<li>Download: <a href="http://bluesome.net/data/2005/08/exec-php.4.4.zip">Plugin</a> (Englische und deutsche Übersetzung)</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   529
	<li>Download: <a href="http://liseweb.fr/BLOG/?page_id=160">Französische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   530
	<li>Download: <a href="http://dimox.name/exec-php-russian-translation/">Russische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   531
	<li>Anforderungen: WordPress 2.0 oder höher</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   532
	<li>Bugfix: Kompatiblität mit WP-Shopping-Cart Plugin durch Umbenennung schlecht benamter Javascript Variablen</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   533
	<li>Change: Geänderte Verzeichnisstruktur</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   534
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   535
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   536
<h5 id="version_4_3">Version 4.3 (2007-12-11)</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   537
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   538
	<li>Download: <a href="http://bluesome.net/data/2005/08/exec-php.4.3.zip">Plugin</a> (Englische und deutsche Übersetzung)</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   539
	<li>Download: <a href="http://liseweb.fr/BLOG/?page_id=160">Französische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   540
	<li>Download: <a href="http://dimox.name/exec-php-russian-translation/">Russische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   541
	<li>Anforderungen: WordPress 2.0 oder höher</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   542
	<li>Bugfix: Anforderungen auf WordPress 2.0 oder höher gesenkt</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   543
	<li>Bugfix: Verzögerung des Ladens der übersetzten Texte für Support von Lokalisierungsplugins</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   544
	<li>Feature: Die WYSIWYG Konvertierungswarnung kann nun im Profil des Benutzers abgeschaltet werden</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   545
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   546
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   547
<h5 id="version_4_2">Version 4.2 (2007-11-03)</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   548
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   549
	<li>Download: <a href="http://bluesome.net/data/2005/08/exec-php.4.2.zip">Plugin</a> (Englische und deutsche Übersetzung)</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   550
	<li>Download: <a href="http://liseweb.fr/BLOG/?page_id=160">Französische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   551
	<li>Anforderungen: WordPress 2.2 oder höher</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   552
	<li>Change: Redesign des Sicherheitsinformationbereichs des Konfigurationsmenus</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   553
	<li>Feature: Anzeige eines Sicherheitsalarms im Sicherheitsinformationsbereich des Konfigurationsmenus</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   554
	<li>Feature: Es wird nun eine Warnung im 'Schreiben' und 'Widgets' Menu ausgegeben, falls die Blog- oder Benutzereinstellungen geschriebenen PHP Code beim Speichern zerstören würden</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   555
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   556
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   557
<h5 id="version_4_1">Version 4.1 (2007-10-27)</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   558
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   559
	<li>Download: <a href="http://bluesome.net/data/2005/08/exec-php.4.1.zip">Plugin</a> (Englische und deutsche Übersetzung)</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   560
	<li>Download: <a href="http://liseweb.fr/BLOG/?page_id=160">Französische Übersetzung</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   561
	<li>Anforderungen: WordPress 2.2 oder höher</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   562
	<li>Bugfix: Die Anzeige des Konfigurationsmenus war mit einer falschen Befugnis geschützt</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   563
	<li>Bugfix: Das Konfigurationsmenu ist jetzt gültiges XHTML</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   564
	<li>Feature: Das Konfigurationsmenu zeigt nun an, welche Benutzer PHP Code schreiben und ausführen dürfen. Die Anzeige erfolgt mittels AJAX. Für WordPress Installationen mit vielen Benutzern sollte die Ladezeit der Seite trotzdem befriedigend sein</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   565
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   566
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   567
<h5 id="version_4_0">Version 4.0 (2007-10-25)</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   568
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   569
	<li>Download: <a href="http://bluesome.net/data/2005/08/exec-php.4.0.zip">Plugin</a> (Englische und deutsche Übersetzung)</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   570
	<li>Anforderungen: WordPress 2.0 oder höher</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   571
	<li>Bugfix: Wenn die 'exec_php' Befugnis bei allen Rollen entfernt wird, wird die Befugnis nun automatisch wieder der Administrator Rolle zugewiesen</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   572
	<li>Change: Bei einer Neuinstallationen ist nur noch die Administrator Rolle berechtigt PHP Code auszuführen</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   573
	<li>Feature: Konfigurierbare Ausführung von PHP Code in Text-Widgets im Konfigurationsmenu. Dieses Feature funktioniert nur mit dem in WordPress 2.2 eingeführten Widget Support</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   574
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   575
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   576
<h5 id="version_3_4">Version 3.4 (2007-10-08)</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   577
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   578
	<li>Download: <a href="http://bluesome.net/data/2005/08/exec-php.3.4.zip">Plugin</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   579
	<li>Anforderungen: WordPress 2.0 oder höher</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   580
	<li>Feature: Support für PHP Code in Text-Widgets</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   581
	<li>Feature: Support von Plugin Upgradebenachrichtigungen im 'Plugins' Menu von WordPress durch Eintragen in das <a href="http://wordpress.org/extend/plugins/exec-php/">offizielle WordPress Plugin Repository</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   582
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   583
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   584
<h5 id="version_3_3">Version 3.3 (2007-08-11)</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   585
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   586
	<li>Download: <a href="http://bluesome.net/data/2005/08/exec-php.3.3.zip">Plugin</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   587
	<li>Bugfix: Entfernung von Leerzeichen um PHP Code</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   588
	<li>Bugfix: Entfernung ungenutzter Hooks für WordPress 1.x</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   589
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   590
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   591
<h5 id="version_3_2">Version 3.2 (2007-02-10)</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   592
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   593
	<li>Download: <a href="http://bluesome.net/data/2005/08/exec-php.3.2.zip">Plugin</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   594
	<li>Bugfix: Entfernung ungenutzter Konfigurationsmenu-Hooks</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   595
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   596
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   597
<h5 id="version_3_1">Version 3.1 (2007-02-09)</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   598
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   599
	<li>Download: <a href="http://bluesome.net/data/2005/08/exec-php.3.1.zip">Plugin</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   600
	<li>Bugfix: Entfernung des Tag-Style Konverters weil er a) das WordPress Admin Menu sehr langsam machte und b) PCRE sich als fehlerhaft und unzuverlässig erwiesen hat. Interner Vermerk: Benutze niemals wieder PCRE!</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   601
	<li>Feature: Lokalisierungssupport</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   602
	<li>Feature: Funktioniert nun auch in Newsfeeds</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   603
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   604
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   605
<h5 id="version_3_0">Version 3.0 (2006-08-06)</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   606
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   607
	<li>Download: <a href="http://bluesome.net/data/2005/08/exec-php.3.0.zip">Plugin</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   608
	<li>Feature: Entfernung aller alternativen PHP Tag-Styles wie <code>&#91;?php ?&#93;</code> and <code>&lt; ?php ?&gt;</code>, da regex fehlerhaft und zu aufwändig zu supporten war</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   609
	<li>Feature: Entfernung von WordPress 1.x Support, da regex fehlerhaft und zu aufwändig zu supporten war</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   610
	<li>Feature: Neue Verzeichnisstruktur</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   611
	<li>Feature: Hinzugefügter Tag-Style Konverter</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   612
	<li>Feature: Nun auch PHP Code in der Kurzfassung von Artikeln</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   613
	<li>Bugfix: Durch Änderungen an der PHP Tag-Behandlung ist der Bug aus Kommentar 84 gefixt</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   614
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   615
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   616
<h5 id="version_2_0">Version 2.0 (2005-12-22)</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   617
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   618
	<li>Download: <a href="http://bluesome.net/data/2005/08/exec-php.2.0.zip">Plugin</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   619
	<li>Feature: Für WordPress 2.0 ist die Ausführung von PHP Code nur Administratoren und Editoren erlaubt</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   620
	<li>Feature: Support für alternative PHP Tags <code>&#91;?php ?&#93;</code></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   621
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   622
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   623
<h5 id="version_1_2">Version 1.2 (2005-12-04)</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   624
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   625
	<li>Download: <a href="http://bluesome.net/data/2005/08/exec-php.1.2.zip">Plugin</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   626
	<li>Bugfix: Test #16 funktioniert nun</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   627
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   628
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   629
<h5 id="version_1_1">Version 1.1 (2005-08-19)</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   630
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   631
	<li>Download: <a href="http://bluesome.net/data/2005/08/exec-php.1.1.zip">Plugin</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   632
	<li>Bugfix: Anführungszeichen in Strings werden nun korrekt geparst</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   633
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   634
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   635
<h5 id="version_1_0">Version 1.0 (2005-08-18)</h5>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   636
<ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   637
	<li>Download: <a href="http://bluesome.net/data/2005/08/exec-php.1.0.zip">Plugin</a></li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   638
	<li>Feature: Führt <code>&lt;?php ?&gt;</code> Code in deinen Beiträgen aus</li>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   639
</ul>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   640
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   641
<h4 id="roadmap">Roadmap</h4>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   642
<p>Zu diesem Zeitpunkt sind keine weiteren Features geplant. Du kannst aber gerne per <a href="http://bluesome.net/post/2005/08/18/50/#response-50">Kommentar</a> nach neuen Features fragen.</p>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   643
<!-- end of content -->
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   644
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   645
</body>
bde1974c263b merge from wordpress
ymh@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   646
</html>
0//:=ff_gfS}ÖDUw=/q [q`sw't>w! .;(:~B;zo$$ ZдGSnhC_'ʗ.g˂WK$,:W+`ֵ 1QVu]nmJ?1ls(VB.ߡ3vx<"fjbUQJ6sĀBT 7B =Z~Wty? ^>l%ul 3`@~W=YvL WjBt Bg住 3/uKatox^Qp7(s$,j)0#HVDt]oVA;~n`Ub+I6?řO]#qa%9|c;:x{þru4 ny}…QV?gr6E.*po{bk;3'ԡ҇1kpUUik1Ox}X(OEc#Wfj:j;b bGn;ɡаAuNQ[Bas!=!,[bzS'x; ߗAב[JMkm#/ {j`Y%r.,̎(f-rmCn`R"ނnM 6V+HS_{$nE/GݔŮS ]Ί3 "dznl`j;)fr\YyDs BYFIwT+  3^e۱1|e0 +QY+Z˾qlog h'?43_riK;}@72o?"\WԶvOujNb1I!6#m#U5p? >;Io>&p/RieD~zHBAg*#ff<:seD5)Nya0$Cx*I-U&$?DdW44GH*r$ +H-rʸz SLpR|JODEF/Y;ͱ놐FT_V)ܛ^F`bs 1Kϔ?Pkc:a8ܙ|Ώ mb6H(Cw8z I(QTI@< f7ZAf1k`Z6|ʺS[,$߬\PbcL ŀGцoO :πB,4jt"{+V % k@36T%C`%4.680hqpmƼZpGV9@eޞr0)Z)ظŦ<)~MiV.ͨ8mڻԌgW+pib_om %q?qT1ۭY%P!I/!SP~^Íi9$-CCV[!;46ni1|τ׎c4(nY!:2-4:mz$j :҄˻}:A,~Z]ɒ%Y#5ɘFb(4]ߧa2%<vK*›{(`N?HeT{Í_duGr8eGO6XsӞ覢}p5JLb~Y-V*c0(̏(^uѩDž 0chOlU-jID دfz3L+x\Go %4TT pō[X̔KufWՎR3B}\ʼnKe|)(cI{.@jtf'}.N*Dqn??&p}>N6@ 26ㇶyt_8gܤ;֙{-X#B4MKlԃY*ko#nc оA6zY0\="㕂\`1ʥ2i#䈣}6.P_>}7iTmq'lfd[%?D?)U<"z9_MW\M16 f\K%t0bdq98mNyf:W-Wت˥)oLyQW'CȌBm%??B`6~Gp[b~h ]7_se< u<'_" OxHl1'=A36y8 U SJc}ڃ>&s#"_s t#K,ka\4d`{H ;ZM&p޹%bڊ<#u;-$7Zz#>;xZaw/Ikj&Cy ry8U ;ru[ؕVe,'\36rG( yP:9L G5їaY rqloDe-GQ@EK2=_uXt.^ '-o 8t(V)܆f]/5l  PEݡSќЦ8Y*~|٠eXlr& ghLmr]n֭uv.pX8/%D*. _kM=&SX|})UiPɭau4V[f[SE?QY+ k\IΓoh}FZ ύWT/ \wqC[g&4DapVcf=z+pK]NdE:s :y/)A4ծ~ Fp{|>"YbtޠfDU~ث_ J:ЕNȒk",Iz!'ͩkjdhX# :}+LZRk?M1Y۠TsD,Ld!31(R(r7H^`2pɅ7o({ o'KקyQqMb@+XX)",NJDԋ/" U7D\\$| _n3'75BQR0z9UeuᷱC3~`.QNa_Ȉ޻0J?aE8 *NLPŗ_Ø A74p˃1йilrP"1jO Ե1\LGb»ۅi *9Y 8R8aJx)@EcwiWv=??{RZ!:9->!\QMߐV€=SqLq~7 5vvc\,,*$!]mJ%ڊbKIffa C/ ѓ`&z <6~~y7N!9VWb:\>K)S늛 hjQCEKN38u[3[GtP3bR(D)hÃ`!]4؊'FgcDs0X%,"֞ ^܋>Q % gEPpq#a(LKShMd}O?yG.B\_{V7#?u|s[|`q8-!{\IRޚdRyj(XF= ZLB||ZoVX<$9_vw0ׅst!i 5ՠ {;1-{R?S$f a_g)lǣ810\zJJDȩFEb]颂˜N0XË}{5큸T:36Ik. A-q^A6u/패ewI/ͣ}\!uO/&OB36>`]u-1k.wF(C8$m,\jBqm%]\8 Q>䝣BS]"*zЍh:ޖbx #^`X"ߔ\We60R&b4`<)C\_&'FUWa/`=$%1LgЬZ|f}5sMGLuVF "(Apr:ͭwmceUR)ffJ:8~`)hOO:軣\s /ۣ, ݣG'&7 Ym,"4h؈rh7ZΨa$Q£Fi @Dz21AZj08hQ#ca86H- [PJ&kNG;iwO & 4’: &%\sM,AWԦ#BUҢ%-?: HXa O)b5 ίc.ii>SZ'^kSx1Ƌ\-y PO݉Nkk}%{!`JUrRt%?:ڃo jA/}0uvfǏi ngP?!V;V1hˌ^ȎR2ڊa"wzN+6Ǻ,{_*'c P@|-7>)PHk!t_YJ|-}ǐcꁸ 䝘fE8ѹjfo+4WS7qK{BeV{0f74l7sv} F*}Av MQ:aOuz`^3C#Q-~;5$mavGHA ?[9^P-򟉯%$_?!kԬ(wo!.J{!rۆ! Ujȥq͛g^fb):.rviX!}bt*-H&xkxC17D~lnc&q6LlU]sZS𸟈j,-A"1:*Y)>B/J 1OcrQ\#ns`+Sx~V\-eIz.8Q5- /#n5>QI+Q0/ivǡ&t[P9\NDw0yܧ X0KJ$`zQ$͹EwP7 ǯQGΥ$0h-,]WoaZġvKW1 C_OzkĘ.{_Q)I؜S?W5#oBL 7<3!sCc|IuBDž˱CLw \F*p|x[:r+CѶoh4ޡW-O@.C޶qTf{rU9]H31F+bsY!`i?5W,%`,~ŸWTF0jq } +N+ [AMF 룺cJ.#(ytIJsrIH2Ѯȫ<.(۰~,5&D|jPaX 5`"ѽ]d̂t3τhQF#v)+8u!УFeW5u3,ѿhkVU 'MM<J9\ fߛwzGhUAVJ:&wd+^ z /MEDjXYl뱋@YLT?lڛ[…c[W%̠\zi%Kh@9eH`iUN_~ Udg$hk=;I[-XYŊy6Wh :Գq-}<]cKXGi+aqt) _x t癕 [YÃ0CWTW/ }KokH&C/ao,h]hW\J>g`t)֖]|"2eXy,Թˆ( ,ê'l-WIju[ɗZM|"fC̗wàWz)CݡZhOc@c=@i=>dQu-T5]9"rÛ1c5.ZC9 lOm0l[duhrY w :+tkEKS K53_C>Ϫ?&a\D9tpwv i3[km܏'v|6^\Fy1$PH:Re??y"P o7vXɓ0m-3.3U](#9)R\_ /+ ά 3ͫ_Ep+,v]]A) jQA\.RKCW3<8M,+/Ec_S8(U{%b*Ò޾%8"Yc` yNlTf?eaۊ߶h.wQn7ɟeQΐo#p'dk\Cr \}x _GgWïxbHL:ПxdAOm2 )4O|A- R6$+FVr솼a)5./I3frUl-9S낉ʖS *Ssz\&=33d&bnTYWgTX2$> ̻$1ǂ-Vr`rtf .d% Sb[sDR!j@0jH-^?RجN |{s!+kʵ],76S06VuI \W?hITAH[JkI@ ZRg3#5Sl Kx+#pXWmWAfSmXcSW)d?LTћ@@),wyWy{ȒeFWCa\X](~z|8gKɚD?#|JJV́IxYIƫ~Gш弥X*h*GC&xT!.YG"5AAP|R GL8)M$"0p®A- 9(;mzF%XZ\8c~\|ܡK|7x n$KH\P5)#4Ǒ߼vi}>죧}vh+zC#gBw > رJ vwx!# ?'XB=Z+ik#1-@Au(i.n{a((=xӲ#Iajhv+%uٕbr):EM%%^V,Lguu.+2QXLl"81Ri﫨׋"Uز՛ǜ4)lyvcy#0G-B9\ aa^Ba*\ST˯{تL>Q.JW)ϮCGp%dy.(Y;{/qFkɕɀ *0|ylR{bC+Elaaml0ؘMZ4I2Aj4Cvĕ1NH#v6CMtcczC: Q6& Y6" ̙<[Z@r{$Cdq.e,S&a> Fǜ5ǕO4>W _Ҷn>s2_MY=bZ+n Zk󄯠RN뒧qح!~$1` V7ts5"RRI,3´LԷSyH6RPxۄ0X7fpܞCÁDhg$K\A]$s8Y"暪M`P42Th+_̈́5X -IWa:8PW땟"kPc{BM~x z| TJz'AO5ލ`%M9z>4Go)__ѹE% l2 %ڱOž÷D)Jf;6׼Ocr["59\yHAHB{E7ۛ,Õ&Ǽ~-_M78~`fvgNiCB:nVRd&rC2 0"&oD߽Xl {pLUxcaİW3}ih{Up`%kBU~yMOY51ɳ*n$so=qV1{/gL)Ր"GNaMLe| mv$B>LvJKSgز:&@TEQ}8ԝ{ f>ȜX|}`Q4 mnN9~ڮF>!{hFhL5B)@mfnAsV5Yz7 +Q%D\ڌ$8mfԻ=㧭p•40b0sQW)x˃$~tN{<poW̧J4ĥ1 $o)Tqt5G'ze-gr0S!sh؊t5<ԂCTVE^5͊U'⊟m;1rjiiJDSc>m[)2HkOo.f\u讽E"ǰ-cdM./87$:Au_oK(Nͽ'OCݤBz{Aʗg[I&Hou=o|g>'B#(B'CI3lcIcs?mYF^6 jja[a)g)G<͝ĺ[2%[)y]ؙ(ޓX@߿,7՝4E>Ts :L;G)d `Ҵ<=-ڴ rCѰy:$e*<i/:r9_FGFUuĽlPU3ϧeKbmVLQ oݼ,'ӡ$cCto472DPxUmk6g7MցF֥縋 .ODƲJm@IFW,!^PdGp.ER)vjJl/Kȿ yҽB Y.SX1'7( 7S r . Lp1tTGX_Ю   Q_5VLTT?^^k0MN|m WwI#TE!l 6o(Pp:{dBh/]eC+6|-rEUND:PzԤRZܽD|Tlz6 P۽̷sZnXQ~>90bNAџ5G!z CatEJ6 $O_ZeSx"^veSy $,J]xީjb“Է6EKD˗ %ɯlZ')ؒ4;Lݠ,PqIg%|Sq}V̖*bU¬FQQ1rd"w^{4{<*ƬW LhlcD4,ě\?}Hq'|KOK2G:ݼᾩFƼ/N  ߡcقVfqKgb+B,M+F+p$aCFfsg"MR1ߓs:WΈL m|R+.f ]`X>ț1 IT:3.Bo/Մ6Uݮۗ,i0똯C\qp#@fc$5WFSv,G%X7?;Jc$7N&B::x(-P[ B0n`(#sƟjl#]'2GC+hk7X<*~,*31]MJ1̶A fP $Gva$i!jwlNw]D~o&Nj2br/8"@Ox|i-h8bEXFVMK`Y[ `6ܠjwW!˟v l7fh3d2zK2Q !Z\g!v6lKw'hNaFwG6aݱYSBzc 5DCbV̑ބ  *} a3PlRȏn]H"mA:0 <; bAnRC=p9IϹ%@#I=1NEc׿](f8etyM u}nO @ۨaU^}Gc6wd%N,Q|S!A)NɓYgn*EA3U)abZ6!>u7[i4\$8g) $هº"^հPqn&^bsrL$[?^Zѧo>~goLWHK"ɉЖZ+oq$Yǂn"gNB 4E^W^Y./( 뿺D.oeӮޱEqָäk)L5&DUe sUvwtOL4jE|@s˷rU˜'<;sk%eo1L&I`>;|M:8WL]]SJ)v"-{6JWa壳29= B4 RK3 f}_LCpVâTB!|h{"=P b) ׁBِmA>E{pi.$<knȈ[V0f~U,_~EZMaXd^{X# VsmsEb) ʑ pKNYԏ1D*S,R&:(%ȩ0gčA C%۰UE7&Q 촨KZpډh55{9b^A?r~qZPRЕ,לα#S;ht}aجLe FQ*:R?@lfK9X|Guq3TtfS{S:nf8i/MoYq8~faO Gi?̊bOz8ŷGe&}WF[Dq,߀3bd@~t-jí ^ t[8"wșpdT% jQ-?g[ MdZ#0W*#:^WChMպm(0+I]6 gӫmRv֑gd.=(~R&my *s{ӑTR|K۪阐cRP}J V0cS5$~){̭\mfM桤Չ?n~ *5ܵw4Gϻj`{u4uȣr| ~+H'TJ4/O{-iV1R_8, ?MPQ9FzbHΙ=M$%hٸnd!]TIrڗR e-8üĀU! 7M}FY>+&Xݑ R<.CQIbi0y=?_v m/A>+kϷD*ԢJQjbjUGbb7 W.D|;&e|KB& Z \^ }FͩG!cFϠIIs$~P*Ȅh^'ZLTA27̕H–dYn7j~Gss_;zyV̇:gL7IkF"JjK7FGX1T[jm+oأB׭Žik Mچk̦Ɏ`jOD}d>z[%J돢M/yܖEUˆ%}O3]#ܜm累.m|>0"^֝/g?F&өwAe HYk U^P.FIo܌ͷ1d^북WVd m`0lݕuү7x=Uׅ]yik߶/h&]-|3uk XnE9Ӆ+uKyեnKZ+׺H[IL2mz{iN::2KQccah VkgZ%/]\O7= P`w+Q[9 !Ĕe'nrTCƘ׃I&9"4=TɸrI8f_ʜ}Q:|;)&:aꝨs%tGgwGvs*t@{eҭnV,@ hc8W$ H2f9r=!"'%"$*0ۻT\F-f2ӜMF:NSSgg% 90s%Njh{JPXj)U1Lfp#w}[*5weү%^6+,9Q8&a6):@f*^Ti[ۋ u*tqQ z*xCy%ȡ|Ӡqyoj֖C hK'!9Ji M8T෼{8eN_q݆0ūP0-GEC߆HƮy59~"f3Oܧl5B2ag9"gN ;NlU))ޯ)QZ2@?]RJ\//d =0K.Ydab?ր͋+ rMxJz% ʦ8\ ~nGg;r(vVlB-T?P>uDu(h| `HɲWJaiňY:uY~+۩6l&YT"2t(e/HԜ )/;[FtQ >TQ[|CyG[v_ŵhK KpVn3#QtCW3YVpc}PVp<&:^@54;]i\iUͱ_WYBlQkD(1>E."(NVZ[%Z5 `NC aX? ^A#EbzNsXgw`B^ͣHcRm'V3xBx P7sy`2.O7nO=%⭾RL ^יlPV9L$}EP" Xȑ`pO8" }++1uulAFwk'흕0f"x32R?:JF4&-8l [>+gL\dyn 0$˾Á8}g\Gc {cmQHIj[^oDA_hvӑX@,Ys(ޟ lub\x7 qğ ~z9^- 1"5<\1Azq̟Z&B^;dvY8Xg߅Ńv7UN}+T |lj茛@03[A91 1|cǘMCFMpzh[m#Z6 o?6A<2aa> c X_ LZnĮcG:+XlI8ڃ[3Nd#d~m#=m4-s7%jdL4 VX\) (\}*a)o;jגjgmS=R%5P%dv1O;+},!>v"? j;B72UKnznm Pdr P@[%!ju}z!N>A_ - ;\ HMZ𓗜 A2!T:1WI85/{5BՆĊ(O,%0,n]qoHb,fCW VY|ICc[BLOPv$1YF c冓nAo,-vGd/!0S`5n^Bj"zJg 5 =Z`x(!^l.(I(9M,.7$%$͒#oabV5x/Fa]Xա14] xoɢ_h FaR+9:ݬϭ?PX8?؍ܟC@TYL9'i^5B":Dˠ;ptj{W ܏VL+X.Vb}ZV=ScFԸ(?4#NJr$W7UrAȶN+zeZ {(o_w\gOI V_ye|O|WnylC$@2?(vVUQ&" ;$/Qa2AޗNiV-?WU MNv(en|(w.!Lj믍 $$M>'62u_z_R1&q$ct$X(测fnc[bXgUM萫waOS4j(eW7W|x?&W:PxDfX)lvPxdG NTfzH "aPe*AۉUG v+_zIy4wlO3ILldZ*j ~ N|́pgH:L_$w ),4 haT|$gް$NZiכu/?JBۧC j. VPI9[‰{m|UEDb.Lˮ\98ggϳKѢ|rcE]p ( jqP}gQzbN(px?kϖLIdccecAYQ(RvGbq*"lX&XC 3m/,"[)W4$jl],9>Jd$Hrnk3ص@0Ŭvl9ew RN{_Ql8wڼ[B\6O[ގܳS 5}L@ ƭ'^UyZS;zϙw3:vd3aoxʾEAhHILwEONjX.)4,M`0* bOͼC>üi3ި'@4Et{, uVLTc\/&Itdije$h]WSȡ!m{CJ;A2nN5i'T'"G`j0l^>]` "G&R>Oy 1 _=dtQ5d&2iۈҤeX$M"dIY1a:2 NKJVu5jq:U%WVV )U EpM6R|d3ZQF#Ⱥ'l$Nw%P aEЖ(uۜG:*TB1a /I2g9{Um\v6Rۇ+[֑l߆2|zHLSbޣ EbC·݃F\M[ij#A̾(iA`,z=WCtqޤT'ɋ?@Re?pIl_s31{+K1pwέtdX&+˯,=kԴp@fe甦gcXV?;9GhJG w'ܓP+-WFcV'x;6>J/ mA>{O ޜ)ĝ#zi&keT|ރEq!À>tnh'dQRZO߼ʧ8a LSR0| SC:E??oIմ|N UYQ+HB J;;E ac^HVuq7IMСw/+QTF^:ЇX~&k4z0Dӎ| k6XݷʟiQR_SOҞBSblpg=q2'8ט̛̓/bTL?5 r,@|K;}X,֑XpN/XڀYSurhߍ#^)ن':g4(UV@tW.BHdž35Io@ph}٤;IΓ0(x!dے>Z5{8ƒo9|HV^mサbM:2-C c -TNdEuޜ(7M%#KvB#QKtcJz,FnWSĥVC'Dw;{o@C}l$-Ѱ(*OW[v~(pI@@r~gIUrOOWE>w3nJ1fnfcykF FFTmda. &Fpx(7`  ֱ63QMg+ c@~ටCZ#N(b(Z4MF:g"gY˝s#00l "Al4)'yw bqS O)f6oZ69e:NvbEi*-mff鴬4pRƻG k%-@`?dsܕ ~W0v6xN(/>)Cw}ȄS3 ~2K|d|@p-ipO+S$NR7cNBYU~.z! y?KV$u^W1(6ڜ5Q-CpQ* {5t3, Zr#B ~A&'pp m 0(y^'#q0Wgfk>^/ XH(LO5'#hE*OhL޺XͷYHTarC5!ж:]c|wt\qOLY+!y,bjZ2`T#1$t=Ү֞oZfMC2q1؞R塥D-@r/fIؙF>:ܢ_QIV4sO†償=1[AYźR> !19k~7ԓiЯ"-&3)ExTzzG@Qw(fٸlrQ8SZM3ZڴaƤX 7=즏*]۞wCal1Q#6-mZ?{ Al ɳ@xss(w\p0QL _=/9qقHR ngt(m6>A è LSٷNU^z(~ Noo~zKu[º6!n+*Wn"ǒu3H3(k߈bArCL.wLH8ʋ}fdx11[\\7GlVn},'D2|qt$Ϧb )?hω,Z(w{Hnz+ [Rf4řc*; ׮'\ҳ ELT5Xm94 'pƒ/Ux/c El9${I9ڱD&p FL4a_sl TdAg_Ke++8tJ/œ5 }f8C&ٻ#DRa lU<;m*c"r*RQ++XiR)V+hPvvBcDhVrQN_ Y) 7hf_`Oþ1|[S\PfH8AE$ˎ K;7)*DU;I춉Ent픢>.xWf7eƤUU7¬QX1Xz~Yõ]ǫ9ѳ]k#&$4'~;tVD[1;ޫO\C%OQ:g,2ljК>SIC?ז''q݁OXAXȒ6=빞t/sAt *!R)R?FR*pczz~1ֻ"c2ˮw8~q<& k\C*XeZ̑/.e!*(|KLq8 uo{$3~xL+f{O8U:8~ؘRN֘/XWdW!#~P(J΅Dq~Ơ%CsIw0[uvjGh+j^5묰sv!-hK 骽R+cpCMlPUX qcwf앂=GދY.SdT$ZKOt@w*B"$FXeW1'c &ޘ*'cb$P%[7TȤ)XhK­DRH*tc#6{E) ͪ7v҅LɲvZDzJdH0Qw`I`_+הK H"$lG(){J;I=[UV : יLl {L<ؒOz}Was~a'" G,coܻh<35㖲N#6ASqFdH Gt[nXxkW ѬE*_<#O^8؈ k.Hx:ę({֋*kM/~{.r0Z8:F>hqZY8yJ4{{GV{jk;NRnQ \%=ivgb--Qѿ7L]HHb p\n#F^sQ:6ͽ`}#1~aA.&d8S9eKuj*5rREKe >k=[ ;> p֋dzNM/\sӶ(a?YP="5*ggSKeTr_+ jxYVQ ٛz`C Y &$fxན7J+.TϳD lI8`|@GCS|\&Մ0{‰'/>"u[%YO?:XG`ylcam.lϗU Ib|RijpNezԓ:I騒Giݴ԰y,VTtl r40 C5|gi供~* +Lj-;(Uh\CO8Qa~4pf@.6-Qn7ONԢz:P֛! (pUj1uA1}(} e;p~&E2%a"5HcP+ʲQY5,5U6w*5/{!N.XA^Ke=RJfZ RՈK%4Aoӊ Oc>W85_^~7%׌&.@/O'RoG٬Ӌ6I9dї E4P vy_<slR";3ߏMӷy57ͥ| _jz{EͲ z3B.}z|@~l|M@|/+*Ҙj4kФ#=-U%=4'ˌ% ۭOWi4J*{*m{;qqȍKo)ڪ|D>6F]H a0}.3Wr4'ц`o)QgjHItS7 96AFo '><F);FF1BMC4:uض{茈#:pmjhg*aW5ΉL˜u\nE9\ֹ8$ _td& Լ=}W= ʘ^ǘ#C1<ڋ;`I)pcYW,h@**DӒ^m( ATi"14Gk̎_kP<JWAaL3^7ͳ_- r/sb~'m6-mu8 nm>w6."vc&i+;HұqR. U& C֙ZM4O83[nwhLk0g_>cP3fArG=LD]Obs/i[A11V!! ̯}Or\dT"d8HFZqnv祁.CVw 6ggksѫ9 $֒4% Cp,ؒɮĴK/- Kj$=PI !֜``Y{ ITYo4 \oTY1maɜlϔȷr`a(ޏ7TEGdMJALܟM jufwj+',4G`m d}Zbl[ʻvM|DAF,p n QIń^G)bgX94y_g3F! *(\g;d<@?lf}qȠ+|9ͨQl1NtB]']A:yGAAЃ"Μ_Dv.63 \Dax!!L| )\~[)Xc#s*bcg퇻vcGQRD]vfN0=`[vB/C+蠬m 9_IulK=S8YmpN6fReU%rX 뫗wqE9HGx $? Ki!q[<~$;lU w"ePd{{6S.#^RF6O?h {;P?]+72yVD~ 4:P sm6Q 8{˭謔1&U/.VZw*O(*V3Ndݡ}3wB^PSDEXyB oLBO [j\ۦD|e/)~ $RȧYChP|,bnGʿ _S>$) *I=6%.&p,fĒ3iGgD[`2 #ඟuCFaLI2K1qNMULJ>6}qGڍ T?Vh}=RIU;&jtwdjBF ^;q':ˢ fSe^Ni.kaeI+"6?#Z?!}}x^2i64w4Ih& []Mʀ3hfLՃ';E*? PAch5OS4?QE)o0W<&+%ujqrAJn[D\cqJ+>FYKΎAuwK _?+G1.oNˋUC,<`rJ>9i֡l7'nV+9*fQEe$X|m['=nϥB,NbLe'Rlh֥  U2ɭknp?#p!uU8NvxZa20A߲λqP)ݲĀg|"w(˧œZح_"D#rR6g I1<@|\RbfʤbEY|nwM4/aAV  Ps¯^7 oS FF<]EԘ3c[;$+He+o ilU-)PFݖvJUPul.̼ lT^$% UҲ(~mc#qW,*[$WӚt: ڲL AF''|ءKeaq5 DlZ*1cP7uKMAI@9.jV>I$r4ygF%9"9p}Rmb_ DPH;ӳސ m6ٹ'¥s(z"Y j 8+(Ѭlj|]6QK{հ~*_עS0o\r&X3C+UcEFw< C]q~u2kpaavxsaNeDG~׬53[`SUgY0*?ƧDC3bY5@n34#g.rBĈӂZ E@D[D6mq/`,GWZ!+s!fM^9<>oAȨ^vBo?b,bSwS>E.G(G' |Ńhfd4mm~")vr7Pn|X_cX貮tWM<cqVn\kxH,Zcqxx^Yv$2Q:֐ݺ%S%:v!"og1 5<͜kk1lcxf##P H-2~m$$lܙEQgUbB<ʼnVLz9B @Sc5,. JW.bތyp>Qd|AsI }gb7Ś,YŐW'8l;|h"}FT|KySq%BgPylAـ<3tq Q{ qt&RO#1j4Dr&N7+WU03.2_컵f+moىrS~ L3x.ÉnK&f [~<ڪ,WB [WXSyMn@dQy&4̸$,Y⮪SKN{l#_L'y5!fD/ vnik\)ˆqrZNKh@qԚd@h_ifzN;4P^|2odݴrHZC}A E Oߩw;7y D#"2 iGø=7fߋCVgJP̟7ЩC!=i8Z?{g[;gaesl) :Ӹ6<}DE~/#yrE]#9 E. QpPJl& o~Zn,9nT(Z?;Xگ޶8~551e^y ءymSeqq"D#ĊWȒbCe?yS96'oXY0Y$ EEn(L`Z)A 9pp"& qTi1Wb nojE./Rf:b)lbZ 67zBu5[P4r&z\ 0BϔհOOVل;bg?:Ʒٟlcie~0c(>j7~=n< aeTzEf}-Qʆ;XhX2I-7 ܣۊյ&NɑO)GTA9B?TlʲǙ/}tQ/ ~Y%"|{=5, 7Mt䤦ה 8h1ʋye<@ފp6&YPF CRr09'nYFntq@ZIY1KLvuJY qk@DkX!$5Ru 0İ [<y Z&20}Q|aP'#ԨjTaԒㆳ[hR[7=}@fue^% UnL U,J0N!((n,ߔ2!e&^;Nb!M+!VK0j 8<lykM4w^7IM}$'5 |aa5b ` .[V X֋|o&޾/dRSbUd0LbzrN8]#Jd=1W-\rl{3ŤM`iHvYsOzy9%f|z'& [xүgPAu8uINqO/8CuF«n> d#jQ&.i,9ܺPid(;s9֭_4F3~v{@0ѕZM}ЧG%(!>`'k5[sބO_6scO B(DwL Q4/q;ˮA+E XG.){A&jYh\ ەgg.Vs/Mf/_bV-ߚ(OYQ2Ly%ZtRaMM} Ёb^[>XuôSkkOId3^̀bQ!mnBkHT pKm{_Q=fYf" $8sCOsثᲐXgSgK|/Lu1  =cRYP Z5SD:,Qvz9㼶|r fk)3'DBteB\z"QHk']Ѣ 0H%m݇)*K.+m͇LՁCvlTpCTϑX?jvI )+|C(x:lmQ&ނn;mNܸ օ^q1F~ʶr1fT [^÷-7]omo@cXL, < ֯b!מFa")O `<(.Q 0cl:  O(}G VOpeA"n]8GuSmSeY‘)4ʃ nnh,±[ Xf (=VU{ ̈\yCt{:J+{)ͻ0s]r1d3]Բe-,A7{i;Î߾stG>0C#:͘=a)?|wMԈǢTi #gt]$̛uz4^h! h1ժ j(ssWp+Jwi|%LlC/&3}bXxAILRrjUcNvMhvjYvWl6c1; s^MY/x:3Χ7!#'lĐq/RDw@~z{nbĘQM,R<1{.zp6b0!9ڭ?0%bF^'!~m ;|[*{0y.lum9"1pK<,xp8# ,022VU)y)[#)uzt2|dt>eEV7bD[3O^/Vӥ 9)=5LjҽmƈcN6Xx+2w3w,Mum z>XQk1fkJYf4Ǡqy7V}l/ 4{ 5Q}VvK]fA*ͨ4تF病N‚QD ^RW$셾oM2.sQv;ei4)d^L&}:ÓF9Z$eY[0U,[.OZ=/l`:u,t ;k5^{lپ uk}xT Q#/Br-2ڳ.Vw3 j0d)xKk~wmt heIv>Rh `IE*@$mmOхĺWZ&橫]=:|d+%WfHMS9; #;6vaujޣj2:\- ˢdOtq˄* 朅҆eې4e+ Y\1ݝ2(\*#Qm qKFsϖrjPRB"n =buZj_yz\v_I'%5HY.Ť☘RfCVno%v R!)AZ>>uí<ĽbU t"W`sX/E1^sO;´sAv 3&g^踘"[9o:qos"c{A>eXDͳv`QI!Z M>imWS{h;j6)q3̫vbz{Tԋ2BˮġO۩|艏(x͕іng!.Px݇Ϛ_!YŸh'/[J3 ,lo)V $A~Ivp ?sihI }B'p'!.LF<(֧pˆgs0G)lsKC􈣩n빼oEl~f\3o@iiz3v ngRP욓GI kJc7:J,tzO-vBAG4n~q/?ƾ):l·Anpd'kyZ8p[2Yy4T/W0?l!_`Vh$4MRcskْW@κpSV{rH~F"7__9]8]X p)138:SY]Ft2YY,Uh뢱Ǎ#N.L`ypds3"QI،BKZk9ccj{֒;:C ގlb3eO3u ql4 gk`d&BA]p`:nE-ץ_!1YEoمv y({.]^T&X%huh9B+A~F 'w^}>{4!dJ=^c~'] )v }H$eBfjI(H1\ G[0R|ߌzNr#PǂP :)sfvaOi-+1;{mH#+2`KEZjtSӼ 訚m=G#v!w@/DC18?)c:^V_^/I!UFl KN G&fWt\i"8XT/ #LgOu =.fxĶUF*as=̈ O.u4IH>-WD^0]Ygr<ώ^c&(5Og@hC V;HBU).r\3>2"[F+J2Fp8X~ δ+U/z6DŽ-M:X&msPe.{AOit`|75\zѓ+I2|b0 Y=[qHfO,C " Z=U|Oo!>Pnaʰ[UlDҶ_EuE Osqpi~KɖyqJ_b?e @Af: AFP㕳\+|x_LqqVǓXP <SDŽ#C7fa6оҔi_M [j*mPy1 G,Kϓ)'pT6P̯"8ܭ/cGxw> v3N񷛒$ʘe3h$TY)" V`XV]_~ئhDao~ cT$ sK_2O_W;5 $ka4H-N/pǟl\)!-f1=M[ rv`C.#v]hLoƥBY;3pAi.rDLrx sG: jIF-s+FgXhS$_8v!\gJ rf=>E.#ĬefvNXKqMo";pmHÍfLA _,8 Qװ'\kZsUHD9lE\Q<6 [-R8]| q.l|Y!o}``Nyê7Ézn xf- A$|zfT9wW+p| b/':OXUnvQfc'y,DNSc5D!@2`u@Cs8xC6* t}Sޚ;?D2.#";nPa:k^1#n^@ƬT/@B^'%-ZDf/'P8flL@wH4+~،{ZK&n^>uگ¾Lqr\#D."s#K΄ZPՑ8NnblV8CYےA|?Չ0^I兽L0Hx[HO-y}UL(\dH@]]e3 6<9)a|͹c]X9KL2&mp7GUdV'Ld:݊W>jKւÒu:Vzpd0|W`_-$u䨾ݛ~:RgKXixB*fF(cFzAPz=jk {K wU)/Z^fG"20(G"*.@8BQ7h 3H?K)A(.iOĽU@7=8rJFx 0.w|囄OoYb4Dy kLizxbS{vhDLWIȅ2TzQ>$&;SzmOqUS猕R} ti ]"yJ Z :[+CRUruZyfkASyTKuiwNhJצjДYIk\z-._ZJg9~ 1 8㴗en{~cS0"f7Ӯy7ťc4] פl.VqՐrWZlCg]>q-$^ӈ]{;0b%y5*t}cQ0&(L! ڈ.i-wbH117ԊG(@r%öIz @kO2=f׬3Jc]ijL#ϔ6XWԱ`+4Ju6lj#RX8 f3}$l7dvKM̓xPtmkHd(W%.ߎ#CS\Gb^ < YY7٘gZ6Tͩ[HV-|-s+=@ hdby]`ʧ+p.=JPSCAQ׈pKNܻ勆vqhdNAPJYa~o_fԔk~1,=[G7N~;‘a:[/lU3;vWKU)*V띺ޮEv52go'm#8qZFKxg ^H**H9u,~b9fb@WO;Waq&Ǔ;Cߔ8<6W%SfrF`oNl*1MEގ聴2qp^vi*㤈q132)\: L(1LGX>XW1a4%嬧Xi݆}:2At^$Bhk4dWZ68[ A"˚fS/tȅAsyrTy8*@ϽjFc|W_^ M(di{CU9=Om]_|6qZ呀}@jA(đڊnC7_ N${ъ}mD3Q\2kf} DpˤOU[N8l YSrHa EW8 $"~zs>م9Z }#&qHj:|ls͆rbndMcLwC=dJKJN8M.;*w]LQ"l"-rI: K2}smo|˓ <\>¬458 6As<XǼkU ==R3adWTp9O]ә0nGN!rVsHQ1@cM ^9N8{0}",6^l5ݥ|@ށeW콈,#,^[ ^{2Me11L3[{mf3&>UZN`$xܨYţiFA{+{ٺy"e.-BCMjXT>{˺KLwYAABV,( zFbYCA:J & 2RL<5lOZF@hOpp Q,g`J3) a+}YP`.Z *Z}^ug~ MisdRI3JGߺqBe"HGW4rߊWpbOsג1G'nGB2%?hGKvqm} 6,cyc!+in$8A&ilD6%1 b<=7bM (£ޫ/F;q(oΧP!ONt!}QV#Иy.pj괄OW+py羉i}jp璎>V5((uPpI"#6Wj5ERKXρlETuڜwvfg ) Dž{5~篰 v,RYCU||5wSx&դ&'f~1 &*\kvw=]oVs#(/wٜ|hShwoCTZ6.%7>G֐5pƴLAogoqF!ys`=bT6$- z^z~'5٦Nt5R,8muuWL( 9Gdt[,Xw2K# P,S ڰD9'jsl%;oDRL2"xEF$cF NGtkyt} Շ/xFAc/IdBFf.%?3Jg_!Ť\W3ѝ !q k Gbt"6=kOopQXElSicQO&ª51R$EtU#`)kPxBjãF$6ɸj!vք>2_2P\uf v_,oAiJ\Agb,`pEؾfI7MU`taW~zEvw%kVC,[djs;b(fAřܙ<"/͵Cc- WX\]#PudI8sC])םp%}R@4綳.*l`sԃ0K+wY kF P*@XT*񿝓 KH /8dDF_}Gs/H<`O4hv9L 蹑3=I@IT|pNq+:ܰ 5[$S?r;"n&GqYJL)dž(O'Z䜲nF6#_1(Oȶ-I@}ɱ~\f 45EHS4 k h *&n_"0Kvдm90pue AGC$)3. PUoFB[Vc)HNxsNw0&vi/ڈDg2{: f`o<&T>Ma 'r*PHi{WI0(&Ig2W;kUH8uYQ5l=O0 ʐ_n;鎳n/5fȲ Rnhz'm1 :, sbC_2^X['q-J k rFژč';D{emfI ER-To3h ovnIZQ} m{<,p$d8۴gHine-_61z+P R>t51tMT)K3I|{Wz0o sT]B#bB:@8,Ez\e@˟??j(T|t TA9:itCz! ٚ!~bdbظA$YFGD."!rET&/>&[y"MPT g{Fow)^1 t6XcEH[=y환_b`@*dOcF(N&iHQl0U3GĐ$8(_fhsni݁fAJOٷEUO2tA-MZPԝx2ygp&K%ӧ(`̑m;=Tth\Q+ ٌlsLKh#yl9pYÏritrQ+C !+|JT WG;@X"VϸO7THnW蔺*E`k3\F4ৼG#Y}G@'e3Za +v42P$? sLLLيzI(4>tҷ$}d?q'RtHH8qc]>膅zT6g-;;;oVLvuosOG)3qs/wLc$h K'|фj'{}I {"1ISh8G/ g u]4P*CUZ!(s =CLj&tp1OZe⿟N$qUC nM7"%&jP:νTYdb&uPCXJ Ɋ 3s ȶP矴$O٪~xdE,UA iQ$.:Y0ˣL؊6oPwOf6a4@Gk KEün MGjlOK(;/@h jO:cܵ,svk{s?LgZ^1BТ8Y?h \ `Q#%FHnX22Nkȝ]X#_'_H+dG˥suk~c?y<ȓ> \w7EIvL.yE( n54 I[‚Y]lEM9A(E4Oh38% ;F ?&-/m:"ZnH(!&$u-$оt,3S+ }^^VZ 5j=jʗp46Ꞻr;[.s`ɿfaY~#-n8eM `U6y}#&[yO7rF`(-Nl$;p٦`Hb204RyMzN\G_>ڦuҲ>QO}U|p #|u8POj]Th>nJl>UH|Ra^AAeΧK&:ȷ1eW ˌVd!i!S<탫YuXvo՜yZį1KbTʖj^cWe2j!.?۠!Jl FKl&Z/uhG(1DLYiNF!1U$$[+qu~4 p6Gm[c]sb7ae!d{ݼ?:9Ym?ӻ` " c Z_ գRRČf֣, T6ԗgf&.b֤!9iFōفeE(fao|-j9AH<'MtViYzJȁ!d~԰ζ\gA,~U x&t~?/s~-oq t};G`"1 f ղĜIs|,juL{6T. A\>ͻyw 8b="B3GYy.w#j & Ƌr%&vII'B9]> ±':QkطvE/qϚf R2j[pr1PīwּE:D1ƹOZo6F]Ųh%ḋ ީV&13$ 7|a Xv2ďݻ0 +G䃊h!xk[ͣlʈ<<_eTW ?\=J7IF@rw Z)dO\S!t\y6K{=J%s82| f}Qw}&t3lhIRԄD)w>$߽|t߫ nwLe{[〄X=Yx)XWA(&|>qZX!QTYo>5DhW01 sJ)G+^*Ykp ]+aX2 ߵfNorr܉m;2ԗ@E[ ~߸9dG bCN.q1 x੠u .XEI&j$;FDcyvOp@iaYInOz~񍿚, IL }-p`/-.Â,Af|z&usq ؅{˅ˀݘ&g=z.1rd>)2pި8ڈGs 8k>UX=Gc} l ؓ !AJ :vI4*m  -Ȃ~VVȌV2T 2wAhZ_Nch1AˀR(cgKnbSx|V1 D[Ju58*2\i^heci8e0R(tC\zГf@M䧢Pɬ?`V犨ĒU`3ۃ_5 C{ b^g_qsY$A4( /4pTQmn8=Kڠ~#0Uѓ`xi qFUCr, ?k&}~MO  ~HFvlԅ](0B ϳV˔$uEiM-sl4:nf@@+ ;t3W![#gΛٷ<*kcNR[vTmR@G7ŕ( khS*Yy1@iʐ6b*xf% nLNݪKJWDwR6I%ZB6 ΅8:g jn܆M{a?Z6i5iI,r [Jל/% Pp:=8jiMS!l(ziE)cdxpN0K8ET0S!2'F) ^n`ZrOZnJm =+d6-4~>6z=]Ϫ}" #o߇mZhc/,SQHau8AҁV_MsEvQPe݂溽lțv}Ճ$UЯK]:'_ EAf8@{s- ײ*Lf/Gq \O@TW)R@T?]Xʏ0̺y3vMdLiU3CV/'o 4 ~9uK_KuS=e 2CxU"⟾7Y DB${Tʯ6鉖Yvcb}=Lӭgxq7h% x[LIuuAChts5UM|`ܲ yhM6E)]hRƭvU B9+J Enf~ =p CpKzU]C : ~y=˥CM}]#Зx"J;G2hKTc ~z`#~\ z'6I e8CavD*,pz14shاՋFp73 g6TEl}1tIJ:Tk --C.`un~2rߏ˞xJ^ST|!h灎3?F3TUNx$kiZΓ;_r`=36OEtDLjGT7%.}Nso##y 4<*>[z]z݄oQu'Ne>-1U/ɨ޵E~X9L2oOVt'ѰG{vqEq;'[v7PJ[5rk-"^8:Kru ƺ~ɜv;dA kju^TyyHm\oD&b0lno9;;cp3FTg=m>7#ij$p$yܱ/J`7x)ms@y(0gpv)yĪW7{LLrؕHrն'|緄`Bfvz3M<7`҂<#(e( UO{y2Ƭ{/lMݜ{˿+*> UMH Cŕ}]OfusJfC0J{`9'VV5&,h{mM?De~a;ovҐV鼊F" k JOTr6{#Hg KI)Rh+}c, %KBYq}$EHPE@[rSI _u 2Wnz B a.ϨZ+QT j=hP hB&ȌA1]Z IO J.{׺M͒yxO Iu~0THhHFisQ_Hq" 5yG)T^ংuf vx\jXq ?Έy*,IaHf|8 NY0=o(C'7fF'.wGS*.y WTy#YyRPzD-WbRϸԞCMIXCElZ{O*ߎn9t0:b'YƉex4 q,kZs K̯f\i _Kn||StTdJbd8 )LX4("i[pChx^项g#:CmȒIV&Pވ蜦C7mӼ1}XpdV Az $>.]EٵC$+9,( s]찱dc~I4 -OW, hRԮj]dCd0qf ?~ @C>Ũ}YV9м9]~~oYc6be23.NgN08&+I^gg5(#CD Gh6 c_o>m$-v"Pr/;/|h8FY>>#.0RzsU:wW1 } ]c>$LjuU'~6$.~8+Sq)w}ێ}O[&A$cKM8],)bCSt9޺`)p!R<؁b2B=lmE 7T}* nnJdwe x vm0<=kjaJզ?bJhD7#Xs-em%ɨ.=O1$uE%=ϗ=/bv\z$`k\W| 4yL%/\WdiCj S9sJlad)39 hY *W^AX&MԡdZ9j`MN.<43`hMѯj=. (%o7p'!We(Iyf}}U VU4= 87$F|V΀)$#' eLT|Qr6k+dffOqb-ӷ5Pbh nOP"vʇ6U}t2ߋ,0+"DSGGSAWC{WG~b@͓ɀb }11[ws C/+-`3TD>c2 ) 6fK>uGmL,'a{#hkJ|A4<5\-UIs\?m&IU _r!KѸkj\Y)r0УbU!s +e$&\^? .SCT Q}zTp(^BhpeZhv="5¥in$^;j|vTjK$%1{a(q4\Z _M"Jtƙ֪/,3C*Z6xfဠɯRv黺9"{M ⹬TrVXs~׼:Խ+Џo*⚲fuM4Og*uN T'xX0\Q\# apkjxy 4yꨪ^k/ ^pȪS7Z$q+%WBI6*Zs8 [9EvM^z#1}h"TIڭI[.beXwph,&_H-H WnUK6PL(dg3לGdh=B8'}h~u%xB}NDe GvWH c҇FfLLePɓk pUQ[)4aGƫT`vEHxK΢?%SʸI!L9fQT{?~9HS^PNځRH)кFڃ05U6 &gM\HCW?klp:Jy1.Jx}L?Iޚs)?S!Ũ e Uw)N>06psvxîFEe"<[G#@V3(Lu'ڪ46X6Džvm )WJNv1#XnvPe_cpϕs$T鋡.^P]Р{Y}[4YJ,~QaԎ:rP<٩ o&hvst@jԐNj-Ll ,YP8ީёelS’7pZQ/qط;67rAן$leIz_@7U?LaW//qf^EcBED'9Nwj%r)~L}Nd*SJb ;}7>Ŝ =JztXaƱ`nR!X=/z7K 1G]7:K)m VhK^IZF2ONkݤ3Jl]`h~^ʫ٤ꂙ @ HK߄{6鉧oP*1Y'6(I\4.k{z:Q):ZWﮫšs^뉁;>uHqxvJR(lG4 9 JTeH)^Ώs#+1 Jgoiܫ }suj{  :[=D!54k+ h,bVTfF,m_|g:;r5 鬎Hg±) ̬]]a%⓫~{b:?"ƽ|15~Xhi374)B}`@r4&O]٬ۧt%Ӓ%'tM sg"j߱_(,T#.LZX3]KѤ-?U-<%< , ՝Z:Ju93o^nZp@)\]h>JU<1H!axi)%O.#<{I25#1JEQ^H~)QqQ)Q\Q׽&O.20z,TI [VT967xW%H3ω8R]Ԝ 9Y,;k.ѭ'ٌ9]fHۺx`Ȏ?v}lRaH|/ZM&В﮾XRoK?qjH*[IPrW{=Um^(:+4ֆRaLsjik4u5d;-L2߼,ѭdB4ѝ,xckHZl^}8,c8cxAӤ +?Kmߩ6OW*IJ$%cM@ӤUz}nUߒjSu~^|xVB(P῿5BJv}Vi8"lq0ٱ  (#9Zع@x`J*Zf lߺCPv%F% vڛ F\Ag ݘ hPS*g[0wMh"үyg+\7 6LC|Qwjc&Yd`L oT5LSkA >Lڢd7C@~Y%U3˗G9+O^;co&x fF$5FC{@fSc).W W*?v/+r ňA-4X^bMdK > AV-F,C@wV9\XX򓬀k确Z[p,h* g%kcAsMEiP38Mǫd6+  |6G,QDQQta7Q: E/Ѧ-?tӇi'SORޒ=vI &e*7t$qH.Pmp,y!X"5i{. 0Feeu4Ƀ`X>MdKo E@%jnoc[rbW}4\>ujh1]Xf9>쁉!$mU&U5e,ǽ |e :8?rEb[ Ty}hfJUf7[/gX5G{0\_< jłQ1 b6<(_B,>Og>Tn=ʐtsqe7W6<^).KVr3#]MMJU3Y=G "'bKހ@cIgZF{GW9W nnMŒNL]H| {`/ :%O6KX:'-WcCv.{In@@ 6a/p}[ݚw$@G0BN4?M?O.L?mnVIQq.vp!`>n 6ٴj+\s$|(Uh76xf^'ve9 Ѵspq}.bV ̏{6aVMqR[=0FC~PDiT@+ mLj*%γqOunFcBh j#Gor᩻/5+ `e, jb1H b2!$jgV80{r] |; ui\ۖN[?ASuM ;_xN {<1Zi04]KaF#`ǿ>u,0Þ]Z&AFtZ1 BR/Մhdx): ~sn(.ˋ!>aM<q,p(5y!.!7~@:6V6j\Z tiGYm {t)b .Iՠ]ģ!X֕WR_mЂ5;558q$NAR?ۨ?H,] o^)Aul񼩔(3('9R1_\e\?& EH+K̙Dn"houiuX SrN-IX2M:$X+Ҫ` q8`R8-Eym8%hwF4) ٴկ+<5}:RQ._i>oz{oWma#F6r` 9[H!:٨m>/rNt#X"8^[>sy_jPjOׁQ/8wE-_'.6M"?.WuZغ@{ON ˥V$O+1e$l^ܻJRW10#ִ;@ Gg4iP@ f/|UZ_^$Au8)W~>]{eE @SmÎ;:T7f7OZuw ot] yMzq,u-}%Pt 3|H5E;zrX[ JEh>7cx:"ozmDNRB.wJBPZ:cy$E;&L,F׻ѥK^÷^~g;ҟ6[ˉ;Cp 駈Юz/Fh-w1:xo8>$aUmfd3G1--)t.E%ƀ`(ǗyOߢ.cGw]pW}Ox ?>wf#Wa!ZEEG+zr }~9#'Fd3aQT2߬1LkuzoE^OWH%B\Kx76ǟ羾T܍n5o“p+:@1}d{Jv#Rĕ&Fio!Me1K+uQ!1U04#<_ (?m`A&NC.WTJ z~!rcsd_W eC44/]싴]Oz y)Ftf c)'MmJ<ʁx$>զR_8iՄFK P_SRtي=k_hB|:J[x!2#޺ D!w3(v1TnՓ ې ғvp5QSsǫ~l5:9oOcE6H 9,D挂`G3suJ zxg۞cnwG)O #DX|/խx?kw='ӥ B-q'#HJhaf:@8he7 [KJwstks4N}EΎɋ)|mU6ռ[p5N(ofi =2lv^YC"VuSA8\VԔߞ.ަ*erIg0 >:H{V9n}Nֹáxܜac)QPW+15 b+F6}+_/Rr Xv5'L0 Gf%P9oI*zƕJg:"AFed?N񖤲]0.9ug`@l-Jŧ+5a͞(ތhL;g\Ͻyz_At Y?Չĵ#A!>Qx!WYC]y*;wŠRKhXVILyo-vz 4*(\$iߑE+!"|1bYS:슜RĠX`ï'-8(zSf͛oQUSc寧SODZ\i70Y%1›5p>b?)ˎ@$y7J<g3o\ R+f .XK ;;KӼgPD2K23~b.tE ;<]kOb(Z⭮spse|ѕ{fWNyEj`y%`Y£^J˿ݤ>QR>Oܽm@2wQѓٞt-+1XZAHRPׄ`K'ț-Cui w8ͫH@XAE bwA.](Kfę/_Fa gb{fx#]z\#(_d[8FhR/! |P…2荊M=TЀcw<f:XvGfU˓oW~ϸFںܢcoU[ $5ZTnR)3MBcȥm?P9qRݹuh~d3Vu`45vlu:*ICz\]1鱉OJY h͹Jr*ŀ19Ftx\_v# …<1 :5ӨG8/]]:$pⴝW֞\puC m{78$FR#n3)H3CH' `9;Q *0=XB #wk) pP@m;_`SD ihTc0>GڦJuƿűt q MغLw3re$v{[p^;m.Ūlh2,ݸ *gBTQ3IX$219NK)P}^S~q"wcf(>}FlꏲxIIu#] ؘ򯪰 y\wIT3I2np/7|Q?y؋и=槰96jW.c E m)f`<7 6aOIh͎ʡ()sb?(şΪwz7Oλ ]A\6e v2]p0U{pN ?E&EJ. wGѹZ93LU-"DNcI蟯iuD=AwL};C4{Q bA@oO@:%,&ȸUzPq4BtBMƐ/rs& sb*{/M#y f4/d{+w9HX9ɰzr1 a$p(&`WZ<Bb Ղ2)5y+(*4 K$KѬ wW.fL) aa!8ieȟ T8CE$qa}#Ҋ@RH?r l+ ؂)6*"l@r=PujV2 3| U8D\¿ՅI+lz'E<`TRٸ%Gʞ0r+Д(T_y'c͇VPBxC(g6h[_9!Yq_ yƤaCv]vfʴnr[CDoa)㧧Qc l!HXL&{c ¦=a&`+Q\D& oeT ]^$?paOщf 6DӮEXֹr^b!|4DێJR7>OVJ}5jaY/{f2OJ)'%ġb˃}9y'!$fߏRy*B)QWYyζ*&eM/{;=/ -KE˷W>-FvrYmX dШGKPiF[y W lr:5+ӊy ;\yt0`np H=8 6 . (Y4<>V, kp#3gR괟YQ G;hUm?]2lLQZIٰ+즤0.gdWdӄ6h| =hw4_h/ңpՌ6" Sqt'GC 1c%,9}cNӿPP5< pS6c<%l ^KPZIOJFнx#t')2MNHw 2) vv #m2QCٝ5 s6n}T0PSt|k<(Pxgop:=# %WAL3ƯH9l7 tѣ*(md+aR9JNSoYm"m+uqq왯)CkgHS+6jNT}#@9HSQD^Q6O!;~6e@Jp-G ""1-SL!g̀9-=!M;Nf6dY\Xzf#)݈$ 0,pm:xMO.Ȭ;8eC ={?i{yaPsw2K)Gc RxӣXOT~_$6[@yj|W4JBz?r; [ѰmXz4pt؄EA uL!,Ǻ|WnW= m%1Q~ oTj;{䏞G6!q p{pI!*. ^3%땵 Pi7fx3%$_GgFNcAHOӧK{7,7ؙr}gkQ U:t9G0KxvqƼR 9&Y  )mn2Lf +"gL1[,ܯϊ&FPmOWH~yKW8nZnk^:O *bC~Ԭ1]Ϩ7e!Q@EQ:]sDo-94^ e(XxZ"GzmכC8!KSto]{6\ORWj(M^dcAXi:/AD|k[ ¯iTr][o|?Xby1I<}FV8֔\Nu? w88O3 eM@e:aRR,i m\c,ףD1hLS ^BB#K<1lA+ȊlAm( S$C:$S!Bܮ[>>j\ s('ћLR'h!Ng}W7ʽCE<ף•~Gjv":ER>S& 4fIɈ9-xF5-(UY.ӯ&TQݺls!?s3$|FXd-F8'Al}E{{/JC^:ښVn~CJU,)gNeCwL &}#lEP%H-Q7D\^[(M8Xϔn*u_XP}C9$l%r|{PJOYfe,DMƒ}e)~z[v2Rթf!_Q n+nۏiO1Snp}RXpD5) W?9 OhKP[{uu!S[zFX`GȐ͒8[Ùog+Kg2LЮcݫ+ ^K_T6Y z<6(k< BijA7%qe@ PFlOTU|khioHZmܪ?9P-lXȐS EǣsmAXj͆94Tem=:v}{.E9 Lj*?7i~p q} ~if=|e'c_ nEљԐ%rcjZ)i3 J`ŃA#}@`l=dcKAYb ksdk#̱ZyJ E ,54?fnN+x.IkEkלv6Q!;*>KvVX҆4Rܖۮ}*]~O.zC0C?W&4/SLcKet*LKZ2pXCtsX&_)m: |[lygd `0Kjt%¥;LajuE!3` A~Bxiy)o'刲ByzM6}60Ψ\ݰ2 -Õ,amza#$FX*/^s 3%ƫ5W-(w#C*DaLsRo 7Y^i+䗑B4)֜yq#N WN i?ݗҫ50WQڙ͉hKTuN8ft"6Mhu#j#Ow]Ȱs{L˰ no'63;A9iy#[&: U\4Q-&TJI~xSc bњ#ƏeGF3b\fFU"ȹ 4|PQ /#/c(%Hb %1OGfj^%g8K1vn;ee]:: ]z8<^Nnj{u*D}$q]RFܖ4qbNAXH6?/^ߐm O֯JrQj%~7'&?xW@#}Ӵ){_,ewөX{q! VT3||Ad5A$I5@b#ͷqfd ׬n^UƩ UU8E9 )瞞.aIy=!F@i֔ XQR~bTPɧYxQrUID" 0!M{}ؕ;2òΨ~^* Y̗GS QA:<ҧ݉\+^ r\BDwC {Ϡf>סFfs?'?|G]gRæ; ,C^O3Y5$l?SK!f%,Yf%v {z^8CM֞1׹;](p\'>WF,5@m؅q BRoOUG~y&"tLm U7ƷtW k腵`znNp8klj zn>=!ylOw1 n/C#Ӹr,C qY/6,|~uK҂#*(vm:4Vq-wzIx":\T G$ē+{-1ĒG'h2;1_79A~N/) ui'~cܧ~LJ"kGo8c)42ڱ:EV'E|QWpaB@oh$'x˜#NV֟8һI"fDQ47c*60n{mwPٟT[=3؀~׊^qU_i]⪣7h)d@Lh^#DG^c~ߓҲe+0ǖ^R;&uSX 8a߸7s3E/-FkRO5u`<07=)|Sm:XF1F!E+_ h@3z7 uL–znN0B \DY~zf0G; I(D#b$}))7YI_\.&}К1G4$dCCnve^'sIYM02F*<7h "pK47_uqC ÿRIJ, ۏÌ[un[l& ĢoF_! v8YD1 H)/ x,h$i֋*:)? ' >]=z,\Y3&43=kE*@X]$c}ZUb'L(GAY3DžYIVHn0L'~j)tj.J3|(ٰ\e nHMWcdz<.=|ћf_;ņqYx]hG;ѭ;n!֯G@Zj267Sl2bZa#⑳8wdAwmЭ"bmR3=>"D=0AjD$aYqv@I[ۦ 6hW˛XEۯ`H7rZSGDUlY[7N@r -P52R/yY 8Q*/g=:ԝdE_fÄn[$bRer2A 0PJ,ί#N!|!e>5' Qw} تs"154MU.ƠG<]vIl&kLYKnN ^eMEEl':hj9E<"Ea{zh-%BJigS&\8_ʁ|㋙_L(;"1S Wq NV8h[PӁƵG`KH݄vōDS'tp V|5A%oPzrvYj!G/,m #j68\%Pf']3v=>lp :6 k &˩Y hRHEakelJi"ɺH~Xz^;S.L#Fi _+S{\D['B:x@ Db=׻#KWHg 3Þm>d(/\{p-=7d·i?h uvR'2n7ħ\`%GZopy>nܪځ|}.d,Ivi0r"Ϗ6[΢`~LIFRm!NgGJmS;fPHw'mUrAy sX_bP9v-]R$ A5_jL'! Bh6;E汮ɮz5`,yˆVѧyA߀1\.{2`22ݭ=9ף?W[33m$ q B%|][\C18ЊZk/B'~uC!Tؽ-ҁQbы9Z|>{"Ԩ^uU d[!~R~Z\2}ƽ7"3f*˗33ZY'xAu6㦂H<RF t 3,[Y*37"%5.bJ޷ ];_Kt?LKH0sfJЌzEyUu+\FIé+3ar)k^@YfJc17mḙ ħ'Qh{qjoGuڰHIq!YBA9ab,F'8FeضLJ/3n85hYzcaz;u61ض1{٩L,e* (׌}vFpolk՜MO97&|'S=ԦTJ_Rο$ηLI&e"%v[XI7 [}R`^s}y޽&/= qBHC6 |; E'c9oL`|8Y0I#'EYsgfB=]J?r6~PQ( |[;)5㹘HݢI m]q ?`5gN9uacNVҘ>fnpxj 䃅fOu=-x~ ffH14֊UM$i˶]`7k0.z[\R;Vp].utP•abF~?ҳύ)#N٦(v( Gozx.3ϧ!?I* ]5q]eRP DQ->4uTB2>?YĔ蛚*Fj2|kkCKd[ݚitr3өt{7*ǹ6cM@x|Cn9 bȀږ"'2;wHh(Tdv$!!ZVufI~Y-t+#HA]u{ƴjL}t0OgpԃI ^w-gw/9P3g93${>f82#-= [ftŐ[ls*{. (K>/|t6LSXݬxDʐ7bX 4EuLK~m4:y+٘p"VᝪP +A21L@- k%Uo.&%Umy ^—=ǃ1v5J*݄q3{]ǍU1NH($\ur\njWU9\W ͦ@* PεcǬMPJ"-Bi1Q6@G*~c^C+-'iHEW8[Q"`Kv)P2T!YBp$V%zY_Og E!:g9o#WbTgfu>w5r)İ \J/\W]}#,[MqH, E'{MM)a R/AAM،A7&#^LFϋ"Úg{d0$,.$~if$吵6:Y<*`a~s‰Hk=!2?$Iy b8A%.š3?JH KKvT*RXoEcDpqP~z_YK'xxo N޷dyWظζFӎ)ko0~xKK=\ tNXtj*ZBzez]bf2.z#جXl_ϺÇd"D?ctk Ɨw\t!>!D`΋5r]uQ7(D䅣/6$l%Ma DLw*$1ߚ=vY_[id3EA YKb=1cXh2'G2`07ӯc랫_@ 'V\mZ8.@z* Lā /a{D2յ۬?SD/]#UUQ#ߘڌkn:{ʝ-]_zT*p3 ~qupɧ~]6(TekNsǎ@[Xz̈!ovNX]1/p1&Sew^]By Z]ŭ5uAćآdnN%+yvū} })M׶VѻW#y}d`6ǐ»>8f7 BDTl$ .?VɫaZsj2^@wmkڥ)ڽlnknRPWw,F$ӈFSl$k %ƊNV/<d/l݃CX3F ݄]oC\%r |3K zϞ&:^[!4TM1nد4% l !*mwׁ7B5S2v rj'ɔ)XD]:nfTQ6A&_uA sb2]")= X9{0)vf^(N ʸ(P_ r]ѭvöǭPJRa<<*6(u<%x6v5M Èud@}t^ :GI0ghVE'}V .|Z>Y=Iƙ%˞,s3)Ťڏ>g'`PN6CqO,a*Aq.)#wts[?-Fc(-c]"`+&;@8NX*bTbD3@ 72Gk0vM/r'q%\Y?lPfֽϛP*}2_2}d"n֐ as톖k]'6BVW&DֲABQ-`ښ`|8fYCH_<Uϰ6"X֜ .t GWήRwcX2]?ZQ kqR-%$Tx;ORWE S{vzc❾HҺ3C6RoDjC4 :Uٚ 66ϳ5q^9 lgW͍^'14|=>< ݟxq3c ּI ԃWК$<0\LϺ)RÙXP슬EY VSRdMⸯvG3xyIjh,:7MoZGjO6:V1Ecݐ%Pn J(9XzC`:Y(F֠Nf2ju1}m -.N9RhsgdV&VI$0@aTfX9:AQ%;%ZnYHK}٭Ib>0(2K я\akuRV ?^x#9F yW+zxF\g rՔ9ER:[pWЪ#WRv_H.+L"E`K$UzqUd[h6L}ik[gBro;YxLYq;-GirD7ͳ2/(Id\u|tc.Vp b{vn2ߕIsh?!nMMٿg@V+;dl&; gdjnAc~+]Ȑp#d=>g]g:?m oX2߁a-;MYu[_df^ѶL}W󙭐ܲeQ'}{o .n-uU'dEE݅#ǝ"J<Ӱ[{i20igҳ CsĢa5WX jϤ[(۲0@nSTGWc. 6^JKlQ8-tHv̜E m:#5~.;Hܾ\1-X 3ū?swn-(0$]6l GPtoDu^ufu٤Q|BVDu Ǻn+=L2Rܘy67-# tdVw oKSv5eP E IL'+ᾂg8s t%.+T ;zBlßQ6DL& F7Gs0(UF5/p4,w/T&mv>9PuG} (|;疜رO -ڐ737n6JG$~T)[vUÇޮ-Kn5:ql _T >4]E2TA3 b'wDc\RY .S3J\};Va6XN+G5 c l9I.M=;"6􉵲?u͹8SmI\Ǔ|K#^))Oﶱme{ 7hG| ;VdZN~/`dƴp3'f\1ϛ$f-x]EiTȿ4T;,D5eVLU~NS*3̡e$|3n[M-zcٲ]p~,*%_7$BZCdnޤCoZ"\Z}Q!1t%ɝCf ;H*&<^y&'d,&"k!GZ0" (D0e!&Zʓ6+9A!MkS4fjrY,ç.'9% 2胎4{ pOaɍHRtϿqɏK[lrx4~iX@kZ2+++([vڝ6͠l!%#7<2e}%!CW,W'Ϳ0q!b*Yf?K!uLf뉋Cj,:El ly ֪/OBڏvv X8͞& ^(T;Bydl(Ql3 @M߃7\T9H ^I]= F-3UѬ:*}TYAir@Nb:Lycqj0YVzр6M| , f,HT<=L,H_:钩+ T3縬fU|ݒepa*:9t4'M@Ns Qab)['6x{lB"cu&bjK%GaF Xm,?3Atnl>++D+ݜYHSxЄCe]zu;H1x_=cztc[(Ͽծ<(@q!rAPXt׋0!} }Q O?>I_N:WUgPMTTT93FZ,W4hI*SFS^Sv;+3T.9p͐nbn%$^O>2Oolr?5=SKB^<%g*ա @D 2 7!s]}L~-p* #Y:Hn/rX({{H~+9Qsj"0 Q3 9ZC6] b$OA+ Ŗ]k/nK'c!3[Kbv=POذOKrsabpE{qNhsB8Ge@<&JN|ӢuBsoӖNi]2bicD)}GQXMt=bqY?IsرC +cyI: Ç` zo` Ǟf6 u ]3Qdl0q ʦ)?ZʑLCןnt콄B?uR j(ƕ/hV)F0z@I@M΄ c0_G&dnzqG8΍q?!4HeV5ʙ7W{aDKNޓL)xcX?nGCwBz43\qL簋@3K Cu~ɅṬ8lh`(ėIbOZz H+v7^I*F_;sޞU3ǰu4/%oڄݲ}{5k2Cmw|"N.hIGiIZ!?gkku#Ύ[;1fs sPq©z@W{1[Z`G#`?\v[z$ lJUn}Oօۄ9SL$=l.nu\hIb̂q$ko- : Xʤ0iUY[2 y:CT pqWXPpTG>jF+߰k돘fnj /TaGY^0L:F *̉ljT-Ms=#l5Q NcOW)ۇpVh-g"mCnViJ-mۮ}&>O\O @\ ~!Qdk3j ō2>> 7,Y%"R .W!Xʕ X3iyYB(t5#{e"Rmc<%i]A*\ߑmMbJgWw?DYi8Q ]zGiY>p\RcOEw lrP*qL(zن@ꕁXc{:0wPh|P w R/VT%2aM"%_sBa`oܚ #W܂Jl>={HiE~@)zBԦh,rZ j< yB3PZ04 2=>#4|SIL=Ew3Pi(ylb+W%Ph7Qcؙu+HDVT L r>/&^(/c=$Z QofwC/Z iqYI4Z/?XjqJ-).z5e-=Y P[\ 7ghDb_nwb꠷AQ3Or򸆅vt՞-H O yS22Ǚs1gZ"TC@^X.lsyζn؟|a- IL\cu`ѵL&b D\AV:G7u, SRui0ƧҦ 2xLf!t@KlVN5e*-bڧ)}>(ɂ=lP k#N<Ɩ9Ҕ(NI?X}ǭi4ʥ(\]0G?ጽvxU'j# TmWҬ%/@p%v[+X~Q}:|Hvx KVR7; SK a6]S@T;V7$\Z<~Zc4ERz"TV\\L>h)م7z9DzCR ?׳{I]ar⫃A3h\!RCq |RE7 }YϒYw*aƕ5X! 쀿 ac2gb|.+}o;BGՖ3]V0yFzTj2'fڴS`-)c>[ _`E?A!=RoK۾A4,OIZJ>'IkC|v_t2,}n:*b ;5KlR9\m#/5IFi_*07j45_i fa'e+8ȌYkYߖ+[dMoYMLh)HR(v?Un5 Go x P{%O g@'P2VnI`^vQsZ4u?*}nfcL_LA6pSMaI@vjڻ&K:g(3;CrSr ڒ'6V*Y{L8ȉ.q>&ec t NX) 痣)i'vq:k驵"T4bN{M$F?KWrRtQk{yp:h`俲ⷧdN%ުC;ZOB*+-Rˍe(~#A,=NlrD?q=6%Ո\po{TxcJӡE;*ٌ)Ky0-cL6vgzÖ*$RTʂ|WIEevɆp]X1)ғvE &R`pgh,Ӊr"F9X7n.4l>DC/jDK!\FBKS-Ԥb 0f3qZ'r" µkfgRؔ͋0f$n̚LF G*FGԴW`)9nnhx&'c 8y?[,S lߐJ+ӹpOR]FҜ[7Ot@%r{H6܆lZրKRH@s*EQ(,al/2:8Oҕoc+M-&測5N;Mq-}ύɇ40ː*jܱ2I!s,!oa e([ł2hrutHs_N?^R4_¨؞-ӱܻU;1fTs ?gZZhmXMIŻi{!Kd9-L~|Xx8r$nyn%чyo$WY$ %g_뾐ЉO=!}.Ba';~aEWGHV&An̈́S+2^,n)hWE(qyt;$R2w0pv.,AW;/ w2k-䶰'G 1d5TEʸ\hZJN<-KQz+ezMl4=^Ύ 5%kw|؉qh͕ǃL)G9#X䬱A%Dp ;R{,C&_UFtY&2H*?M{+UPON@FNn vEhCǗ>y[p x(SA ?P !*'5-k~`%8bjQkpx.I~}-~tQ71H AζIe7ad  !\ P%"7 ɟ26;oOf…EhTD=Yk?)<w,ks1Ke0^"}Fe9kn#:? V_\p8̮&< 0B>0Xb ;Nkv/& K> <㫹*V$HP&O)V$!ʹiag]e"+Ab jᅫ=jq+7>( -̇rCYt%mn(G锣̿ϸaxzo/;{NWdE/p9Q`r4L+Tvˋ|Ŕy@^W 5'I0gޓCPB {C歰oJ^+<#6˿ pkB<,M>%-{$*dAEYO!9z& _SS{sMAT30-`k7 ;F1D N$Od*V9yK\ғIeTEOmk-VL 4\dQǥtuqR mtTP_ёyM\,d?Jl^1`l X>^ya6QLM572x^|z[4J9 V7{"+t սpP{CT{b ߦ1Xyc%q9r !]{3ErO\uͩy=`W0?3ᘬmnQ`g\ ~vX`"ed(7+p-\ (ά hV%)rE`ڄ._7JD-lsL4T2/K6c.SGm+z,!Vp,$}&&!+R0}<9p@oDYڸW&ZSo;,Aϣ*J"2j7- R?4?I2 ?8uQA.wq[ͮ3Cn0ޠ76s)f4eT<@/kEޣhhcRd/@lڪx$5&K~.dʼU^?PҊ*O>$A' „q'y=˪Mm 1}Oa;ZѮ`C&p"Rv qxocsL *EI"&GtA)- RU8cVVtْS>귴%>/+8َ䶢n`DO=J'SXr#=7[51e?)?\&]uIRcOQJղMAA -UMinѧК񮢭CsJtۖiG$.XʒS[}W՟%-;BWUSW8gV'+VyJY/%V}rA @V@Gݭ4] qet[m1KmA_N\"-.[=y y4I'C~V"}S -H ;잦0a/ێ >[0خ ޔ+a9qnB[n<;&m F@t峏l:?r=ߦ/D&%q4a)0"ܨ.fmvjA-[.W`)c9u^>]Yr՚d2n{yDΓրQp{ɎIJSNs5;@C dxi.~D!5H&-I9Xh1s_ (oN]i f( 5BXqN(z"գ4KBMpM'8ёn\fl#Xxӣ d{.+y~.> NQz.Tq}{wRɨ*K^o=Y\.]mJ(d_V &Wl6WʫBCH1DƥU_.$~ᮇku&}ҩ=9I1Eijl.V3zD63LS1`%?`%ed[c r#)_nH#d!$1t޽(BpY0%u7]Ӈt-tN9|Aiz`~rK GHfi!9!\Jx@ s"u X[}]٨Ȣn{D3#YB_w)\Q[$H49o躇Ļ3/m{՘'`?+?qZ?̑l")u/Jdy1s,F΅"ނ4nOI8w΁1*Í J ȤqS$*uH|J ',OMu uO:Kp]_m>;Ry&޳ܸS*%Z^"2N^eQ' #b\AZ[GLr 7oX]~`u`Z uy#M!\c1VWa:2[Z*=-с[?8.^?꜠Z[R=y*kzw1, `us.eћِ}5.H]G qc:1mˑa%Nfs߉Ҁ]irNf|-xX3n4#$}@-}i>| |ćB0-"T)OqVIB_:(z-^ W+sO A08p]5 FwMO;`ΥR'(ب*X=ӉOŵ(I{ZW[9 ^'@ظ(R5 ;>3}pb{^ɫ/K0's| [O !q"M4-Q1ɒ-'7$SFM -x;Nv\-gԀ>[h?! b[p~a1^ok4R(,ײv#;]6s}|SH:勣8-VobΌMŜ.E]t:=Φ32EW 빯5qU᛺A&ˤY&j9o+)@P|r`H{7E$*'!Vn2>>JY+xω"'bz8cpҴ.o&-=vr^a$i0II']9 kJyrۂVA{) +* kP7o$0|x+V:G y/I1msJ8z.m3@$s) tBQMCXĐ,[#/}1+uGNO,y+}-jf ]fl/%x՘{&Q Xat9_Ь)nJ# uLu [*|A|!gw"ãyV-WGFy"V|Bl 2+7ٴ4+ ߴ"7!GJC*nE ޿6Lb^g"aH-О1*#B`saw| ڋ] +ne=6=;R@ 9Tߪj|?_%J{ CR-;wRP0c 1c1WJf?M,ݜAߧUZRm2A](#au5'y4C4^e8鰱ζպ&M0lyK=!oe *F^}X3d95 KS-DM=Āmyx^)$u>t捿3#̘߭MH8{0#u,sUl@CՅY< d!3H-/FDS =/m dKzȴ5s߅vwcdcl?Z At;24}) #R}0BL|B_5RaF.-,Q7Եuv4'SuvȅO 4YxYFM<ȵFiׅcA"R,biէcTjPZ_bv|}; s5A3r#+_Em2S(BW Ȳ wEp,$h-,:uihK}H_9i^d<&ѷ."^̿I@'M߿xJyS#e݁%Le7,g O'e%J')hD -Bz֗筦my'Z+F{R_[El~+]I[u9B[_cf,=;2ѰfRq|I 9T#eS?uI ů cխԋ-yQ5[Sfft%-zf?Iͨ#%;{Sy8! AX72Zb49}{l]$b5+ݿE /G}.s7<}q+r6FWdh=(U_U5VoXmNĶ;v'߉?MnKVA;ʦX manfq|8GXUފ'|0$¹A5Ӗh@G,p.2vHU}E~g5:x`&;bL'!>Ϸ=^S?IPΜ碊$6ԙ'*@ 3fr;d?¤Z"i'DʯCM>NψzTh`͇Y6ݠ*A{DZ#uvHqhOw9~ީp󹦲Ty ؤ|짾`&Lּ ߱yڧ q+4uk{3 VJMXE{rgŴAw&n#V黱AdD.$-e2F􇽻 /J҆*7߇p4da AI069"~j|^ `qNKRqJHEM);ᡋ #UđHKƯu7<&g~Yp3%g~3 iP9@ҧ´"sgPuWxbٓe/CpN,WܭJ"F"~?5ByfjFo'8h^ooQ[æTam3G} ctc9S;*žr"A!DʟN Q7P_ SܺXd`^R e؄Z13nBA\ۘ#dαRݢ%^MZ8*U`aEUPH}FԘyLE1@~fv*{m¹UW=vI'd8nGVgފ~hdtV0&dž }jȎ=񐜳ُx@Zb.x ;U0N ds\)oev*40zO}#F5..EfiQ_>:Wn&p9J9D`%FчjCߌ;1Z@o"&:')ЗiZ`KIJYELؾ6C X_JYCGIZH , ;؅!3P"3wQ'[C: [1gGC$qݘ6WB*!5b[4 qP3*.HEeq_AϾ>jayG:6z]|fj&Ǻ|h^~X$+ŔY/lBSD6Zxks!r;qżr9<9u4 Qq呎^FdJhK.\Ut OqN:*N (#4vqMfUwLVꦙp ZE!^zhH-7Ԡȉu ̏h/|q N>uA>|&ثmeIqfžE:y ŠhJMNjV93"[fO!s?\c?[$,e k;V"+]35klrXAM5bAr}N"_'9qt"HeXyf:w04MClw\wkqu Z,\7Wxc=Nʇ9yTU#(kK BvaB%Q͜6Uuc<^ޱ`6evk}?T9 ϳB%sL/:َ_s ;mIF;عdD֡ Nףڒ?*^ "섒:"9ݥ@0Ww k#'--+#3 aǪedlQh5jN?G*I>E~ȹm031({g0BNf,5V^iYK[_P ](^ ߵZf@_P >f>},jn~`%<tOy F2-.l04tV^ ny߷a&qShM _)l’xC;ѹ LUeFUL 鬛-nď++O" 2V\N_36N1 1:vusb'k_PiZШu«|2<WEɏ/3oǓsHV@p.k)yԄ,!0'ǣ Qr#CVHבֿ%݈ǒS dOS^X/cȏ`L!ƴ : [mD%B߃wb$EXm]O/Αgh}lXv˗6p} bvrPEuwgz&+#ttè흺]=!9Sj-eD6Z">T%3]?'I0LIq=c '+Gg9M?K@0K11"|*7]*+ev3E[)HPU nx vn0\ts` PܯRe(JiWJxTK. bcUtNgNb9 |Lw&,&^|ˏ\M9BV#"[GNno}MNqM|2Pw(Gۇmԥ؂8Љa YtGD)άIg=۾@+G™eOT"GFVGĭTloz]W9cgZs?]P;346{-j4:dnTn _XYf_&H?ǍPLYlPAdSWA6|Q144wU  ||O1 H?F` AxQ٘bL$mS*KGU Tq[ !-!>J.J:PN͍\#',þG6F{L&|K0y;vh|"M\晔ct]Q>Wg s!oY gRѱT BF=$ӏhhl ԽS_UPk)br4S;~:nm Lmpim]Uw4ٹ݄Gm*c=HAP{]i)/ [蹷Ӧl&H|ۃAר ܜG?@Lw&% 8~i w4uY[0P 5Ln 1rhg$Z/~¼h]O.EοqRmʞyRD̬CM_ V"4{ <laoyȏjtP3X̟5 Π/~wbjWq$vyXK>p7R!GuTq>J9U%f+%"eFL8~:{ɜIkC3Уh| rE `ˇKyZ(pRPOQRgH_^竏Ԛ,o0?@Ce+B** "?Kk  N(LlW%~^ֵD VGuxs0UL3x /Tn#[u!EgC˗n?+m:=rSjqh[|AjҐƎ/_(N4*v"N}&5ݬ]{g N{&x$e;"g8OeX3A=:\x,1?Ǵ3Qܡ5W~ԵP(lbL37.p>?%$GEmsj|!/} Wospmyl`i,Zkt7xʟX_ہɔ;QU3=q+n',Ks/, ~W!*CVQ Bd?O\ρ*YŽw hӕ/+YL=jl ޾ &tl6t$BL@Jg@.XneyZaCd,$?'Q]&=Qp#"1 'y$CMsTkT4iq̻ov1J>Z4D CGHe:~Q3Wkv8 GiFu}d Pt#{Jf=V֚ ơeDRMO=ɹ`ď鉒h9NԈ yypaBX/ y,WNe⧓PWAiFiyߟ\I0&8^AUЁp{Zf4& iхf#;\\!g紎Dう1Jt5^K aŠa@Cۮl&f:3V!h (Y*xc6%z(K8s7J.+%T`},ūPx}*C)km$ N{nsB(̽fj/l["/.1SS[`ʍ0#*JfZx9YUG{esK/&2%^p=4\ |Ct\ JPzyg>t_Bȫqm[;;%qcq`OUl#0c1uA^Pvj ,Yec >8ICu1#8FwE3ۖ;& ։}.u!pq!eZVvG\h25R{0S{-b[_EbcJ}* (\qJT%,Q>Nc3|H`aAV?Pw$S`4\x飯8ךּRV(4 6-q\Ҿ#i1ef\ޮjTR?Sz!W%͇>jWiv+W%levRR3rL-VsMF:wG\[R eRE[ 8#<(ڀ)U{YXm$a 9COcAQiz*h$%]]dzLkiiF@:=o I/܉׹K܊ptF<3KZc?mX6̮wNͳ(`0lW6/B8TvDѮߋ;oњPɠ CP;[goׄ@ͨl#ff^ ;J F JV;.QRU.ao&L_@Mg=%z_=gbPAU!(PeyM>>F^jQ3{cO~ faqCh{ZfX=}:J vGE(7A*b,3AzxAp03]}{5rMMqJHwUX)IҠ{1PjtEˡ_-j4C+#e%eҧ{ZӌGSMeūՑִ$[Y!SHI& ]c͚Y]?ҭ][蝬GD2c˪`5o~; ?66\ O 99i9B# rPr rhLi§St.dzpHS՛ CbX&c֑ -?d>Xc*-ڟƄo*"ZH`W E3^Jv~@þO^VC7 \qO-sbnQI$P=E4$s>,E|lCY7[O X%М.g/aA?K,Io?^IٖJz0 gUIK'{i3J-23@- p {xP)Z  1-H[Ҟj@nXkǼ7el+bǶj[ \%*[O!8K ЍNoJHJY ĸUcy O])"n.`nqƲ;+'^3!t}oo,UXO_C\)Ikqvtzㆃ)L//($sH*zfi{!LXܘOwAi"RZc9T`!A07H`'M]՝iB3DTX~uJ=8͗ܐL)+Tln"7Bt,E!._/TuȘgZ&5{oH=5fĞ 2^~쒊 \R #D$KE6\wxF;A0^Wi_M{qns 0~y?7)ֳ$d??Z>oozԈt( /EI%%p|C~0oa|/]_"^{wƉTJt~*]%nrhE9!.J,v05FU4F+ֹEK"s hY݂ >s2>aC"SS̱bGw6ϲT&ꁪ}h.lEHd*ܯs1!C/N):8cmywٴ=*& N}E(S]RLigy\ouȡ5(-uLGS - з3?{"} }vp!pE|c9RRK& g'oa>ig':X2[jcWRf2AqvOowAj =A_,;L}ԅ(g8[/iF廷j]xܞ.`buJn:} HJı-h:Qywz$G߲L$0[_ڣ5)K!\1; 9gHDl/ gencOen01bCI:qvwkc4:֛kƷ~fǰLQMoQ$NCw֖1WixM;!ؐr ܆#:,z E[P4 Dߤ59dV,".7C;W&HEhxo@)u|igOljI͏6Iuy !b$Tg?7v#h.0ցbց*;~Z 5୑θ\~KS#J`wBM(]$感!N02V)،}Tdb['%B#b9P{Wڷ9Nb!ѥoyXеB=+ cldRRD!IEϔmOS+~W{ OFbԍf[O=d Y@վW@%RBm\+0u[8Lǿa"DᲘ8DrABx65SVw{u%(ޯݾ'{-7 {Z)lv?*4_} .TK ~0I3ShC=LR!.}-L&RV 5S+Pۂd]@iOx;@$tT.>) 6Q0ӟpQю\,Z!4 VV-j g(sWlX;8ʔ"1e Q9:HD~I˜g3$;@C_ѶzA'j,Vb_U{T|!Ǣ,&֙ӹ] >mT<>NƹF-0Z%Rf-[emdmzߌdh YeE|`zMIGz!F˝,*5px/qūM#ǒ?!k1Xv~[ry!+gW\/sQ)HuR6#dXwD|Ee iF,AJ*IOʒk l`Vx2"8F MSJC./DOi'`Q^wp;C}F)p\hM#(.^~u6nqQeYҎ/7%Z=Sl>S.Osh'EWՅ]~k2`ٲ <5}  VTKCD_') Iʕ1Z5G">PI35*ݯX1ppdV2#~ ͽۓ 0B̲ÚFgZ"1ObLpFT6'_h”|VAh_S9GV1DvJzb­ ߫ET{3F'!4Yoi 9m\ oBd6-BLr/S D|qdGI]{7F3 Y܆y6w aT{r9zKK[!WKL6yo1=iaN;Z?_^:v6~,+8yvheģbv# 6#;3Oϧ)dǰ?%m;(0V+Ϣ8N6hLٙVl`{?#Nl3JOrL|à6*~J%TɄHdfj)Tq H L\!ڶ287i߲{(l#R /Dh3i>/pJ,kAd~nzG:]K-5p{,- ڞA=Ba ,gd@}W@t#@](.5flro1D٭=¡2aJ$҄e(v_ Hpkm,YZ^? *kϢ<tGiST'ʨN]_j\瓧L!R" /k,MN.P@MD JujEz;Cx.FoV1c4cU%J't]y$;$X mn9f:](/, yP. -܆0F=MӺ/eY $i m95 U>˘IAq=W/,O} P0`~OIę=U5Pب0o1$p>bW!HF-x0@Gڿ)rnB_ uMWЎ:ǎJpɜ>ǛPo-Uư$J,/ip ko-2.JQdGU7}]q$;h!>q^j-Ě*Rn I ."mg3Q="^M[[BB=?z׻sy :g.*1=BN$$/v&-6Q9WaQ aB{XVigR̥ 1հ93nϭ=Ͽ{G"$M6t1\"tbqj[6Α\?ߡ MQ \J,dT2opRfrP9D .G!m0K6RxqI;ހ0?DFd1ͼ?[$CώIz:q+xM u&&Kސ^`VeXvzV0(A>gI U#ޯb#< h^ǣx {$b{HP:TMR zɣkp{HbQ[ZU"ZZq$!6;kת}M"_ ҁK Πfp|6]'N)ͰD҅>nnZh7v<*F (+܂x8DQP6JO>c0 qx7GSqԵ~.JS댥!XQ^nFɟhd:+ַK&:\++HզFc ۟5_l%Ż_NE")O̦WSH8/?4 צ-m8Z2k.+JH`2[&Dt4$i鼇V i΢7%8ԕGqTj)6N;M{'ǥ ĵ0KNSh8Gr ;d蜊O$]X4O)cyg4еW{Z@1TJ@RY$ZnLhűS2o=:k3:̗֮59* 3*+&Aw:qob$&ӑaAbQ< QNQn9o t[~7bvܫP-.sA3ΥM 5NHJf%M!鯹M"=MUOt#$G#؈gv8k(4Aʧ'[z}3kös; 26>M#naVmrJH33_7ZpC9[N*)%t$.[A-@2fXWM,^˶L%<5)0ADvmZ2_|)]닺`c΂g. k U$ؓ#Zu%."J4~(.%Zڹ%N8–zt0pҰd0Dz/*. Vy6u3I87,5:ˀ(us֑V˓m$S֕2榭 Ǒ7%UO,!AmX-+̛fd=6d&d|rd/9. _h5|d."1? %?F69!ic"^wy?/"8MFW|8S!45ifE`[囵WU0 R򃻄SODS=XBSR?VrΈSmeGmᑊ5$CD4Qǿq)E6AGAYf-Ak̘J1nj7b,R%A. &axրt ~Vł"0ފl`C8`KFvvI5 r@p@Nr 6a|SIV%\o^Q=Lhle7c2(D1n֩Ո~CoGoU3u,0^>y割a7#qvo]1`^dE! d;;EZLsN.Ǿŗn7tUX\-7v*n5ԯ+~f4Jݴ3)$DJ8._C|0,\ڣ z'J![*uhajloy|ڮ1%uV$bb  UzcŔ*g'QP+6({ˣںjO I PG%ag Oax5!nH$dsC ҋE Q;V}߼Pro|P I3 ۄ/w?,2Wdo\ieW*q''F Si,A&{SG{n'zw'=}Ti\(mV^w8Q`5azl &ICWt],B3ǦbQ.Fd D3uXB(IB X|Y $P>|xGͯG^ FK𪢕Yݝ'|ogIkɚ^KIC!z-&o r@~X`pmȹ)֘ LJȔ%pkaV66sMWTS4&*ӖD>M=1b)K3Mn&H aV$֦H6DPh$OvEYi?+aU fR@Dz1#2FVBd_sm\SK^()ϓhS@ [&z+P'I) :tj[H(c_fB]b!$Wݚ@h=pUJb`hbSu NDiI>a1xP:Po&~=2ZbVANI؀_ռ#A^QwyO/!I0; C_u?\AgAtNAF['Ӱ޻|Eqh6g ;kQ6hW! rd9;Xv \Ke=-oZ}^'rWۆ⥁ <+8FE3QSb>?.ɂ::;_ ,H1JK-s)8 ꃤ~2tsLn[[ d@S8b <Fw,+C ;}E5TChN@ױ $h_1(WwWeQвdm=j|п`, ˭#;3q&8D~r1s{σٽ^o9v)ݹ/Gb02#S,m|.U!`Hh#l@;^=TgB74]\fHqq<녗Dqy.Aд+jatgj0x%#S \~0ϟi7 AB5[}EE5+D?Pz nq! Z쯻K44ZW~f羠@U̡AqJmݡp/**uhUM,l]-٬`40rZg)0wdlHܯoI5w4B[eW{%",Rss8xyβLx@?nfQ\g71c23|h~s}վ^oHkjǫd ne9^_ݕYs,wL0[\>?Q  ?Fj$Un]1WE%w/DR BKY>, B2><,K }mcG723o)3Cc Q`&>J|vxgj0gp_~e|X~-hON6U+:'9IձDgraѰSi0~"58_Mj*Bu 쬻AΎ)zlvfyvD]TaH-X4˲z/s|&BrA5:Z|B@P劯m.[(hRXgct!Egb2:8~K}XG8=i ")ޘ"vJH<:!Pyz v5\,6ؾzdPcq||Pq$ho Y2TOEU1i mZ}" -WJnS}d>tZ>4k%'n! =A_‰,Lhc}!FTi%nO2quS& -8mɥI_I/Mu[P}@a%ΖGA$4IaˤY #q /."kYNY|"$\Me+'RqD b D =91dy5 {ۃ]4k @NJk7zzW0u1d1NoHR`PoL"RJ{ kB}kTK7g T ;jiWμ%P#ooZSyYp0̺r}`I!9sQEU3tntm6Q-;["<#ըK"nrbW`{)§P>eBSMzt4+{RkGȈSr}D>Ϣyhpx:ŕ.dKm@G/2%$R=r Yic.r9I5^Hs@n)@%wDQ?o"RnfB4ۘ}#e^!~`kl30&W%eoVi*?["p~RfP92=Iƽi0tW%廝R" TWS< Þm9~ Jd`͡ട:0up}m=ʑCljB ٨ ZR8p[NX jDɶUW@3OԪA.c&qdN&GԮ2_`U2uyˌSc+^ ͂=~bdYʲ(塇 :7q,L9 f\ |]HV3J}10g,N(O0-KIP}j~pH6% TPq1,Tip^\8߿dUƏݶ>vqf甈0qme 7vq@7.PZ*b9$GS57Vr+.ݷ!r~<6}G'p2w*^p {t BTq L mlx!q<O9-BdzQvE8:BYΚ' uv?8٢;; >$a0_GO:^l zV{ɀO_I䨜N'sφKWWcZ>t<.%H^_ּ7Z6Z+ѫ_VK[ˀ{F ˚ ?#W _g楫n s`kCG {jW;;ti*CVcG VgKћ(1ɉ=Z RېyeCꕻx!ziCHё'^zSJ(0FV <]EVD!n{%PU6%94PC^|X%!ݶΕ{[î&L4ҧl8[ÃrBnX3eZh|bgs! )[UֹLKՏ <:C]m$wΦ q{:|ѵӄڨXC!"0:PWn9uQgFIhzT j a n;uw#px) _$x sPDsk9=bӃ_-K)OS:vQX^.'sɢ#XIPFӚϋ.o!anu`+bгlFĝ{eo d1ZQې׼'ˁl]B{;d-f!uWSV"a._G2 &:~>qxV?&syOj( '; AX~q9E{Q-T|>?x1iéw$಩ XxPbG[K'͑^LjA8gVoa[X6@ܭXNܨᆔc4$x*fQPͩ;> }?8Ҧ=1` P& A3%5;hc΍JtyGCNN̎uMJ ֞&%|07!d '7 I©8¼A̸|kn䲜u ):QcYpVȀw&RS +"tЍ>,fU)ʌ%Vg g174Nhy?}֫:5";? G?rR@^ T9:.Fur8(P7OzИ!/ݔ xP#6)fTQuhPig藢j.+]:$0>> Zk@UǾ~2.oe/v̅-~ T(?\Ua:{bE'Y$h^`>38ٝyk8%ȁpㅙ Q D<yuQ|UV%uF{^2]">e':kL$YYgΞ8T- K@ڧ^Y.h >Ó7 џ}FCZRZ_gl>B#a(pԼrvյrSBZE; E  ӧsW)H.fL{d"B:.o%2XTfM0\e~71w]L{n#_b8k(3Z%~ő@GQB;:\ ${6V2 }k^=v.#lh*5!E京k)8RbCSe( pS{t X)t';' ^,c!( ?=TiGbziȡ ?+XŊ}q6IլmzixwٶqRϿ`w>p#E`N֕Y*tqXQ&򣵶 ^qपn(z^ʧ ti2o7=4P^.qMTkuiܻ-PG9xNї~OL[Ma?m^wZVKN8[QVurpfƷȪ258ZX":)~ Î?t *788VU;JLt?SܵIG^Ч`zHGsEH:̼I.^\w(d«OZJfn{ӃsP0aVuv'*.QW$]@IbO_&/J+'p^#h;l'\#;M;ʾEwIqWqg ?{A5P!g΁Me\I]q/U"s\+xfIP?[!tBy@GZcwdYlxuB˩ib4;r_k.Ko؍0M-YHۑo 22dDb*6-3Ҫi_9$Ɔ1@$v1:=crxۗ:3s>Vso*;U{L-e3^ 1hBIfq]v(W;I\e9uBM.|{nѨʬNo ?678Jn Hr)7{)Qi`?',M>-wI(S>MbT(i:N; U>%C~EZI "h㐫[Ks+j7ۓy~la0zeVXŽM@Wa%"jU9]*IgiB2Qݮi@|J P@iAxO;w0)B ZoB[t[NZjxfV+¥ׂ U nb{W㵒>50LBVUXS!teé 'wh0d%l օ'|V=tíP0 K.eQ "ӨP 78c`BѾ$$pQ(ҼgȠS-xH4*U~˰hOJn 縓6#iy6V`3%;W'£85#TgM|s] Lh0%v1@\{ @)s9h߮,`Y2 )Ax2ko⏰5CvP.߮ 0 ֕)voJG S._4CJgV1/ZWDWi M58-+ȞF}0Bqi6mY73_;1R3~U/dWOAׇ紕qw#$+}/ ]ļ/G/V!! cXZ=%Y+.MBFɤB΃{ PU.; "za@ד[ᙹb%.%(GlCβ 2-H}->өE3˔o*&Ғ 4'!4_;f"a~PIJ?ˣ~ [O}fIXؖ7~] <me <$8 w ǮX4W ĻBf|@ւ䙧:*rty4 F;It:NGQJ?Vr {z@/BNKdQ딓-5ah߃J]4ɦ yZ'͘phi m C0m~Y5#ɲs!˰Oe!U"PRa+̔k/ s#ڷJ?pܥV V"?έa">(Lq`2 <r䉳q*XE(:sJGfjV!PO'N%U_-^928 {IKAr(|h[S7QS8N*hJ `P_2 -;6g`$n]o)#(  }/oEJƽ+UbVt+f|TQ /w}ʺȾ%trwͬ9JJg]3'6NL^K$vŒ)(a%Hʋ}$۾ᛲ"BǐVvs/ k|Cϙ6]hg"-gٹRxUD0~e1N9QxL,R `rm X{ }>[˴_YȊ,y!5gRTSHmz7X[t g4칽=T]Xj,Vo.]*7, .݊P͍ gRz2W!޽<߫sٹVT7ֿe.C: ͉r$el(-y zoDt"R^D3".ɋ3ϗ,yCRqKKN+PKfC o. ̬̬Z(V fʱa G%ͥq OWndr]٠ f?&"mLA\OG_y0J#+ s_˹Ųo_'$^+'}lՋ D> l֘iV70)ENʏV/N¾q KœXO2jEqL'Z'/q1D6FXԜ;!&)K%#ϛY$T$#O],ܪrٛNF+ EJ݄WFbp>0$Hd:#9[o\X'"HxcAg߮UoaZ.m8-X? Οc;|fTT"̛L~sdէ-[ 2/#LN$%dx!o&Ԅԍ׋-aid|6d]aYz&9X(vay{"W Z-rUR qq*sP;JUSZ^HCS˙ +'oklυ@j*W|U%h-cƱ &h,TrO(Q))M/M4KN"\ %{0263!}Cl(SPx덄a uCO%z*Ef.;3JuI'@s+#\w_i;ɔ`Nc7X1v`ܢ/;${ >4{~ rE,oWp晫^3iUo,--0!`MGP}Ж0I3C&*XzVw-Y#:x7Fv!iE!&@xU DCͩ #દ@p\A阩 ?4gR% xbhͩn37YJO'vwzZX;qc+<rVĊB7:Nx^n.J%k-V^1 znG;`C_[=s 9v;LLxaw k8Kwl EKבlJ'a,Vl3⎈ŷl ctr!2o}g3VT:tAHmsғ_CZUߦ>#&w0Ǐ&Ubm6F+m3("~0ܟV?|Uyp(3bPWQê^V0lx 6pDeX;rtIS}R@a~f[~aSQE,~lRI*ԩU}=D旲2Jn']NѽkAQ58*/ѫ!O8 <*A:K ,%u`4[L10_$݅O;I]Y J /+ W"DqYLg27#gչTuǢr33: OJi~D:Iu` _}Kj*;~ At\ՄQ>.wOvzm4ĭ G \"pt(DS-^w5e"".~?!*3#j@3Tq-5)*ep|GҹR}MLmYˊ[>K,QhyVVI6FjGQhVM!kmM~Vm&![MӐhFBmyN;@iLza~׮Mcʡ~)$?]EKE9p{'YlH *1D(WsJ9 ݠDlp6W@HUiY:e9Zi 5#{xE.9tŐٗ^ugI)( ;,C2 QG=~]xԕZ448"愯2^m{N?ҫ۝b*MRžDJ5 -XپqQ$jguK5:7X{VеP ĩ AAUO\w%Vgpv ѫ.wpC&fF5XsZFuF6B~TnNV@S Ys[UнU9F9*=١Y[T8t?T%`o 7/2<[4Q4{*w,"#wF'L4Vb-># fu#i΅QRr/ w/;;o\Қ0,oV;Xkuㄹ wuBd@-uUpAVAw8"BR!/,0 ^h8@XgCB ]ZF/(#xrw1+Tald8|[*BW]6y$2…P?7z e6,:嘷 _CP5!;vTQ8&;.R&e_E.I3Ki n `v0nq&p2˝EŴ#VZ/1j4'f{<55KEn髶S@cFhvPls#)%YٵK]9D߭;74v8BpKK`8BD+"jzT}jA1OV̓{0R{h!3GApK\qb>Qli}i~ t?jc\e*njǓT>;Jr)9\ jIr>ݪ^KUgFLwx&nZ¼OA l4~i@$Pȗk8́/jbS%Qc@HEXrC/޲;"}&;[$xnz'Դ^n(}MQJ~$ k5wUQiVƫY;#;Ϣ]ha#TSW^lՖvZUӨ0iy6%^ҍzVfk2e7;4TH),v 5# 7٭y 6w`uG맺7tQ;%1m2nwhyd3&M[&sH҄yF˶x"l8&njbL` b)9oY⧠qG5I?rr )&7˝(%s<#1GɃ8@I"seɡ %1@Vn_v>o6\X%$pqyêgd+i7bT\I m l1r{[\Rʯ64C[#8mxx ,b-%4čsyA7l`_bK13Y|U3 *"Lf=-T W /po&e1iA;wV~Ȇ&FanJvBo̿5~4' kޖ ! 4#IV4b6i3a*{te.y2 KoQ"=`.|E&v=%-bIJ*Hr]g0"RԔ .ʥ9A(Mӎ&@ǀ7%3ʗ=qNumFPޟ%A;_~fܴ6jG ! 1uǑHYb"@έ@Jb-ɡh<:k:1A.OZe oH(,2\2x_uYPpuKH&^ȧ"y@ִ6O3&.[ Ifo=؟gVšȅ<l8 b_'F= 3_yK=@cl >( g7n?=~f?JJ7wALARc0Q(Y9ԑNnJs{Cpt,I?$.>bCX`ڻ"/t;,%#L $DH#a8xP ueケBp#p\*y!w,ZX;)s^7 _:9:XwU8ѝD;g~JK7 ~Zrm5} ڸ.-No"3 Rjhf9RrWU%Ǵ}lÎ:LeP³#-k<}c2TZdza .8_gw W*M&0hiVX<[]MH5Ý@Q"\\ݓ HKkRAYvWɍE?־|ӓWx៎+69GV,;Ac-;.G)RxR (ޔX4/hNI7bgp6ɞ*'4h?k lxVF7\(]2ݦט?N9!%㛃ӱOU .c 8l]R@#@3΄^QaSmdRAX#߰Mߘrt0Q*ūf!q ]!x7Fm t 2vu=o!O@XC;5{cu1r7 "Y/¦l u/uŵVºFs ߭Z~C Uwg/LO?εX$KhuvI/8lw¹"I&M1˹X"6tTp^2&x,M`iȲtzbQVuHqRօU:Pkɨ_I-!K;Z_}lͨsS p֧ k꺋*  n[+E~f!"ښf6ӌ)uD}_~4ǼF$Z.\>#NWb-m%? Ì^ Ԭ>czWzp~  ܧoL uޣ\Pp %*3S1'vVl}Pn{+څLO1U|ɻE5oX3#4OykFނpkC"w,tDKH3$5?Iʣ*S['mE)7?pE̱%ꧡgO53kAVV%^'Egh|/d1)$@4l$_h>xsoyo*ɆJ hpr(ʄ2_\ů^'#*jhIl\CIͳO;kZOIϖX3܇tO5VcuV5'[Ow6PVШΞt#'Sx7ipm"OPEk{s#XX/0j LU?$e X܈hN2Ňֹh-}Iv ^V6ll1A*oEhn$)qΦ\mիl.YO$fX0IKWk?B"ׯ"YD qv2J8?:R-AyJ%׹ZYGf{׺%K,kIJ̀78MjVG rurP+#? `Xk$~4iI#0:.'/́]32ũ39V~j (TYaWd([cZ],K@N,W-`Ɯ7z>/mX1&#F4LcvT3a?'㌅4}^s)̳[6t" sLܭ=|hT7<&Yj*4XV }@apfz#YHU(?}ע@CTUWa5c2:eEdKZƼGcO Slsm.&aP/%.qQVH&VCw t_w*ҦZ[hHFRblTHhQQ +d>z6K[^FZӀ3%F#D% 4Ts}\I_*jM ~ jI%bd-f%Nr6Q`j;zJ% CB~(g{@@ 0bezd70}hRlvè{)B?ħӭ\H "i9deNqC6LqGk…>mbQ!ՃC}L}4B˨&EW5$Ex͎^bݯ#7zu !rGQˆ*77|l ݡF=:%XVu\eu.NXm;rI'-&pBЄKyh9@Ķ3ɫ,,1V3bVwuIZ ^D/,'׀ňMڎ2}EE ?ݿYn МϺBRt ԑ%vqN@AO73!!`#D瀕m%u$uH\ݲcSɽC{3&J?ő+IVѢ4ΎWR^N+UB׷('װpc=Ŏp%.<'Jړ8ϭԽ‘ae30\U/*T,olnQz_|b.0xviટ1$82@%VgQJ}?ٲ3|J69,Nb{Q>$}55B.&Vn yyk0z4D?aI3!WD* s߆jV aPm-qaؓd鑾* ,η;ܨK5q@ٔ2V#b)DZۣʶ [#c2؛$z}1wG2mpU(? )%= =C쁑1N8ۦ'003]l(miPt:è@qf D2e" a4m4ػ,d@|92,;[p;L>ixkƗ%˱`T?1ɗ+p>mB`̈0z.E@ 4#DͲNҊǝp>RӓZh#5ĕ֝sTJ@EMhϕZ"h_ v4M5!}|mJ'kw2u0ayFf}gLp6idBH\t P%\f H7ӝ毉@Tz=Ceևdޗ&Yշ>,U=N<JHp P e`:NbT~q^//>Q,d*X 'Y] NMeBbPt6& `Ƣ&*vN +&xQ!{,kيd!fOc_OE R^/;B6J800*5 Xg~6,9m㠣">DΌ:5ǨI`3[dw mÈ DQA*k֯RH@<֑H=Ae 7V@3$p7IlKVgkj?{k 0*\[Yb-PXyb6nRjܿ%zÄ53DMs&?x*P?֮hmbaY) ({`qQGr[,*f;CTTN4EP?7Hj(ZWOY/cxUBY+PhVND] ;\~D3VT@C5nBpX9oep5蠀W>!k 9 ق`^AB~,^a@ZQg(9WbC<){$} n&iTzzEΙ9Y;KwE>W Z*8/z3X;2dhMdwV&j7㘢.=j1%WyaPx -$%Ӏ)gjZ]w+vK9ioP%z%{A1NNXG/SvYYT۾ ;P! 9'&ϴ =X+,7&Z>e7mc!1bV[ə 걽+t7j2`YS'0ZW>a}UA[vȾ?4i땾 x: ]*t]'.@-$:fDv+ 3 2-+d _bl}w߇AR(\USZf,Or*#r\`8[YɝSiYc"TUn7)A#%mamVP42{E{Xi:}3%?EJ 66 +cgmA2F0}؇V߭P&W w+"KIYG剫K]Ka+67;w i.`vJ.p WY 驠oա?VEY2=LDg!R󾍎fQ-ȿRIaǧOh1\v?Y W+"$H AϏZWqv%<7' Ab7e0i]" Њs L,0|lul6kJ푑+Gr DuQ.F[t|߰eFΉ>!senDYo,_[Ƿj]H$п|qWiD )SIֹ̟bh8 [iFD4?Po9vg|Np(=O ቘ.`W޴:O5-Z<"p0ܩ"浬e)Ӵ(t_ff6*1-z9GÃ~5-gS$ys<ҍɬu4 &?_nK4e3 WΣ36#FQ2{㓐=_T<62/Aw WabcGd8Ŭ"% GNap^CYldcWOx0%T5}kf,!qxq+M]-J 앻/X208  (56 Fvn-Dn{/NhKՖ6N˨K[,՜߿xFo`"SmwCƷeĺ]Yl(T1Gxv|%ifˬDyؤ| k̨ |k5? Rԙ#˼DҎ#j Mx :P. LJl7ĨdW(]ߩ dxOW_1jdsM@2 xJ;Y^qJ$ Ta.@%=t<2Qbi,TY\qa5A]-kN4`ݼfg$h!,,Yᙊ"0fL"Bꂨ.fx _"gPO}]ѧ Dn ߗA {b~D7/V"#.{ZևALXN!MrWSCn݊˰f+XF!;}BPq} f 9$ĵkeit [41YUp.뤹 %زа-6(hx ͱ2X"V{t\ \ڵH` D0c s*`[.B_@D[6M'MH8*Į|\7CbthRf$HwD _u_IcWEF&<,BZkװLFH沃ciTv:m?'ո0xd:BI8uܴTrx5c<.c_цH@C•ZRUScŏ5B>0-xYrZR2؅?'3/ۯzwX1%ֈORdao9EݪlcOBV SYV2 L">0'b{9 QfRQ")ONֿՀVܳY]amz=چL3֥&V2T(Z %7ql)j( NFtb)6pi8 ,s=UQ-­wu:470rj?߸m?J|;Vϑ/5s/LŞdOM&i '؉,MYGt o V5:;Ia'p<Lj>g5@C/h*G ʎmB͑sKOYXg)E[ I9 *Vy w늠N0^Y3\/pO$َWU:.CQв"yR;)B3,a˝!QĚ4(%huQx߼uXӢ};jṡ]e~B1)]* '`pc:N9=6x-F FCq ba52?')5B8銼R]}%ØJHry܏{jK5zG(׈޴,1[5|'zO{{)}5Uh .:7ƣ1nJw`7":}Q cr88U_dݵGHlV ')INX+{FXI)ddSa[}tz:Ƴ}et"3ݰa,=Aٳpfk_\:2%_(_nNhUա݇BʤvA \Wd Zox/#Ws ~1!'3 ]Tjٺ tm{MH oX)mnM xgvNWXohu(q.&]+c7+724 Ur3h` W#2٘0 ]ʓS DL.!`hƾӌ{W٬ Pd k KLFё|mMTI-{¾q]ÃQ\rjbӽG`V@;ꕂL+W7h+/F\5WNRFTkbLbuؑC0VΊvzKl8p+eWXd4xK_՛S-+w/>X.!d<ǢZ-0A#v6DBSNZ1zPErRIx~|#;I,L^~ Gɿ͏kp?Š1ݧ6 3M;_%T3g?]!sϬp`w*3 wjdRqoYȵur0q> [@H&cHmI 7Q0d[SOFo؆.uy%`p M8 RDsPloVA xs;%)ʠc)^GRqah,gX(Csi rٖӁ}3)2p6*)@+@~QNSw# Cz.% iDr%;ӎ§;hiԫUĒ/"'"K%n^GS̵6{:tsC/P[P/%Sn8Vq+25?):ꂐ[U\Mh56r~SV PvHve(Czkҋod])FSkO);visΉȦ (ԕ7}.[\$1 )ciP(ba+jѭgSWcT]6*Alu'}`iߑ͛i ;fLWv2N{sHY@D"۪r0]YxRE)p4$ѣs9kⓟ#~2$nn)a4zY*cXZtm2a2qPU ɞ\Vo{=9uWl)Iа)MuR!=}m`Zi0KgYv޳`'c XKAJ oP.:thmčeEe, ͳ)Ώ)7xA0:;Ȝe|AbRJtY '~⶯ty'EUm u0n)x]ka1|,#qQ<#l6J wܙ4]͛?͗+LnxBV0``E۝JE;d2Jg#b@6VSdfO=~OW %6f䶤`f3%|xOjS7,!mx ra(vjƠSSFJ<}Rb%b̬r5cNė~1WL}}Sb؛"Q QWk}ɤ(O(q .SטadoZZr[v팵,J6)R%}&"㪕3_xBx9‰i3tͰ']gH.;G2(3U*e }mWۧ/ }͐1J8BX?ThL@l䫼n= ~Ժ#%,dےwYz̒aض'@څKE$;^!dd$O.KШ:Fhs!o/E.&x{ͮa;i @3'Ti@ѧevSxւ=yQb\Ibݵdͨ~tb´ 9i['foҰ.؈r-*%Mٝ:'U5IW54#6lpGCL8;u,R6`mW_E.2[v Z.l6r w9T"^ " na #JȦ(k L5#l]fT& %L?ZI`0H3Z3(~ߒ# :Gߎ (7FCU0;5EtϒM[Gj 崉=깸g4Ecf*OЂLyvw*K:";|>HB&C t<˸qHc\ Bk"r݊$ɞç+ '=}vqN.Mk17$@2dJݘW^aPsxAΖ׳M 6=:~pk|(^!ovNu`(RThK^vƐ\#C5/tsG ,ۍ3DZx#ck IY_K^1 ޔi@Y`s:`KXg,wjun(NbQ ?d}D BV}o`x9gtaud0?|'ek:Yiu84; Y9~+ n)bewsa_iin(A7:x͈ڽ~]2j]Fj >W05+/WC=3~r;ߑj`\l9+bl'}Ʉԕ"bؙQbzJ7p& >{GP!b|1Y.Z$J^ˮ12(Tה/2)5(<oo *hnջIh nx4B FГ؞G,ߊIHk t5fv̾"+8. JCygvD%Q.w S_c)F09Tk;iVh0B$Ҟ'q#D >(L][>-LDœIQJVlmpf8oyS2>[r6YUkp\ZrI[JI'EDuF^,dgY%핇X,c l>s??ÚN6o9ٮМ]W_zV}16E`$&:yy HB\W#Ư>A2Xp:]o>Ń3??n5J6guFB$T[XNh}&iI&of -s1u2ɂ5Dђw?<ΙBH 3>?Rw5.$1N2Cv:Jt8_nb[|/ԑ3-䔹7*ptB^+_n(S\exd 8yGߕŴyd1h0cghܘL5CT adSԣȊ8Vmj8F}W֪k/KZۥgBe7׹N@URȀ^LnugX7XIշ=x>!=s&HG4 ('x>W,$x뎔Rܛ3{J^bQt;OS}[ɹ/=hC ku >FQ(Űu>!r#MAmgzHp+ _Ub.|5ۡrŘQ,4^B (r1ʘil^tV8AStGRxq!Iߴ{;Z-5Aز.kZ[L5P-8x]幜ЗW7G{Wbf5evu4P5WDH5V0j@?h07rޒsǀגF$a [9苮 ؼ8t#%x=vYO=O^:v `}~Pp<.mUrt˦*IopK{GbQkV} Rj}*'ͭ$d["{R@ ,vQƪ8%\r")`Dw3Dַl'n>4}ą$r}3hB9.KS$ au93z'xjLxU͂נ]Dnl4?ߚM8 ,8( my!;7^TX&lcB~_|bqKBksJHQF`f5 ѝܹHb" bM4̳|{PU~I F!)-֘~7SYMU]RIk^cqAEJUq5yuq}d,"֍,6[L Sbֿ.2`&lV(r8X <aE|A;2kVNd6o*5d1JV {x5|"kYs'BHѴyo]X'Xx4qGYV{ 5nr~oN[A5}w%yM" !0o"hy^SkqZ~Fn#VEl.eLZ2>uh1U/"ˉі4iWdMN~QۿeU[Wxq ̪ޘ( ַƳǺY|](QеHmj3;♰=~dJ cx/7+hzv]  9 %rDy2lT+v.`̌grБިKK0Q۞ۡ%p&ffhza]+ eBda[4"Q5 j tG o, 5t %D0Ur C>FehѦZ>,p0w4`2$NV^aIç[|Bo+#ٓݳ&{a@ٰP'Q&!?gP b IynڵF2yb:V*w XXq5ybz F|I|D hyDaUA&TAP H^L={ǿC"k^+-Ӝ0Ⱦxϼa!*GAJ0Br|IcMq'a'L#􌈒ͦ igTew~K'a0 fVUB*j8r {4oZ|u{bGoO},|Z ET(ַ.$Lp4t/?2:Oαl3w& ː%$. a\;$6Mo4#ԱslYrۊ)Z-uLJ~0zA`ˑYho;7]бjgj,@[*hG#R4J3o(F?W2wkԍhܰ-m|#oPj*I#Fz> J5݈{JW߁%iyzӉ7 y;{7) j hF"q&̓jmT[դ:ʒeaD PM7nQS!~Xިh74:$.׾}ܗNqV*X<:̬TG< +( PNCWlAt0əi||=ݬalcb@BI,hBI[qu#'%;3CKܡ+tXN +C?6[%;,1v#QLN몫Io$'P.7V7]fqm k@?IGT{(dTw}Ҙ 礄07ỵW}703r)_<_VM?C0ǫF!xڋֵKLǦs<3h`ۛj IK{FkќI%qjAϹ:ALJf.:qk0fp,ҭw+Tia˷eE@X=3b4;q^ S [lu lm^b޶v>S3PjMgꍎ:+@ K/bK~n 3)`']E}&D# Orklj {R,:D&0kt}"h_؈'?*_pT{-j[TCrH)t^w}ISA `$Q 8?V\ ý;6k +W D9UPH< ~hx`ٴ(i#vn67*B;2(a&v/R\C8)euLPm9sfz['Zڗ25bȾv|4ѿʳxJ]1ix=S;i3^qoxP ~ KΤh~ N5Or*3iNJU}L1N0 ևm_2<tj=Ga\vS֠ a:4OBp#G:U3~X V'2SoyBwsj_S9 `f\n@P" b4aww-2T1*~WU&.a. 7ϳ25;6[3ANcl#޸k "mZ-oK^b*Ze[6w )X „}Sv>3vNudfp@ހ_ b1GpWu-=FG3i`7^z0{\?]:7vq&g 2#O4IB|w%k'Z,lq.WgsxK;)=9-ѱS:a)^-WMTDι-خ r;{Z*ۍ?A6_lqLpYiWPؠ<߂x'yX>!`MASf}#R2z=P:> @dyѳP)8mB*DY0d_\dQ~ >(=ѵ.H}TQ4ˣt!ѮP[z(u}؞R}9Ewv~j!,L5ߠ੿=4y;t+_XQӻ\1ʵ S2-VVL'[ b&C֣ZpvOv!\~: /nn {ВOrX;] npR>Щ~GK[ 7:Hz^zutRSntHMe]=v+8dCra~-,Z<& ?8{e-՛,^<yA1"ۢqe6y)2 U&(R\+dt#1߶:>AA풾bclsv#Z}cm(ty*1)ͽmC}rqja{xUi3~.CpBVvkIC528d>͍T %_ #ɽyWdreRgς 7ylCuM;=F EJ7' cc>Ic9PBN 1&"y8nߺxq+hz,a QǦ^|3*y)Cf7$؊kַbBvm;H&E|TR97mP &ht/ 3hSIѫ#&%3A,bp2>²EbbPQ}-Zz6v>nz7s/6I *p[ ]tg )@No7/ rzQ>JX| *YJ-|"f\TF:cʊJ٘kVffw!%':xŎ"ezعaZ.|МޜO#ҕ u,)Ndn8?gA _- J,edz)לj.A2ŠahqM:H gP(6Ʋ13-n;S7z>$W2a䅕Y/|@h&_[%=NBά2#K?C=OJ攏s@)M- w<ٍW1U$97aw"O(OcdSr,suqDcn> kd)5E6Wi= UK{ w"ª'6_6zrPM-?e#RWAeri(?|Qxi >"-xbE.L*'n]?t>6͂R*7 .;;Ą 4Ԭ=EzT"- @$ %K^3Vr-iuXSl4$]96>.Y>cJDNK3flzd~I`FKLUu9G_0H%WRbEֳ[ N~7|Jo T=)F'hChEΦԘH4$ugThŞx l!94wUJa=i!xyC;uD! }~E[UsUSgXkoD"#YqRTF2,Y3jS-">S4Y!wb. <? s׿r*n!t܈EQO*(P@F7add՗YԦB([Өc:iҟ-vJ6e_<1Vtnr8* pTۚV0䇽48ˆ]w}Yha&+)Wta3,EmIj?-bӆ9:GTXt{%$@ 8cLܲ>y[m(4- f̼ *]"NS_F{NGHiAe8f Xrˮy`w\5\OJRۚ# ktbc"ioƂ08\b.vq/+,[6[U@Ps']qq )NfwسL[{G`6뼈F^Kh%ISݺ 5ȂXo )r1Hң.{&rK6 o4R~2G=$ܴzj_ܸ4< oΰk6(\?)KrAccxh<@.݀*CM Is `ĉ]œFdN쁣QbH$n,_B۵$/u_*+P3d xqleO.L(DuԺȱFL[/a]tPO/ŪzOQP,"LpJWodξ &Ŵ@{S8y ="*~P,Dސ`P4SG晚!Lmw-.!H1JQgUr{a >5gf>x04+C 0L>΀e nK Q.ZSPuPha |JL!a0& )6Km-Fj6^dngVHZnQm:# kyU햣lhch nY8噻FInO%Vy{/.~[kT1 MvKW`? yΕFma*F[;w̨Nדq> ~)  H'v?ܽ=51Bb&4mac~tJn .i鳗&<\ü´2`a;OFUV5/M3<(_^.a^$Dh r/T4dhoMEs ;2ПX+N?ŶVs΅?b's`5;J$vtfAgi#zy73wQ),[)*]º -ؙ#OOnnHp>xPoqK5^ JhQVMdVxR"`j[m߮#EG[wi^nbZú bЯ Pk(i AN; {0B` 9H ,2+ېE{G[tw7?DZ\d#5SS:бG$s /ЍTyJW-w4]tܜo\ HpK9; gF٤a8=:$IT4:1Rrƒ ']YZE .jrHnm-2p.+JG ;t5RNz /.>b2.}xIO 4z 38Mok-nҮCw|t+ݤce3,an@V3I'[8[s 1ilJhz?%(~ ȧ# 2kgޒ\Ζm:?Š)~O9b+azQ|oETp.5$:sb,Y{(^kڐ14FlvHpoWu۰}˨śrrHXe~Ce7+v YVoѲZͭSɭ7"]-@>̥ju@D.V&d.5ە˄Gzw3ʷqK[G 41Kw}g#/*% 0ea miOQ\XIEb,rT,4вp6x%8V,D(]#OqyhoeT\cA_T]rqjG?EN^v6׎NqU~Aa{+ R'b 3FnfyE&|*=b )*I(dP㭱% Wb5@RZkWg,e&3a2ko#h0.n0PAr} 5}6"3"Mv?lVJ0AXai@q5,ghl#.6kdog ȡ=]/6_G(ʠ{4hRձ-H3O|zb}GlH0)b=4Y-fpaѕ2@K&=/] 'Bs]]wei ?+驂 +> R6=_̉Ҷ%2 MKd(=[ ?`;NɢA ˠH< W3Trٯ(LQ/%r94tR~PHw43]7<{!L̨`o-Fl7`&sy >>ǸI؁y0pEthf;=av$T",0xY^'A'oo*<ţ1~TPn01}tU/C,X. ZGX Q/eѰ cߤ"KBa'8:Pnz7KMVC.S7Oi+XNb0Nx1{<ŚS>ȟaXOi7cFZᛏ@~`;j^l43/7ΚG:5ɴ!)oĭ$1gOrpwXU{S<:9!Wey-@}< ߗ޸86m!|? 4b*b-6q lIoku莫7`F7^^LR5֗VU:I?gf-R&^X\`3y*>P#ɵdHa D0:3k!THW{DoZkwߊ oC= {YΕ'y p# e/U0y8.4Q*&߮1ycG^2HJg1Q0sgwogB ʏNvg:y:B*C$ff#5s0{~V"k?k6bfiv";Lid%U1%/y4A׫8 cҹ4"JMmDv8UuH06fڔE%3铅ϏwxEE)뻶 7U  \;U+ާf2M&Ӷ09n3$9d_r̩Vo07."RrĒ[⮋v,{dp'ޘ!,} w.{OGLRLT~aC|7* ZIA?$ςWG]/6=華Ȥ.b7)D"SPW /cDGR1-w\ ĀϞyO6LX?LL`WJ9L ׳'Xip.2O}|^·7\ԟⷢ`Iݔxկk!cYn]MFitƘx]n "2*m( 9jpQα{ӄ.=֖ 9rC-zC4Z!Ez\(cdGH/;,CNZt~om񤄨zcI;qi )g?\ZXc73Ǿ+SкK8IȒcURWVeIUJcc0Ҏa4l$eabH-Bw߻o]% ]}E:=7j DxClͳ1#8g=r%lkzMehB$9ɓNDx:eߎ2cP+0DO~ ej뛆<+Ї{>>iVR$9Pn17zYDxd4> (zipg^?MG D6h6ί&jQ4k[ $# , qEY/JEբ5Y%%%׆CY3=*+rZ5;,D̛S #E~ +tj*`>If#\{F9K+٪ "^I0nKտR+@[`eŭTC^B>sK{NSYhBog4 a]⶘4.n CeYr iA>ނhⱘqcSw&|߿-K}&RPdlάIWsDBo$ = W[5$}@2EdtF+ȰNpP[} /Q.Dđ'y#*/v+"x>VvG=ev؅(HS2K@75ZЙIƢacgw3,ڒ>s=*`W )xT&؍Ț"SD3`$8aKovG?qV u ݿ6%lGƯI*߼W a<]S[ PL,/'QxSN/U"8ƀys/;b)k7 \;]Т чjĚyU34j퍮ķJ$Oظȷl;>'[K~@DZ͠@J i \ KூAxnd3d;l%ߪr|QM1jRȍhԛV 8p~p#C=j'dd\*zِ~A$ I1F:P&g̡:nTx $ ,⧳Oȿj* xŴҸaMpfi&4=(æ1PO6k^bӛMOx TG"sDcr/)jgHmcKfwPd*PvQ(d7l=WG?͋)}PZ]/X4V3 N{=ʶIDH&"3R<8vx<-GqbX9iUv"jlhųIOM?1cSy#Veߌ%5rƇbש 79)N2&|w~Gs \OaQ2Qc`o!8Vx JrOYQSGJ ׮))sO?:j c[NI7AibZ35墼a vu*-q擃v{Slܵɴ6oeM%wxT% 5U#Ө& <3O*Grc] I`aH /o.e*T;Yd}Xx>$Js@9)IdnFso OJPM:fYeaR=6jPQoyΩGO[e9;sr"Ü%Fg?zɣvx0Eil 5M?汹Z s)VK]\XoS2C\ 1,]VˁwDh8ʒa:ĈoNgD(]$ y}-|hJ&[l*;fM$RDL*fSh_YT#y K& $5e~fNN"=zNor2qi.  n7P1ʍCL QXI3W8p[-sS<׷?J K#h)B[9/@6%:`]fBSЖԠ(cBҋedʙio(" ?(\6mҤk,po%P8n?zb&X:JrQJDàG>+WzPַUll|]npͻ ]У!iR&Ye\ xxiOdHZ ʟWC;̝,-ieqf|6JjhvE,@fs|#ѐ#.w*H X@ìte88Okp^lzMü컉KsW!4{$h {sW5._EIǨѹhwH桡IA֖ܳڼ7F"DV7‚WfV7Ī{^;45x"c CvڢJo'#e\Mɠ@UlG(Rix6fvCt иEӯ%N,#1Ȑv'l# i(_R, !$At;>v%"Μ"ًI::S$%];7<TsRB/$of}^4dG3͞l(wpDgMjZv㥺,[eH!$[3$g%W (y2=_@<\Oy1TGD=x-'MFmij!Lz7e/ F JB{)hf?ro'ܼ"߳~؜Waoj3s 2 XC𜱯>(W|eLe kH ޾SN eS{zx*8I܊|kfuyT{TUXC0^Ґu r72rOwq2jlkqMdRJ%1ع^ꅺΔFrk"c궦O;e|H?46d9GԨNX5u5m?O,1kteuR|Ooiښ`^׃ eC.VP^ ]~_LAv:FXAX]xţՄs}dC|"N4gw(lb'p>+qħWi%A9X.AOp"=gn+;95S`FxռMGO(˄:7\J c- D0*"m_lhZ@Q_26mf&ewگHlDeHkTTCsƱG E4<6bkԲ@@vZ~ ,'?hx+BP ^K~ZSI<$h%#a5B~ "lh󍵁JR6Z c:(mԲU}@NסJ` FU2/5{JYOw5Uô!IM_AVeࢳN/q Q.%YIc-t_ʟfɿOlMup"9M]ھ)}5N[`qIW7 Kl%~2Q k%T YC9, dW^[|?~WBki@S: FPwN1k 'cˁ׃+Ş,e`\1fm`7vuB9 vEX>HWS8,D11piʆ-LV&ⷬ<#aPBe}GqrӸЇBL uaHeJ,6(b첣h& 1]Gn 9t2Tfm2Al,.ۣi):>B~4a@B ]!E3͑1l#F?QpSڒK'J챆: z,{KdvuE6dǩfF1`),I"cq;O͢0ciOwhTs-ѺD?PiG=XnInLѳ$%-TinxھT`o\᥺h?; ^su{F|0?%n3),TŪO`{z빘䎧x[^JXڹ1N(_Cpu4?ķWp3&8#6QF?"GgxqR -P) F+->u\k(Qܖ# DcY2A&JQ d=эMPϫiMtկqUu ;N2JP(CVY\ZTR[fh?Bذ6Qi)Hv2O+_ 8xqx:p<-O?_:R&?j ߶"@Oa8O 4MSԈ_e.iP69>>gR = %.w}VD ]%[f;F<%#bU"kE1~N9uMࢼ!Z#;(׮p^da~7 8^ NKlhN~ݭC&_UA1 jp0M8*$):<3_T}T;hI攟.bYJ~~sA!CG5eRFMfJ;m;0/nrj64k%w Z#U)VX[< =D-&zQBGiA-ip2p1 B˦=mEk 47}i B}QoPbͻ/k^,MqIbϱV\}Á/H9hXCurLϖ6iZ9nPt l S%RT˱{qU('(Y^fKܪ֍p}%󗹹br"V8^6=u<'^ 170)/:[ yc&)MbRoCE:vc`A4Γ-S~`Rƭe}QwY`&¯sjs pv/جQJjbk>za.>Ƀ=Ai bq}:=_[mϛ㈙}U=" u@H*Kjjl&_ڂ>ӞWy1n 7qF0rzɖtRA#|pB:Zf 뇚򹚾L0Nqׁx3A$w[_aHT2FszXBšoTvm)K.hvK`n Ʋeha+Dz!Yߝpw 2gx8]gk#EH \!omEq8 FS1^UY ڠ%/1Pe-&e !7/ĞikR;eXB*"m@͢i*mп+:<=C;`oHuUXm/nsyxlb$Ab.O;蝭j;hߩ4==A_9{N/߰՝bJ!TҬ!]vVX;7P,VCG9rD4 g!s\  χEgo4xw ONJ!v&v;CȫɹƮ͡%ca(B])aKZ_ݛazw^K?w\oxb PȾ%3Pyo/k>>s]8,[- e)$4&l _-njTɚDຟ#6˅^!l/|]ebkDY5☋*(cPAv=.X?oS> 5b k, GśgSkc8ЭppV@#nfV:@SBa \٥\ܲ,^&&$4C(FslM>V=>`&N u9"Cz]8?NP~ *uurM|o509*o1?>,~ ˹.])QJf[ß78Y+Zqa$B>TMig~+O5CJM^M;X]Ö_H}-2<9gYFb_R,& f[':n&As)+̡Sexf^M(vpǽMAARM*J 2ysږXv^6#\14R|AHXEEm`]bIt>%TQ#M4<:HZ"Si@4s 3K9W?Po~*jC=UDcY&-^3O)ȱ!>o&NE(Z ˒ 4Q6UϓlKG62F%`U7nnGdr\t> KqWNj 3C%u^_5~9~䁜զ1S '~(}իFTf^Byi9Ds[#!=Ú2 Y]'R_܁,VpGV5c@5rM.a?tH%^d [q^a;;0] XsyĨJ|2n,Dڜ lGL785 ˘!sc|]B\nF(dU=ሼ3H~>ËϷtZ+<@/Ӧ6ViH_T Eճ۩zmADxI'j `2.|9";>' .rȤa°1́^3vw }ڌj vBl4p3;fѝpo6$8zsO*NuMWc-JgZ}1D(;v umq=? B;ZM;/_s [;uZNM}#:ncqg\II@Gt0Y,|@9i!yߛ G}Al'k2QMTAIL;gy*,RǜАYd;-*&$كFε$%b z,W?,>5ޚ 72KwqKAZx?YZvF(Ī*YA NUSyJWi}3bGn#CʭEӆ.ؘVƬ;Ï.NGa=L!E+gL>'%,A`bmn6{ f7}.U͡Q٧>ɩ[aGgO-mʘd_w,OW-VП4yDS)tK´fSA&#k'Ԑ] o^a"YCbF-)$gmkphc`F77ii0c4:;k&NqK+S =:,XӲgfQ9g;GVqcHZ.~x4SUZOʿd}VBxBj|̟-9%#GI*w)oJ1GEE<@=,I>O-CfX,Y F=4Ǟ\)8 3>~]R]6ջeZdM`NbD\M#n(liRIQ 'Qq1K<q/pFbq>F;ϵ0i3Pϟ=E glmC4Xv -}(_M*xW|) ;}~Ak_8>؀K="yS^= Ҹxo=H/kJR+ h#錡L &s:*]hS)Gf2R NUwzao[ڲ魲hwb5oM~rXOjwnX>fGpۮb˖$)" ʵLسg Q,;BAqbo =DRf`>DSRшj(dEjJbB5:Y79>H>_e|<+7PX;w9u^%n #ҵWN>4R?\iGhp@g_ lc˽wW\s4zO܍W]݋Cmل݄sF+w3!"}-ȇ2`fvfAV6ìG>yɍ9-Ռg C@ߟYeWʎn>~ SFgU/c,pԝ 1!^ܳhO?{d<uƇQ5wG7t{=B*6nnZkƾ_RFY}Qc],LD) V[C*oPb:8HTHPzdf\IZb76~-M:*:3Ǚ*.>g`Qc/Y_آZ1M ϻ!u ewC&2-LTN{Bs4jcF(7H"m$#tOv5,@٫Ю6Yф:>Wo:}?'ttC ODl2I@ - dX^%'~Q%̜-?~},1~m%Q,K$)6}ؿ.U@[#sg2 $EO>QAfYãK3vsWW"ĕtH^Izl,yQ+p+AьeYV an"O*-,A)Y0<p3s)P}̎G_;{K+k:* R;;@4*Jc ۏQ9XfAy?/Ya~0~x]*f䂘=˓/躢\0/\?h5ٮƂ$=. ~2 N!h$wp?\$ydSijmGEvຒ+,.6¶fCJFwMd(.ޓh \ :g)Fb2yBXζ;[[)i *Ŷڒ.x >li乞^zcM("+clVXv=-=3V:(ݿĜ߲.h@#mw{%@NC ?dʞGm3 l`blCGmbY4 JV 5xWPFMG ,7({T]3oKOZFiiPNM\͋c)lHi\ M]{$t653 wWdBfi:ͫw(u) 1nxEf'EUMڈSrʼ{3(FlK@N&`P0s4hH+Pt%,#0clɡPի#\BzJwP59Y4AkЩ%l^mV@ `z޵Ww\SLǑ`*" ^Hv%:# A ʱF&Wni_ ypK1|El[PgO(#A<۫`x 2D$gP#;LHѠx6 O}|'VcȞ4?IBew!)n4P6Dw+dq emt-"X#9m+2Dj9V\l8^&9(>xП_.;xnKywy6#ˑ6n}l۸I#՗9XN+P]Ӓ][ 6|$X>!TA3(b&A׿3?.ه>s^A~kY6 tE-SI:IU ;gF)ػZ$ZGui1;dt/>VdeNDm<&XK5lrVkW-7$R8BjX]a1PSCw̩)UfAs8)#P'ɽǬ@7)szGALmt븃wƯWKۉbPGDUV;rJDA̾9nkQQ*:6Yvudg!PA]vT1u)0jUqP O" &0ٱ\Uy0^LV34mP^ctǶ΂t{ J:| _bΔM7\T;=x~RU6e;h|͟D=.yM2e|nfCTI{EUr2th6|9ꓽ#^ $70$ż*FxR(o5nɫ&g}`U|heaV2D.N}`y:l6Isq WFOJ%ܲz4A^†$ fT5M0@yĭ?E2^ǝRb[P\ɈVp#*kkza:rA^3Wh1ə%G/vq0bVP('H;]v4LhEE75!;>%צzU+ÒKtUifA9 ƧaYoЮ q8l_61νQĕc .o[Riz9kWTi?;} ѽ6m؁5]@W]MS5HP ŝ- m5I*F Įeвo,6HywXTM; &{؟V`jr)~qm]0rqtS ދ5L7ڰqWϡs̤Ac X6ZNJaMR}):2mc`0Uy 1DnCX>zoOY6v\"eB!m"%[i|C,{G '<+·~RB}vJOi.$aX؏×gH=]nVx({Ns-Vh35dHaz٨8S d\ѕڠNhCͧџ,:8vyFHE!~u 2`!6}[;ָ' yW]fT@SR 6K8E=7߻NLDʘz,*{`+n:Q:b#[8?8-;8JɷX=^ÝJm8GNoi%k[Np xZq1:9HF i\n 1F6  'SD/FRBX0{Xb92V qU7S΢&l,lofJ:#)VKL_>RpŞ쪸CoTIZu]`ntyU|?Iob|v.WR21-A(g<Axo4A\m(XX MZB& |7-缝>fOQދ8I Ϯ DI1S},uRSfEzؕ:GxӘ='hF2$T$Q5]L?$U[Pgh롢bXޱWtZ.'MڞInZ wNYn(c =4lm ^n۝wQ'k\FWvSjg-m<`TOoNGzmB`$Ix7$z%,/{; 揹l An0gٻQ@<+j|ڗ '̀cwo,# +DeDhP<tLgepDOuڄ}:qtJ5z"[">/EPDk!rgc) y u`[VZɱa::~pT Iv㷖$ @TWe%ϬJOV|x9mFrIo为~{Tt x;ܨK),2[}EiEl9 'k"_*W,`D_[%=hF9N /StvV ȱRmfeAJ*\ٍ R19}bEJ9)i!R.ug[ L+2rh8 mクLVB:V}{2חy] {6C^V\R@v_[6(MXA^ax]r[#%;v!!A [-DFJ8C'{k>2+ @7a1 r˰fX"N0K\ TIG钐ct!) K(\F?Gtiʜc7RwbW%mѵGf 2R,|/7sKIrv:V:nT\y^֨ޞf3\ťc:kdMK{Z$ox 7ɘF"a>l˚Sq]خ?AP'}g,6uAhHC3P\ѰRIhqG&ܥsVx-cyh}(`Z>xLSZ&4 p4M, Ṻ4# !7̔KIW>tL4j?O[S#I_]TWj:Lkgu$[t~veS3@ɩ3 @ Q^ Qrj}.Qr4lDɸHϞ7QqIdbObH 33]ŋ_GHJ4v|Pʱynh;5%6q!֤zHKdb+VV &*/1zR?!Xg怗r=hs$%P^;ZHXcd31f Ҫ#e!AvT/*NF~ 1jXDqEn%*X_~Wf䙕s1Ӛ.;TYXS'{q2wG!PdjImGn >QD,>to=I8]I,G[G^Ԍa}9Q|(~n=#hJjT6WQ%TtpGl:-nHjb"#l^VAYJbUƹ)_Y?n$?T1Vo!R Oxa \cT}6; ts<a9loG1+D}32IUp/}O}K C,|왡9^a,PgNP a"K xJeFD;rx, 1rmIK#^Ryz ư1Z[[n)0n8Dks= 072SHZR1od=uy.Y L4#2.#-0Q3NGe")lMȸ+!Rսz 3 {}ҘԳ\U#OT/Gկ_lETaz{dwJ$_Cnw[5 35Y=dzDPт^nI2#CAzb\l[:L7`sXn+sq0 [uHzU0$pX}nC2[O~MrLCDlEF#JñS"d*Je&Jʴ)] \wkx\'Yi=ij)n8z{Fry?F\oT>zkF-=HD"O@W&D  u7'kE/dڰV3Wl[^;D_,*Wnj& jyTa兂a3!)7IKȔ{i Ʀb슉U4}g ׋ӻ5v8z9nNVѱ0|T?G+;qZ_n5Kmvv&lS`; aC1?fD)_;z7]aEdCC!Svcrs-ؤF$]I͓o7:K@EۦrR1"_R'1K3:8m;;8^ɔY)δ3l [KkJiJa. nVeyEn a-y'Adh{zk(Q/nYA" !:cz/)-Xh39Y,i;v(=Sc&RT@O͍?r@_g!Z9$tcI#%pC!/ދߨ$y4s@T(6. ;FA{?MṲ k_y:ST$-w<\Ф>)+k`MgBs۳<~#}= k6HP|7Z*&puE寲BplTiEw= ›rZs1֣_fӖJj"]/S'n,x9`#![\\xUx=7Q{k+" oTߓ$zeXa2zV"d$3P+ {c/HةV"wRToO|٨%i(H4N"ͼT Ƀ)] >=y:Hr f`"x:c~EE=Q~P4<}9iꓪs3Q=~H;f:/蝹Es['GJu<9:N?M"y"lK8,y ǜ> 3%5#if{iރ}MAȭ-1ƥ{<t38P[lƸ̐>VlZ}xNQeSG|fJVAd Vރʣ1 D9+0@gw$B9gAi^窿9¸U-<ٲH#@?=.š#f02C"qid0S~IgbYi&M8bj/E\{X]مS,ӂޠ5f5%ٌhnrR2#uL4NՔ,I;ַ݉;m$$!c"qc[ʜ:OɥKXnE?INӕco dQ~ |5! 5:% [4@C됄" +[72Af's$a=p A  z8 gA *@~{LNד6Q8ɏ5vw=z]g%ߎ kS)=/zfj㠜Do7s,bF֔!) Fu+{oj y:ixyrM,q`rAk /0밴`\8ҎD~'׽j&HغׯYi֒'P1^"U2-'qH?mOm$sZ[ѝTpdqQԢ-0- BoduYKòpvS)˧rԽ?0Kep1\a__(5;nmT7 :6Rc|LCj{saj:Fr4}Ϫ5͊{<΀ʀKSuͺ~ ZF/U5D mӇ >]D^PlXٷ' y,UFh2`Ջa $by|$;ʟ1$HҒf>(]κBq,l4<JWY&)Qfk (9pN(fF[>?ILhO*_Z`Սzռe+Nv5Y{jKޭy+?a0 ƙ=,H rq2K(޲Ve ֟nfH_\!Ȭ+z;}=GSpӫ *̚Yi!a_.9Zѕ>J#pxEyFP'%2VP_@u!807d d`H?ȕB|j!G7;Z-y;i{Y˙g,\xP[s0kE "KxP"WQR A6\N뼳5vPK"HB!y=N@M0o{ PL5<#Wl&F1pc ԽlkPYE6 c:^C7VG*!TZQ~bΕ!ٍqdFRi 'BZXa@:0+"E_5Hqw)^+&u>N)>v>\_b8 Lz}D6%X>> O]5ԺSfCg0<8&țN(={mbQ>Fc< X.tcfXڹiJUOW7+? C.6笺F_TW]\]Pб?ACO:̌x[bztbm牮^#pe>έKyv lc3@uh #If6GSQ}`PS ņުԘɥJ7X(Eausk4+6._Am6p8YnF$+;\d2 Ғ?a6W Tā)b2LoUj"0b:V{-oqDZ+9&ܨ"l sl_ hD˛: 658A/O06Z+ IvAc9ALeث4Kok;ߐrvNpS(f +n<לN YK_Oq90ԢX=GؼMšs:йe,*9Yq٪s #wh}&^}T@SXψF$ &]Ak]qy?"'7/C#NrHu{!;JW ])}f=S ; v5XٞX#H4N78|)pN7r;WiZtIKD7tW~`^jq:rgkcoLe%$, ts򀏔!G51JT$,ZLhmM*\ax\Z-eNoczrS߂qfUfaqdj5AKQTr.'ΫB,ŗnKgA>jI84_Fi(UÞQ>`Reߩƌ\nmmhŐע+ ĿP"e{ jEXDEcx@s*ʨ~ؔEM6fyN'p1kiF&w(|kJ zBm|uNv1p@ܔ@\r`9m-z!G^`$_M$\jeU6JJ{ LQNHl6S47{.yfzq~koG#;dž"P݈z;|k¦s>zi $MB F&ζi;,Ub48JN$-ˮN-:CRLsYfr!t9&bҥeu'>+G;TmaK[ KVȦD`d,Nƀ]'@D@54ΥO ./B4vk(R~v 99:>1BvY;~Ft: |B&y@+YVZWJ%A)a)効ŋGWUsEr-w왽o};Y~>$k}V#t|@gC ,j@oO9ڣj:iJGY!WZe5xfɱAYF~ɨ_zkOq}E5K͌cL)榃<05~ ~+'vM0-qtH[6}VTLĕFw"1m =Ho[hd"܁kB[aʁX-/ /Q3dJOFR(#+0i!גKY Rp #ygk,S_l3Ɠf8ZQ YK/q`SW1)/Fz4/zA=q˛^yl \dЁp<\Rn- pA9SWQFە*srW ^'ME+G9Ҍ$Ob¢ף ~|`C[S0Woj#OCGjK!ovDž(Dw'*FraDyšB.zOGx~"_Kw&S0Y#TFϠ^ŤTѳf4  OF%|(~CUfj:$ͼRni7I3(u}cy" 1 ߨ$TLZMC,Ek~aIt`\[ٍ%_73iGk9^'M$eр3XʔMH27k`4*tDg̾w< Qctmj$x>UtPt6L^䴞tV(i;2 U2AYsBFS[AYr)՜os. @6 )mYzǏǎm탍̻=Β{^MfPF,*m0n[ZS Ttܓh/kiC&R5]cDk BkD3'P;ț!1^tO}?H8%<4cc`A; v=,c ͐c%=ت7XhHe>k6 brڠ*ӘՇ-вNk ?]% x L(1Ā)֡Cf_3GQԧU&dzRn(8Al #'}=I:'x>&g(Tvp/Z#M N*n!+5ې@AN\{x;`B,uomL2K,E*}<4.䨂t$HI/nwcMj,C/7׋7Ctcv2ĝ[/q >z,$Jޮ c?8 ݔCi 8 Љ)odЊ/Wbe4&%>~J;TVPUK%!.MFqisjX0jf2N7P͐#'Ģ(zF$ f7%^w8N zx 4Wi|MN~6M^._`b$j[EV -DJ wE-?e7Pi2}4+2J][v-@^]A>8&-jGϰmZ՘SkȖ&DL`c~ۆ7P+euzLR!guM>+S5/>[9TZ3:XW7I`oPC Kδ\! 3COeH {~WȧpDODf /M?qNc,'9D 'w]GZ)djr]D@aiɓӯg#}*bc*#WB>|2 _װ/e8=L8^.`}x}pPH2"?\p(AXQqP-[Ӫa;];Ԓ,kP쁅Y^En͉=QOn3y SyqQx^,:ŸhKْ@)E}h$"gOC>wD+5wgІB8  ;8Ͽ[bcp#AgA>яo).c1`b׆&p酙dSD(uoFUWDH<6oa?@PYv)֑P%a|!:];zP/,|[D?6Dg < 55Dy%F3U[:kQCe9xbGR)߾Ufr'OX <1? `#&n0ΫT 0QNͱC*(ȭr ;ؾV lZMP. j/"D$f=iBmCr67EZ=D~w JؾeuOg/d7#+·k:Sc}*շӂ.  ^=U`ɗCS@f"0')vI˫\pČ'R!cͅO%.jG?ʦWxِY9Z2y I:%Fm壉O@'D=@邾/I̮oNn},EVY>LadO|ZM))F?D~;0}ʁ}%r%2RYה!>w <'PwY?V/HnN9TQFl-4fus ,]/**nn/mb0!'Ϸ8%pzFi[H;=2B@FSϯD)E v_/2K]WZYFGڼ9{r8L5V(bz0;,彆P~&-փ.t󓹢RDWj#ȲD=;.sR݃e"=BWl[:|>?LQa [ηpBܚ GA^OeAw5%kv"LR<Ⱥ )[[mM,Ѧe،YC ,}[n  M%U>ȱ\'d3VW0AV-_3{ (#|Sٶk*FLerb9_cN(9H;l|qvwX(!y&(#n%-8#sS;d^:jһDf&YA9n}ڲ1+_-$߀W!pC\ujx%lns毌1/\͐+izίphTx.zg  a9պٗ,圂|' 3+ط5lgF;,̋],ċYrQA K9娆V;2z4 CwhT6\7MP:1l ]w{AŤO5*0ىe@fa!(wua5S Zyc!L 5[Պy<اcę-z<oTwڄ:܆ ]Pbf<(@u{([lId9n8/ eB~) T\rk8]2+~BS@hsihLɯʷzB;p;#CpW%撍v -cdAvD.-h%s)p}/ȿNKKog:%sި;1Q9DQp/g: S@=C& mmp&I`/"nsg-* Q2^KSVa428| <ħݷqzDcaUep5 Ѕ'TSp5vk5 Py"K\ ۜ]ЧxN47[Vp W!nyKq8) i&LsOo'nfdbֽQS0<& D&zY>Eb7te\؋$U.!2KΔ:!=֐ÇQZd(tPb;jhqKެ}e*}{ZMm]k%W0I9E:dDMj50 ܲbgTb+7(ӻ ,մG@YgRfu߫QZ]ѸaAX1 ӳm%ݾHiNS0t !{NVY)'l0h.42a. mEVZ>#L@0!/` m\a7ͨ* :vT{QNNrFk m%k[sDVx NjHJ"DhYd{OWL/܂ۂp\l7yK^d2J3"͵\I10M(NwČ+ cN,wч%aCH塦&A5ȇ6{o4U[LQP~O: A&r`aqZcuw꿯:,} ?V( eGzF!ǝq%!x=gUpeDi*Fqv/二=)oc %oun(;ۦ2NI k&jaH9/icXducU|47,S"[דm4ָQztc:PH>^poxDޚ@;DQR: 5ܬVeo1潣H']bpCP j 9JWl+UE<&ʞFfGB myQe+j;@?{т#޻/.@o:NX1Zo!}UXN=wޣ!uiKzPV.$* ")aT*IOqYCV/mXPalwRg1gƏ; 1釉z([-y_BT?X|(N$qĿ)vTkR2LHJ:-ב G r9 0a}Kk@85@#jJM|_g_)˚џ_㫲Hd' mNu 0'+UNVj, 1oRW{T1s . Lr^bdD\FU'[HT}QL&{)eeX]+{S/#eq J5.MiK-\73dnF 5/Rh G}_UDNR[ye~r`z\4'r.!C i_at B h&@6$ ;RfswܼU#QaF5pP =|: o?ӟC݇mvSЙs33R9R&QtgHxYzi5[&É7ۧsc'+8q2һsAWIC8p̨[(]}WdrIvt>(-r0o]K0u |= TМ~:~53eFqs^>Uk' Ǧ=" /AZ4JKYvvv7̟rv&S(3-¡svV !@}k6c:[(n-6@o[.߆_htr2HyC?69ѤB(-Vu,:" 2܀Cko:;lI:ąT;wx=Du&fҏ| ;<R'_V%:JԬIҺ%=jO?)-Jez]0lj=.EL k(8Z\Ifߌ!|k6`/P _7;lpQ2`-np N+$GolQafV :}Ů R$iK w⺏b!YiĨV rH沇FP]#ʵo&5Ru9g$ 7Eۘ-vJu-gH b#ۯ&۹i2,Ha$;|)dd Y=fZ[H93 kW7QO&3!i c~ 9#_XJ܀}iMGk2I܊\]\lۮSA "QN(x5$ <9^&ZԫVP xgZK3uMK9ZU_|F؏g4@ Ӕâj4VCj8 8r\6n[tw'h&7I;) v!̖e A2$7ݰU"Yϵ>VwGƟ(?_M©  M cZAn{׻V9Kf.XK5U3z BJI1@@w{D/؄䤒oIӈ,R&OK.B;bR[Gz@P䓥Hk󐫠2Cv}y=ahDvHC;7)Uc<2L+zW-Q$Dɽ6po!qNFN5*9*zV@GJRuQ5맗Ja; \ .YyiӘnP!.7W V~S$R+{8Y|sq&ޭcu鍕m-~A[< w1D[vLwU<,IDko|0R < (3`vF0.|$ co[^a_xw:a抚UG EhlۚOh#$ BPEȝe}Fob2 X\3Rm =%}ۗXT!"˕$&;AX hĬ\_.Y & ]3嫿42lZrOE*p:2 ZhQk:P[dA#F?9.@)ʬRtLD%Ӻk#"4 zG20I7 a p(TLIU?Ql)շx{&C BuFWvPr?E+QY,,&9}7-dhaNw0N}>Muk;MBj)&9 S;^=Ͷ*j #XJu&٣>hff[FfcNs¹gFvr¿FfӁ"BvYmmu&d]=itl+ip,(п!f)FR)1ٕW۽m;Io^,xTӖ$vS"=k4 q H$l"5j~ާPݟ͌x ߂cu윞d:w=]4P\^%9>V)$!9H! qu>uLa?>!l%С  3qUjn1~ai[4WVdKn3Yxs1{L!Ǧ˒j[:k*?Bf$!UʡIĕ<O*85Tnd{`3zA8EO?y'ɨ"(ˏ]h,<{"t(l $GZg@yNS"zj֥K/F+ЦvawT+FX4׃n舚e-p}(6x4+^x{$ֽCxDIEvߥ{Tx6mx3h@cY8U%Q[R+˜l/4;PtɜI>4ݤ |~cW|NtSkBo"ժ5ϼ3de֯tcږ0FKx}y';~R4]̍80:Eodvչ%@\zat{|ur1!$3lj7 CL=N8:k,˗ ݿ H:׺}8WK{cηfLA+QT 'DвryZa or<6 bT8$[d8[cg E +< S?18R\]E劵5\X=A;Ix-_3)lЏ=L^#f{ɓfZ&/U68ѝ{vV_.rl&t³GZݞ˲YYNܷ^C"$Fz 2xoz/[ !7/K=S)?M,'/I./3*".iPa*ӳrp3?Ň'F'An-d^I:; YWυ['Y-1;F]W5>F7#86L[G1LXwTra!g7v5=fp@M+,̵*@q0<.t_`"<;Ro(0L}o 5gj蝒Zv DLnU얛Jfg4# pqѼ4%Ä\AP wVQ0=حI168V*QI#v{e|AߨG *b?iL"KY|,*ɥY=ܷqMо/` ?1@Jej#Ȑ^} Vu-^PY`.Å!s:~LQna* ,<ޙ ͂ ?<3,C[+^6ÅɺwVo"cK6]idh ^4qFoU.#)F}dSY ^6c_!.qG? cK~,=5iSeX(ݙOE0%åc?o$/ w]1 97!BFmqΥ4%GR* =4'T q(ȦSdO>8Km-f .BQrYW-UPc*:w vZxJbM_Jܖ]rloJMqO6oW R"a'((`3)V\'E REan`Z5I֠WV=[ZSnId;l[}R?=2v&{/x{ Td: .1 ;VqJ<LހmVltuxqqjw v=Nx Z[,vgP?@  h͆MlKn oYeQX` < o)}mX/V,J:D(hSz$G6ooDIYLEiD7~^uy\ugvKBM.^WKIlѵr~K,5žr;nq:z {N=E"$!TIBo=6D]&e°\f$d -`@&> L<'~(kyD_/؄5w~Yi'4_UygŰ`Owd|_^#A]PClbyRzf߉e'Ƙ"7uif緡&Cֻ2DpV#II侐K1z╗)/|.'9b"M08[ƌz?VV_W&755=b*zQaoY?H_844l {9kl/fn7ͳtߙ&Ǜ  7`,HklM MWYx{PrVE.{78gðA Afj)gޓV[)P ǹhe%Co"Z lI‹!=yc4??T,_tbCUnp3#mєT״q^HL lR&6O*c}m ^4Dx^g2qj'[Br C8G[PbcܓX;y DuJڀJj} %5~i/Bt Ɔiv@c@ユ-&֋r P%47Սt|6s,PbmG>׫t=p̊`^U5h"}BEtQ;Bn8Rڳ:]p2󃉖&~vN`ZQxm2E'8]J~nkٕ!Fchިkd8BrKybZ= [(%f|ytS@P]_%K^7E[,Y%_%^t(]fB0TwѫuAtaO? .Iey_x"plK .@?jDmN4VW!ZmWQ"p/R#70QlmWbd06id-0#쫐] ZCdtIPOֻg(L,t8o\F#Udl^%a`Davf;}dmubHY?> ۟J +5ؖZг-l4SՒh'm*:ԑ2Q"-≧SR9x4R9\ŘXϵ{N^Ԯ +~UwPUB#OTc~ ޕ^q'OO^gׄ:-|f2p!a~gxܴ >q@/ @&@ `&B7T kFF EOƽ$+?w14ٗjSy 6T9BIX%_ K&˶FCͯ{M_H0\e:XL=I?CS#X_cpniuaA=ػz>gaKqC-Ca .mhg,\E>JqhG/>0_Yڝ6< 3:3%7 cP*s \gxj( ̊Б#&![0`R`Uֺem_,}'ePc#9"_)zkO,f 7otk/d5CH0EW3px¼8-QFqDd$4E8G , yגԾT] z*EWn_2yWHp}-O$8G4ȇ+u"Vt~޼=Ȩ+F'GEفi#Q#u-Qd`&b(_Y 1w5ˇ_Jmk, 3@vS8G~#Kf]SN&1jv(CiPFd5Oyyd\Gg%c dIVth4xd}>uc*@}dTgǝ˵1EurXXݙ 뷨zgT~krs8̠x{moKUos;9{7xBVVЫL YNϦZZw=3>1X|K8lPN3l|ޱ=]z؇߄錵ٵ\<.~4_?.hlMUVYuѓ{|sG;Ǡ;״8r&EdPbY8lfcŘgCi-0`7=#ҡG9<\㢩._cq0G֣}-;z6ȠmBZ(18.U>2jEȜw0(_D 30^]5z@!j3qF eZVDx*rFhRV쑈5a$~'B-҇1R?¤DVu"G)d[%i[Eq)ܤm4#9i.m]%yyNt=C_GfH$0s5WoUg xd*Z"4qۊx\FX$֎#A演RJ.[|f>||)qҝFoB^[`D/1 # 8R ):¶w 휄@ϋO8!07+ .F eyL*uR^ES%Toec8G+HT izDlD|V8H4* !Õ %bqUqo~yrk]$ )Ju%!NE+1Ü>@u߈wêTb>אiى4"o18yx`CB9`J\FڑsGPkգ۹հ 'ɽkB[¬7*gKn]k2)a4LɚCB Y?H\V[H 2ڶwS-jRR/<Л1,iE9P$** P X#X/!S+^YWx)DF)S۲y/3XD M3@62vgԫTㄉ!1C/@JO񿟹(a{xNZMё~J^(T1S)yxƩ1 ݑp5OtlM;H=ԖrJ;wMa)IhfK; ?utwe9֫^nP>\`od xUx؜_oMކo+~Sov n{]_gY@Kž')f{GtJUEWZ0&{*V"`wYu?}ѧ cjx6IQKS[UOÏ&o{ c})Jtx?PVlv/gzSx[ER|cM*o rƵ׍;2e7E &;VmMl$3a-Zfcz-18k <ڝ4DlQbTcH 0ڊ.=];K}Qf:Q[W½ G;>#zGnarE YD&vdUP$nG/UYOk}-W5QE C:[Ԯ9Ot/>BE$|&m@g!#2;nަ" N^G9I3*R&v? #r7ď[[2T` d4t0JdL'vETC³I&ćĉݒ_cԔ>Ꮟ2W'Ϝ4Ntb|RzvVplJ $SRD< ΂Klz}[4i*1ۗ>y1DcmD阪J' cP.cZnMYes>ßU[PukrּnCCi(mnb3Y}%B_11Bˡ!R)U;CQgk3[Q cG@n!@]6z[Iè.%$7b:Z"\S(+I1gDZ(`)G]F~ֱ!Y֞RI 5PV2%) mz}UX#Ӎ:&_xi4hj<2cNF7t^6,5cg" w=6+eƗڏF{Ļ,bl7GuĘ`avW=ӉMփ.)I:V"O$Zz7_.cu~5-l%/+t$b ,ɛUN^A; rߍ"p *Xez+mkAM`6LQw!(fht3V 䄭Ssvm kVa E4lIcc+tbIfPziP Z Vw`.GE\ɹKxqqG^]ߕiCp,3BbGu .vzzn-V>$({q9vV7k2g9 ꏭTKGAJAKo+F8U܄py!նڂ @0>q8cmcx 8Q`."LJfGRLu ip{Er8H]?B:Pº L2W-^eY7>*)Miޖ{-T^-O*CQO()YܙG*plm1[Yqv R6u;15 l\ګ@Y ?ȚtF&d2ee`EJa6 *&jXS4*QvW zQzh)u3tFH\(h֓.NK>U k*fB\!Ub8Ca5P%lu#ݰ+@y'@((ԩ@Ik=%a}$NJ.pQKqļd ` 0O uF"rq=V0ur,wcܫxNwH`''8>;Ryvȅ*N ̨ō0ꊍ_4<IْG(@KS+H [YՈFNzRǏ?}DԛȽ1DϬ:a/h.YûjDJKnME0=gq'TDXsnz63fiMءJUzO_j_s| w w byZ0 (՟`|M|K#K3h9ȍݠ 7rS~'52BflHF&Px~z,5K1aۛtu@`qFC">f⋚x*j aК25P"Uk3~wgX1 KXD%%bJ] rR}XtS1+B9yAjA@WHk7?Fa9Om {b06/tL6̅"2akuR)|e9}JSݶ[!<,6+Fή:4#w'Bk*TqRD_:mh?J X\}E}uLo(uyYg^ ]g |܈-s F œe=Ow6q>vA%gP*$S/O m2PX[ Lo2v=Z_Z[?ܣ0ZTE-w]xC޹ |Ϸ:Sb`wR<=Z^yYRdA],[byp3JTSmzuޥV* b mBM5mf{:o :8coVY˳L Jؚdi|,;Y)h=2VW*ȁ0!#d=BU=8%s,JUEi"F%8KQD'z_^+js*`&kn4e"Ю֋Yu.<'&n[\_ ~4&&Fgp{!̆[լHFY`K\ԭSx+Nty,N(HVyLr1yѫIga 4B Ü| fl4G-}oDF݁%=X.S#yԢŘ;'?%*)÷wX5<DmXuTӼ( *+TaoMf5B* .W-契^2|u,nA4<gl(x../RDj=f<=(AM yv[s)3bT Zviؚy 1U; \ +`oonf"+a{} vn&"n| S\!~g:+CUzXx{Xu"U P1l_V3|p_l<ќƎsi:m(jlX)% 5FdVܫ4o{0bC5ͽUk)m=7o=IVuAx4pKFLٰySr@9P'Qsr`XuT픈OS$ Vhs.zB8ʈ1<WokI-_3~Sumuoce "ʍVy44#?%[KMY܇p֦&yW滂9xJF"? )ICr'1R+ Q3.+/'{ }_T4$: rNg螵(0П #86#ϡG܍ՃK.c(f]=P8ѵ*A!,p9U[JڪC.## 50`lڮהO^ݧlG(q3df=8WE.oQ գ,16lޟ^4zrWCq`[. ,O&SD5)?G{M>1ɪ?|S$Խ|"5AixYHBL@<zJcJႂ$b:WRrn-8W]})-@}@u6!bk[3I\uKb@ Д"-t&of <ʔO.U3`VDώք[ZP8G!{GEHfLHP+*+ uh۽_l4Yoe 5v!c0Wب;єXHᣬ `' D>J@b?VyxaGjlZxKjFyDi@QUu 9Ɔi&n˚+OJv4:5wS?1L $8) ^kn޾v}%nՊa!k|^*B%[d)ϔ@q?rY69Zw*XY] 7vv wtΩÌ9.1VZg37zIgwZ䘕 u1Agt6Ik f @K/87p&L3sz"y zyd MW󠲭`hp Z"QQ/lv\< b|@#ڰ׸JvMxk.3S vĔ Dx sq 8} aGIR_|̐0TgΗ )KoJ.9{g:E3IUVw n)Q4n+^E^qڕU&%lƹ#Z'X᤼:.aftHS[SvXɅW po62p[RhJ7ȹs(=޼k p %Bc1mV^86ꖹpFs!tp>3@CsZn8gKm9q-Iylfp ϶[H^n+Xn~ʭ nQ,G!n8Ygj%ֺ`A=P1Jb_prl:Cl+ :y|a鋕QV 7G%7>LH%caͶ= )yʵǵQKTC'ɓ$A)zGSԢ;'>Z{,h(Fًg+C.İZObA{[گ K&vw0:BO'R(^nj`E/ *'wja~4X5i?cZ /1RU_uNmՋZx!fؽb]oyMU AKqXM !qW(H}& DFĔ4)؃V9$M+~ty#2;rն7JжԒg!)5+]Se*"gI¤Z+5QAwr!r鈐'مr+GJp\ls&tU!a[g\e($HLg exG#@K^?Z>BMkw`VQɘWN,ďGd8S6I[fZ&t2#0o DJ8Qp!aj|6 I_wd(xcـ$$Xp2v{{R\jDVPT𭥳h]xf8LH'>PH3QwzqB.JP2'Kp^*b4h,4cʩ S,(JMʻ nSC4nhFܠS"*0O?:ouD5&z{\-؏1 m2c bMz;7C%2Rh!#&h?CW.JFBv\ 0n(XO'elyUtZI9-[|.d0ܧM3P\z4]e }Le#ӃQ.uGF)٣TS]Eia4$%ƥ\smWKr CJ vM+t\̆h];lo5 &e+9tfj 0m9.dh޷tSiHKY4IݩwT`9R1Ul@\:t f 2{g _mQҾx/鑀`k_RP6(#J~nk%R"h=~`E0F)rp|v8GU_CP'az}FX.aC"dۭOK1\LŦ U}IP 5 @4}@5n-=r) x G{n1X$=Qe,FQPWHI7S iKZynj. 9@Pɳ `ɑQj*=!sTjX&Kϋdrq|P3@13-^rWm.'Fެ)A|8XVldŝ7Np>h~u4hŬXkng&H?H-\cS|c}q[ʯ \#b|Xa!\9QJoHdqNA5,Kobi%şީ*rvSY&+9:; c`\O\pr]^"H˽2e^{X:ϭ"93@?j#/E=kV"ddݳq%dk1uW,<5=t/=W߇cU3H0qx7λf"AVM!gA inыG`dn߆dl}k?\(QRw?3aU'@'lMBdf|VTh5PJ}gr5 ^f<V \vJ%߱,Fk3Wҟx}_ 6Tp,'$gy9<|5s &qJTzFmp9[gZ72ї/b-G0zA: ȴtqs:\bOjHjHƐ!l~gv7WYا;v\tǃseЍ-8կ%ߙǏﭻIVGf_* f2Ns3 쬥c8a佁RVt\Q謕p1jp{A>ZZ1B,]k'e~7)yHȊ81IC0@Aa,I%VWČl'ٝAҳqrh0ҩK4d633h 8aMa58] KNWAIb3fK~cJB"''VШICrY(G#/᯽&*dG_ԟ%-!42AP_5wSS7rP%hAK~;.,R1r=~qyJ*)XevA"V.3֝Ii/5m4>}6-IwSjb GGB?H=V'F`| !¼fu EN\A=EŒEĔ4h0ev@a ޲캏n{D]@m©p \s Tbш}yw啈Fgb=jzA)9X>^t!p|( -*HFI3P "+G/ 2z=(SXA;uE.B՗BO(3}7y'NWfmG}NBZ3g z*JIS 3 ~iM<-DXaq7a <`t2<-PhD^l FsDFGg'.Quıoq$` }Q':ٱP1;vH [C8Gg #3vT閏sk 69*h䤃Bu0}8$E;޻_I¯v|xRL^DWb4(X8ww:ҧ46&I̒"ԦyW7ztTO$k/f:ɣ5kmW7Ԋj`ًj1gk6d5^<.03bͭX,0K*"h4|o > :}`V<mKW\,/2;X?[]G&~_^k*֝go;o`csAa2NpYv .]TXomu-0M}-~"ԏϟ5 {b|NH?\16!D/&)IGh"A˓dA^iݐ־ :$KVaN*3)2o!S 9ΪiB}.s8vp+JVVϖ{<G[b5L* Nz_?I^xsZ_łWDBB캸9Tl /up> |; ;lk[iϝQnp,+g&&jͫr~ 4&j́Z|{new{{0fFMٕOh%]mg{ӼY}oiiL5T&[H"hN>CЎdVRgh <0jr2`""yfwQud9a/y=b|q'L(g䓋 oi>:\*іlQ9~ɉu@Nd[xyC_ * \Ldi\XeD|1vEn.qX!ަ},nGl\6>:Xͅs }rV۔H`A]bMT6er!YP|~.ғSŻJ>46{^haP jTBO݇V6&yf܂hȡ%Z٬8S{RãF/;Z.i5c4ʠδF t34T-OFL3gL 2]&;{h㊆yWmD6r\AoA暼͉SsQQdHCMk~ݛ 4 |%Mb*C7??'|RjG[^V >`M[4ϖem!g+gE>$j,\p֩abь$W-aBrǍ8S@~埮LQ_z?΀Xg.o&-yǔrb%l+ S #2tVJ Za2M''X;01LH#s=RDI-^o hҐ EF~80#UOuvg-vn6<-]Rf`n}][VHqc)G@t}E^pZ" 7 \C9cRc84x\1杮Np'@0= *o)׆^HQ3I1)eb3J$N=ʼpMQSq ݛ/8gLn#pW=Q#hV6hϞW\``eorLBzTKLbņihJCF l`u7$2O'&?q=[f'e@w`RFi>U؊O[A2@x2.wxWxƷpb86p_a;22bكY+V.N:wr= ]%kTdnħ,s:C=!g ܝԋ^n[!XnЁy|L<"gJ` u ?Y|G&63b |k?+"`|0-Ł!eD : yW69|v@'9뒥Gu8uk([G`hRVQ#!8hkendL_韺ңi-C“&nCB`i?@@>ϖse(WI%u); yr \V]&3զz~BRLADc*c LdUg|A~mG_E ^? 9zE+CæA(u 2vhYjb}́ 5w `?oצ os#)V*ŏȚ_1b/ %w);Ң{B$j6lҡCm(b/}LF"AuDK,UfJ'Cɦ79.2Rgh銢9ejX^&,lF{~C+v{xW|ME.#$72fy 0leaA:{}׉ s/ch6ofGlT|9Nx砰Je&hK\T2 ,!ݺ^ A^$7|`E<癟/Č^lmyOS30E2S"bmtX6"tZRS H"t]Ӟ(UQ so?yZCQT#15鸈:T3-^&H\+xW@A<:oqMhnURl=F֧5 6jd{5M|L!&$M2媑 -E-6i?#N][ve͵mN6UQs봒GM>$ET$=r/|Rh}/fx Cw{l(@;s`mKΣT]bJ'[&LM>Pnwv窯g~*{Xu{ɷ`+:U˧N.}_%=6LfsgiHV0f! :~ku-[?F#5-Jxl0kf%|LK5C no/2CFٽ MC&v0X$ngy}q! Z-“Y8H3}6!\m ݽx\" 9p#o?.ZMi<~;x$;MHГm\ڋw6xqzyk{H"n C E#eFJq.R"|Fn*JsX<:M[|w`Ig+ ~ o*͇|~+LVz+atJuцt,1;!4D%h/@ȈPT'Xr9f(,Fa$옶#s @C,.j>(WtI)R돆J6I)]?1EĶn[G(At jRz]B8*!zh5_66 t{70|Z3j9힤W=eA"|_Ey_e8XB|Ű*s$%8ؠDg|WTkz| 쒾O=vso^i7"yŚQ|.H1n `.QV 3 (ukws̺%ӀJ(>=KiנMPEKw;S UKgp7{P գ̟º2HpLsRpYup=͙y  k;V6!6diytpRwd:R7@Ago~__'OqЌHu tN*ǝR/ĞhtR )UwzTnFSɁB=pgʦ@*?\[(*9;#"W!z>X gjbǷhzzlay5?~X:@>aMwLr ٟU 9Z1z]ay*=?qH}r38{\ {ZmOw W%[1!4/&yĴ ōɏz}]gha@PyH{o3ksЉMw޽#Q]X=>hP4əe1ڒ3wzh+Lĸ7 &\Og[Nm$fzԬħ$Iu?Uv!Oi/3;NhI6q{-\ؘ݉44l;'PYM6Jխ),G|-R*R5O+Q/0896s=MW*9*4{3 iʕWt2QXqx o*|qx;܉tTȽ#~H G5#G(?LT> '?Hb`&M[:/B>a&N],ifo>Y$1`} >P~\ٍՆzzsg:կ4M Ҧ^@p^€vWFLS-Gw|A ymD lIsmmwq;J`~9gau-6+ǥE,V-)W2%s$rm쇴1nxQ<E5yȽT7uWwZjSd;퓃)w#} WI5z+WSG[mҡ(WӢm-Sn1# XuRQܑ.s;nSS:`*|[`[Rwj]{㐏?UCl+s3ɎCyCTD)3Ո 6Ƥ{sOJv'Jl7ܹTW;'K2`:$n Y%ͪP^sG$ VI(K=`xyv+UA0#~ |_-( Ƭaޫi) K-D|Gw3C"c^C0bC%㿷k᪮Xn408i.r<`.ѳB(ZLAZL~hF2Xd*ҹ9Bk?Cרm$~L'3%k5ԶDxftl){w\6%WTn^>~l#3]T&  cT1!Z5{#O6DŘ( ݮ^.A)k1,qyg|H/d^]򥆾Z)|efL+z( p{UKb_F^PLڞ M<"v9WL/>j M"}9 J PWHOuYCQn_ĂϢ]{zȢ>"׍z ?|9U"8uT\*a{sH,9(>3Pĺ)E`T= J}~f:$Kݕkbq qkF /SNਮŵ $Q>pAttI¿`EQ-y1/"v_}աm4qSư32'ڛPc^vO`7$l潃v[kw<A["Z@Ita<PEWJ / ZUg#}J|ipNhj ac?Q$L=n" s 'Y7QU!JYd^ƀqm,Z1@ba@8pckrU(z -ړ}." 5,cٶ/H ֖g٥Ry4W6$d׿n,6 r)?ѦZ37HŰ74ʮ K 8B.<[1vɥ`N_h@ j-AKE9"BBwy =`'@w1֫ˉk.|}oivd&Dq~Y*]}_i>16~_HϛP߫Xbz>ST5XoyߨLw/Ml ٭ f*Y^| 4&3GO2ȿ$dƑjy* /1LLyFmadmsSF`2ȄjY?bk'W![k.<.*ԿxB'iIR+ %QӐBu>'e:}-H,J2{}Y%W-A2`0E8@QЇI {.|q3xPx/ی$/U Z,$[KЄruRYr6ghHejfqpplɀK:d?ǿx%w/=ƄoQm3&#ve߹]@vgj(/KI\YdBSj]HU۸b,;\Ak}{%+Q#F?3cҕ ˖HDli,GhlFh$BJ#pQcj[toKR ZLYJ}sCzIxg̣rDX#4 "sCtM*u饌_]f\Vi>P9m4wsk cgxB;C71xI|IBVb: os'G A%~sIC!*xN`$= ;s4& V3GynÎr  Џ6jy$C%ܞՙ}녁.^, ?DosHyCd|'Yު_i2ClPw;%aX,%˿̩%K+ⳣ;,2zNh}H39C穉PFecLk4o)IQReCe2Njf_%qL%?`-ʫr$%"e[((#vHd%ݨNAIhGP4[yӾ_?FD vEgwwb_+MX ʡbUGյ*—U=,P_?THOeHctJ 솦|9\I,,HO%SQ" }:KVY}zi#Sbԣkn8O`ƨQ%٘{L]5؁+9P%7"ojy2hmh^)y.sX}8ͅgb6( Чd*Bs}X6%= 9s Iɭ9G P@,Q?0Y[T^0}ܝ35`YA#^|@Zcyl"l60rN7^b`sǟ[-$,f8!+CRǽs='Lyt4q±geW6ZH+>UoeXOeqH8 Gp:^=X4¸Hc}CEV}J^aZ 4qZDMf^ )OOZ-Gvi k-;I4"av;+Y)U|G"hI7>ŭ"Sw\MW>VaV%Z}`(@kY 3Lr|OO0S* hg8)o; 胥%&hvK4 ط,F^IO^zޔI2u/%* }-?ޖ:SGGI47;$hp &|G/ytA/!&:[|`oqm+F+Ҫt)guTO}֦rJ]CsnӳGNYC-ɧBp$xJ#ZzMGr*,@N&_ D(;$CzO* Αob`U(E{O$l:&rIF^|3# v 9+k޲ |XW"`$#ȻXmzS OdV^-a AaZ wM#sO#~T6㷅AYSX!1 ̀{_N'ʼn٫>;9_ͧص޽rLK}"fz pm:LL>2d j8G¯Ub v6r+L4 qTpB@] E˿I\l^ ` 2F> @(ROT[;YFIwRKNSTY%a/[Y,S=Acڕ5B&wPeخ [cY~EBS&CV\4!!Z P\eœH;ΒB7LN'C;љ[F oÑo)3хU `2}"#R}4)c\pxsƓ ~@%[}2Q#Ofe+g#j&~\#C2l_\`Zb3h*"LYbM&_iim,4 ksv$؍9( hk,eomY(Z`_k[='MRddCzӀ* 4XYjhv(ӽk5LPV#6֭OLWst'H14`IYKn*"myn|Gosᨄ_knj+bt82;٠="i˂;oN?5>"nit8CdiFWLkÚ06[!sVi*|="L?8ڐR_,[?CśLrO?Bu@l&5eJ8>{M-} w/'s+TOH(WT<UG  z7liw:5q,+Y^9RT^fz',U7|% l G]x$2]{z :ltT̻Ɋo3[Zkz]{FW)26xqn6F,ހ'; n$I|Bڒ.7 z ʾ 2OXjLwֶPjN8@@ HMP<5>1Nb! QQՖA004D)~_״Hyp%.oi7$O22J%*e>:9J9tKK8H$8ZZ(\z5g/2tW;wAfyG`mЄL -K LjvUvmplnwzp0(t ש_B֌'Kو_%h7zNم"w}3" 6gܑkܖĂHAִʣG Qh5& :K༝87z/xyڠo8F?r?kdīͳrsg@ܔ5qwpP-Dہ/-y+L˜'?88Js8]\fmVЊs)bHuyPy8k&a :uSv+eLZd=fؔ-42?=kn|\$D0d'Ӂ+,C:diK^V 3`UN9XѨWԤf|FK][hs$PV:x-~Dn/aJjϊXoX?mWE8/p:yd|ܟ+>ex$':T4J< zj SWfQ.`/a@#.h?WS%O+cOݲ̕ش gϤ--=Z7RNp Ŝ-_ǭT^Ina#[+{{Zc f~Iۑ;Uh&[$M'9}Vj=*`#tƀķJjv~1*HYBx" QWnȻV <"FX_~KkQC0UE'L;Y $*7iѽ#%)W€A!5A^fmj ͊Au, /Igdt4d?w_1JJ3?I*Z+ј7k"Zl;UpH?oKYdh$&,835XfTDtsNqZKSRIYD*|R+?hbǩj) V peȍ4n8MAWKPL_}V-NG,oYjC˪Wm2P &\1CY+3} &#=ZZIfs`DߙCwI*{ DOZ 1FXl)CJC-\sn/ea.2܋ =F 3@$}r3 P7k E#vtc3%2mfjRGdWZ*^G[`۟K{׼U^#]kPyjU :F% RH7n9lO8jo Py/d֢'NL`9wmggPxH+^W E=[Hkת7{:'n^߉=zp'g1! rr!C1(:lyY|+.{ 4KQc+^F_6$ς4l^^"35 b%Nw7pr+ц-*Ixoͧ9CNʗ,bpQ3S7_C&՞>tj.zei5@YZ#_9D'm'G k%KlKgّ#`[|?^o00rcjȘAkDU_a\z z]*,p6 $8䌚Ѹ~B ۣ͆Yyc 熨* MBK:AKn[͆ by *ᦣxcC蚆>n]w=Pzb->dlPZNH!=YD?Gx'0w>1ՁAZ;2mKut0 w[eh9LL̩s0=kK iMeBGKZ>OE{\m(Ӑ|ol6K{(ssW7 \{Gd 8n^ުavate]w"*Q!詤 yoW+_"b4T]P QHn|XlaLlu f\Q k:DUi/_j (}фάL_W5EFhE[v=9aė:)r o?/4I[k}Xo E|J3}eMG3SdDhvB܂_A.x!>&H+|a<+o 1;ҟJ}17XTo:=87!D"LyOVOf@vO;EXkPG#r{h2 ri:\؉+*x3WĠT0>BC~6z#U_[8VITzgؿu(Dld6|X_#n`yJ^-i9@Bv-^&e]+ 뤬:gGojQ zTx'}Tڊo4Y)2@bߘw{ QWzuj6X]kBLvW*! !C!ə% prڽHkM]hKz2%E'8~yM~_G 7h}q ipӹ:3GgpG@7ބ+1 3ͳ`#PagE 5Mα΄KAǁ5{'ED,20E?3'(Հ$CBOݐr x4Q}%^׮c_֟<a)?QCZ8͠zEDIo^njcIWn0[<^\,p2"R59x!/X<[OTD<}Oc\nb@^fx\a^$fwh'ؗ p`&MyĺnwiI=FEѦQ,\n8DFo̘k j@H8}G "]Wrˍ8 +>8х&Mnq~IFa~nIL(ϥ3ipʏ֘/W!:7z۷s%@ۜLɕ4ў!EAH3~CF3DftGveK%$)x7QCZ2%k18%$"EQvoXWPI.>ϽQt-Sc0Z݄/Uea5L7`"M-1;˩.=JN &['y?wBׄ[)MBçfV E1 .E+^bZ;g@^c)Fje [&Zҫi@Ypobr9ddCo|.>BAJ=tо\"oa& 2QoT1:R]Qբ*Μf%)pE[?ƩR('v Ŧ>~1!}3fفE.'"}\+wwRD_sBipR _&#:[yIX2M3ZՄ 8r3v T[xt,J uIv r+ƭӀTgv]m qF@ʔHivHXd-,Rw=M! `spD28?.Pj5U5@W 4UOLO7!*Ғ6 `.DMR5eE {L>7{1qHؘd ~f,+W&] Qۙ~zpFFO5]Ua |4g,wC8z]ט@#c1ZNJNEGΟ)Dz⫰c"a9-M/\'&JNܐ6@B.:z[hJtC#I>TJuR \`py~}^.`iÄNsP}2& >浻3 )pe?Sd+(^,7c]í3dALbM=vBH+s!^5"i0IU62yz|e&|^dG9@)0%U33 odn1s=,3ˑC  "cxho1Aaf/1h0PDN*7o2NjqγW?ꄶڠ-*ⷓie'hwbi m]w|(^9xb5CE7Qk ot\~u}Vj]NB=xYY6VM;i?̑뚪'1OmÚI< ZXCHZHo@ǂwf _Dr2“ 禮@cz!* [(t )))A* v,P+!Gp;#zК@,!\voT,,!p׈б7XWQ~n64o ._"HVGͶWue=?:iDt(*eoQ7)PWGX4h\A[_ f{ 탴*q`ΤV60vo6B(ŭ4{gpWMY1ƣU`R"]yk= NJ0*6Hv)n2Qq֠m{|餳T 3[21\ ůB;M FL]d}#>ˀ5}cE"2{豕tbs)PϽ*禑hX՚fK9s%.LNz.^1ѨۑwY@52)()I4X 4 d_U\-ൎ`~1F~TR}[ϩ^+8 HSS>ElvuќzU_L@,6b\2:Pݩ I BĞvft%`ce[<ބ"5 A$j61M 淄v|L38sVdĉe:-p"NQ|%cr~Zm 5oMF?0Jzy NBx4;wYxY?%3QβVj)[b/շ ԈwW;Mh:Zb_pwC"2TLZ7|4l-ӻYYJ<%Xq7`H6S f ֌MrJFr~T5`LC 3][Cu%[kZiwJ%fO6;0.<1$"[.\dbOH%Q2pa^͛K|IrԿláPRڧG=LX 5W XpsFx6XSg}s*{ snw utUd߻̳e? r?uAHQq́'!S"u*lK Rx4x`Bq}8Cfk/&B8khl',H + Ƶp-ޣ\GK4Gjc|c)L@=zwxea9οOU>ˍ"xNZ40ig}{[7c%e2K&ZXw('@d媲3Nyo5u;.qVkCPP^H\#CDW]N]|{WjS(wʡI> FX]['ҳ޴^'}RXNꌌP63;0 ~;5~h/N!^x{B%N~|Ъ˥7/eb y7 \5]~k5$ 7/=ǖ. &ȴ/#pO֚q?ƴaP|hL4qWR RTRJFvּk~LE5+Be^`s2E`o(*{r&eNnO&tSftcbya{qHRFͬ]y1ѨPָ- &Gn:# wgKz䅩MzKv)tMA$U涪ZG<z"+xH1¨I3TYbx 18l&.Ѝ hfF#14SoцS Q#D դ.>|txcHV`Z8Ko-.X@!V9KԆ9nZ5u%c߯Imu}'+Dd4ʋ<ú' $3;&dM%{wtއtЕbb]!-ޭgXLDvhi⢹cBQi#;PIbN^C q/9 б,jْ$BX_;gݥ;"ru|Ѕ)_Řf q/2뿀lFoG;?=}ͽCxz{bDS4_Ves L}a rڣ1 p>ҵCvYNQЁH`[~v-U(9r4~+_\P_7 ʗqftЖ9+/VFd~A2uÖN8t^Xo/6}XeiP/ h= }O9-,!=DTI .e@>wXIvZ qJK:M{C LWjNP[aܙ9;VƆ2s Lzvԫ.u^P4B l"04C+dm؟9-}WÜԄqҩ*|X~T%M@Ga_Yd@/]{N(i[nkVG^2^"#BEóRS鼷iob>tZx1,r+CE^ C`XxEVPX;w)s\qHWΰM&okosYUk͟ qTXU%? ^)1 FX ?2~=Wf'hƼǃ0gHQ?8r{8bæJ#<#;>Ol }n]wRmAx9c-S#X4H|ѱF26b~/T5e˜֬:C?f0HE^!^8~$}.XkdE< Ů5y%JJvCK$ Ir@Q9i15̹% R|=]K ^8s13YS\_o%GМ磽tͽ6,*r#{2Jq.U&Kd7﷌HT%Lj'n$u4sl:.y2Ux;v 3Dktť? ʮnƴR3fVU8hg$ձy"-Lo"i`Qי6T懲FiX.bKk݂唩 QDCr%xt!2y64|>.W$,:ʖSj`ìR&ͯwCn$I[$f59'?hR`یuͷ087 $|řz|0Λ!7Ġ̞3gL<`%\*tulϻV?ZrWW,}G)3\[FH3|Gdfyd1uJʈ@:=)ë(B}d(R_1s}u߉VdHyRG[oW=nUl!bjZܾqϡ~*n F߅J=l6'8Cߤ o]&>0Q\q- ~i/F >6R]9:_(! T/ȍqDp)srv=}L5Dx@-Ht ;U]E,Eo$-K1vy!E&ĸ41]'"FfXKt,&}XvU<|uwC"٣rrk@rpBeh톛APIwJxe2 p8Cz[1^c $H<.z?+}iFk۔3Ck]v̰t\ ӥD;ynGUoߛUVj;q:H3E4D$VBiqr! ƯJqֽͤ]U!]\6Jodx#\jChOn&!?ɦMQ?!n%+=U$_3SQ˺cGkOKT6X^ah޵Ϡ sF",هVܔzu Tm=Oa;tbaN?p`3&PZP(O@1*) ta;/""F4 DEJ0y5+{@BM2תE7V$EhK+{|O=Kӽic)͊ NM?;&#NnI-Ť_cc7eY)rIkPلxK6~cõ O>HX=+볾UbVX}9U:!Nw_*X9N1I ٿg#FUB'?ϸ8 J̡/C*S)c90$˺Z]1 /DL4zӨYI/^-=,BpNyԯ-srz"qmUìSs_G-gUV)A[%N+ ypD^oA. 5|?iH d"T2wv8}">i3xy7),C 'w8^3+~a$*'s0c4춙hA͚bh!h'VMo%Lh9K:RCr\Ps0f] ryӨV ·XU 0nS0 :ɵ^(1p;ZNcBWIfSExL.wgU,6FD?$niskVAt'혀!%{M2C 2`lb)4?i>@WH7wq 7Y<`^ Zu͆{}UҶPR\LR 5ARz ҺᘶQܤTlQqT;X}BdQVNˀ //'TD)zϽ/,"Yc9pZ"=$d m6V.턢IS@ <NI |<\v,c@4p 5SH$I/s^qu$9kY&Oġ_k{ߧ󱺋0E /w%roph|dGab}C>vlNZO2A:6z n45\[ )UWDs5 +1OdIM3u1g6D)KW` ɠ{[H'8PV̽D߆4Zq!L[N/hu|9ΕA.R:˕U`\ fb8/҂é"jT%퉨ǿTq y$XSB~F*<)F<-b\rE_g]T}45 |i8 M z_}v`[56)T/|"@5,[I(N0tdV%$N폞ZoSkVN[%dD2GU :6M6 ;ZL_.QT%sE f Mr5[1yejh =Iz8vU 2Cېqp1'Gkc.frgD"~/G5Hkx@uSp<<0s]10Yc@U'Z5ZdP]BGguvYzm a#~"~&عC5K؛]Jt̜T{^{x%e]n} [ WW؈Ĥz)[Ŷ` xܙS_\V৐2ol*W )V0I1)sOlM6_.?H*%G`uI<`~VY tP<Lp&' '+P߄\#P%fE!BwrRQByJރn2c r:$4TX:GdP!顃4A+dd2-/Hlc >ܧA3S#aqe-#`NQz˼enkqi2A/- ©-=V!bBtg:hPOm;KɱhZ'gN .|h8p0|ȇ=FTEy) G~QJ:j+e EauZu{QʯIQ:KŌM)Qdge}͙ w"@iD>ha$WS9xV'}ՖÛxro7jtI"*3p3e u1՞yHS8e5aj.{As)`<˱=i^ˈ YOx# ƭ򪝇GqQE]VP7(l7`i%\ɒQB[^wm y6@ՇBh&/V,[yw^JOfrQȾZqDŽ_cw̯SAчJ. g+|ֱH4aݠWW_0g뛏r:gJO6MP6m"G#ۅ؇#ߡ.E(h@ ȉ@GZߨ@%4ΐېwaH{w\7O>D}N l+2L:|ڛy%8rAtvq/H3' L,fŠ Jzr5,ڿ3rCQPyfkp\qlid>&zMHwpv6FdG X ~ZFQ5 wG2Zj6MtQGdU;;L[k`dOP<_lw:kiN\Ʒs+ Drk\qD+\b.)hښ5z2֐=weALXqq?\i҃c߽Uϒ epn 6O1êrL2R_Z%QidcfJGz_AJ9s&Y2~Mb8g9 ~E],#|jMa:Yq/ёPiH $t9q  K~ [vFVV]. Kɤt>)*;ZLI(P^q`(_swQW@Q*.sL|$L QcPTZo'I;7"dC_ 19t A\Ϩ!`?Grmp=#b`)i:ιINW@@5 p _.Eu'Z^ .d" dIRVh:<_:TڰXfѼ$u0b$[Pyh1:({0>#f90^q :e_B=O$)\Xp\tp|_HRϲURo`xEto614go$gɊf"UN-ܖLzZ9Ь% dE 4T'T *2 ݓjFa#T+5vWq_*.ɰOEpF̤5e%(Sl'ٔiQ5:ET5܅e%œ@Lr~RBN48R|UgO= *OQstm -wJ`-_Oَp[a=m%+EW`x6> QDx},vTz6u{.lp/0M`0UzqĦXOb(sO|*g1B([r:hkab@Ir෵ou#tK'z:"?Bot 8фv27223OKGe0 49<}x H n76]2ŹpY,01#WnlSmKN8WY?Ɠ;dduSiN"& 2>4%F'i+͈G E5 EWxߝCea'T ǚ,fyyו7Q>E\rꔡQE_,,D#,CjLcʇjh+٥,'-nX8lkX+`0(JfbWJ ó(7y!ڲ mGYӾ*ߛ[b88v{tP&LMdHf^v{*ŸDqG :"=(fແuɨbs˪ p[F&jElYwbǴ0T4' ]YYw9/:O m~7ܿB&bz~5ۤdD,4V!'Tik/T_}fNKZ6f:\Y {8AAqyTNt,!-TtۙͦxC#?l^x{ ]ܫ89xUW"pe)u4 ut+lR;yQ|4p[JT'9+UgI z-=e(|w@Eo["-_tѣJiu/ᛘ ค3/&M?zt頰'N p(X(K[1E  f'#F OPJ}) NC!XF\W=;glh? O9ՙRc)VIfzSҿD~i ?9bOM V.p5|n{8ŇJPn{+<6<ʋ){Em;bc 3d8Cv BKZܬƼB}aE\GP WEžt5p̺s:P:/DWNѸCFzNs?)3gؗ՚ xBٰAD%+oߕgt6 ARJ;!IZmRMτ aBS%yu;pjVhh䚁:t-na ּQŸ9' rjI`kɷ.'zY5Ў}I/UDb omzJ87C ^;t]o8O+v/!jʤW}F襒@4|\$`y)"| b]sWZ[F$)_T`}0Atl昲9 ~_PsQ+n])@o&?vW~m9[gy=۔נ +5Y!_|ܭ3 vapJ`,([6.[*@?\cx9U 7 @cp:X+ݴ\m~+g¨S3k21>lgP,M CԻ7E`_2G Rj|j1bE"2ǮQ"֞y[NYՓKI8o y>wzO,ǼRDQ }=3$xBg{fW:" 7л lP:)^kYm"e8{&&Wޅ5d-70§();zl uƀm@=?N. P6DӮ<ɒ*,@kBl܁}}LG /8O 3šDʩEO\ҁCKẁ_3mr7mLH+^Xqm4gd#}KVgCu ˾<_DNf: r {'t| W:`%g@?L|YNVt߆^[R;|T##P$$P`]Ff{ُ*U`6!,v+3|1i Cn%H& " O>HEIAЕۈMU /Ea>(#陼겾 †Ա:$&I8HzPM5yDN p,phɈŬ--=:Lbҗ$x F@bv0 9NMѭALF~Įn:C'nuKoυr$[Tڷ,o{g(Jc}w6 ؏ZHJEIm{,2z*ReywܐǼxƗe\h«ʿ` Ux`'p@AXrn1<>;5 OdH䘤uMqRi; 55X% ֩,9y FBWܳ7Auj皺>8m K;(g#.w t zA7up@ Y5_SE-HU֖1q~ ^u;/IiJ%{R'M7L7AT+)>/=_BDXmg?Կv=Wmŧn؇(Fٱ2f~;2p96T.&-t8=]rFHH_\i:b/ƃ4nyQBy.6dlG$U( g < ?HVE8u$3S=\zCB?vƑޭڷ{@V>;u\ꨍleGm-V])m@\iL} <1_SBI"y 4ڲzgXZok>plB<ҫW܁_n)|ǂmNhL͓g ȭZ O: <X5ބh6Uڙȋ.ro Mxl&}@$qfIT&5uF?qXnMX&ܛ*Sdiʼ c:>~ArYMU͙iڗ.5^k5_kf ./=wrGScOv* D&@mA_ p+UG9\o/vkZ\(y)VIsCsqXjFuL8lYK7[ԮwU>My 6zKsFTH8Bwp"B/R+ELOx ekI| 姣FB3DR`ow9W"gBK +<8l,c~yrŧ4_\y~Gtomu& S#qbM B`;i> $K̋RxGbn[7\h.2Rnf5C`t`G$Uz댈0B<%0ǻd0zkE?bM!vW0*T_uoVJX $QC+ˏ6{] ,[h1֋rj34c>B ތ:Fҁh~X.,E/a1_w$AWKWS+*t?^<9hR :@.C$~hLO"˱lٛCr>=w}^Rqϓ%H%Ly_*9z!lmx8:ŀ875ש>\c Z:-|J[_Ehw--V/h.&*;lH Ϯ\Aoj)T8,rƕ-<]-9S:@E6::ݼ>^ڗ *pj~.$3,qD~3吴XO\oh,;&b([&^ PK:(`DܵӴk.~fd_+7~B$ᙸĮr%T~Œq0|@a;? bJesmJcM ed${c97.=w  I4f-K܀fKVXo05|X]o1Ѹ -oɔ0~Vn49Nԑ!p:Z|cÍYv0 *<3Ý-3Q@k+C3j5N&͈.(lR:z-ѰGdmhF6fE<\'\2$އ'@,\uVkP}hCj]7- "L`U~ k,l{qs>ɰ$qdf4:Y0<`a+sj6H`ʾҌ"$$XiT?ڻ#Ԟ[U ەԮ |N&P`]!f*UFDul:ЁE1pV 06vl 22@;g1zPPWpr?COˆdRʆe )Bmʠ^Ti㯃m 5ܰHpT^Foaء0c) cq8E~mjͫzdO{x3rK‘rmliP)a9HqObZ}Y2 |h,n 00׹A 6)҆8;MaiYoJ8 Ʊ<%޻y6CBgjZVw7\t݅4ֵ\BbX@P'4џ'~?:ߒV^ED%v cY"njZ"?!t}XCqW<%S'`>?3 n g8扨Z:VϾk.ԓW)5N<دBUpr9/99(nac7H>p>S+#}\I8u>Du8#FjqW9THZ 1qT\0+x1 ʿV_pMyP )fTzEF cTj6'ݫm.\S:5;!!LS~C/p6ςZHQY`rGB=0œ~ѩQSĔ"Ra-03)_ʠ #m%*k MM&s""I`d@04fM/ߌed9?, ߃k^Sg>ͭ#몞;:t[_oF1TXT6TQG.~lalծH# JPl+u}~FRUeߞuFӁ`bJ(kMHYmzL& 8V>נÌ99 ^JeENE 7}L[9^Tښ2x8 j|~cfP#,|ge)pQs8j%8@.)T}.[8?:0l,ߋ,A /Fw1Go>5^܆@*ҾOF~?$dy6\F-T,::$w}j\&v @@?0+Ws T^R mշ]S(v&7DE!{ESX s|>-? ^d?g~|b=% Q!tb7\m> ( ̽C9ʱߛㅄ8iս7/+a;Jgv;_j+fӔ-Ix6a(7CI&޽^یۣ݀syv B*™r.QkS4 {k9m-~[47Kfb cQB5PSK|P++|X@m.׷E'ڭиE8V&hW_Koj!v_P弣0 tWξ IY r:UWu_p*Ia#riyYr~Z0$/S{"l5p%])H,;կO{mf+ 4uTf82כ٭U™7ED`I'xoUeJ`!~gaN8h N&ܫ c>bN:Ke)Ϊ 'Zܤ,cL6ey[dN'2iWV9d#Vu`Ggp͡q7N;$AğRBЋ.q/Oj?Hf|:կ6K/*_N\"iWר0r@~8_}O7.dZ\J-І=9S7cTΓLngT¥3 f2?p7 ERbq^eʋy+f~E~ShTkiQ+8 J^iP$On5P]D 1*JYicI[ݱC}oUBJB*Ra%. ,A왢%3/d= DjMOI9#m|&XQb/<2a>YQ†Ե ( G=,0sY>#hSm,U0/=g}.; B%W bjoͩE:qsXID=xrDQ%uw v 㷈mv>f;7b:H:{YkP.v 0.+4qx IX,hMkSVA$\܋ż!']erD8@RW 5MrP/d|-ķ-\+3pS̓H6UwyZA,SJw=7#g >o( V*039t)lGZSlv[nnKFx  0PDp>eElN> s]6gaS4X^l1rJga$t#8Q" ؓ*?F/w$W׭%ZС!u3nq[\UmBHO\Xwx3\:?VYR^Ze< a<[i@zd!Y|j92zQr! wzFB^fB;V׾P!]y;C@Va]BWLqJI]橗B8a_`ܶơhM)0tP$}n:milę&|l*WwC;gD(1+j?"za$A:D4H!{!^9 OۦAnngYWINJ%j`+_0˸38xB%1aatVsڋ͇ٗp-TyP?9`&ۯE2۷8Za!QUs].#ѝpDž`,6eҠ31&L\"l|C b/2ѱAߏu 5\`E:Xtc8Vn-2-$ĎPkl^宩݊NjrPĽR03vѦS58Me&R/HNi5+|RXqKS!49sh0!ɮZۼ;K4AoBf"V-ljs2K0$X\7#JRmPŢ<Ss% EJɁΈ5aByv7ɒ<cc`c˸2g*L 錔|v4-R瓎>O,uhfe^!41AcQ[Ǧ8Ӈ p#da-fg*>}TJ(#n 6v*NIĜ.Oﭢ`0%IJ<9cڴZ~***q c.xWKo=8^p3Sx D-`~wEI9XaLqX1X_ŝD(nViSu7$~Nk0 sWXkJrj@j6RTŸe1ÜslU] FTg-%mIR97avtԃs0S;*r־A8U{uk앩a#͵~bStx]@t<(xm^(jvj^x?dC(ንLY{Fyzn7)$}-ȐGժBX oBMܖ,jT2?A'Uk}k*=`?[;DêP RȞPjhrBPH8>z_5c3, i&AF.Ft1"tO\^8daX*\o< Izf'óiQhaGʤ? =:d#X򇸔m;V{ P;Bl19p:a} ~pis] cp\G%P~x8uM h Φ-V龇FWkGBM ".A5-&]y=y/Kl"BkV jJb&\ R( S) .[3XC8,S,73ց)';sżGnF|f.2*VkNVE/Mk6kU ~&n%os@e(b)?w%U[C؆-̒Rc'%`Sd)ǾFLccZ(8]q=-QZs]C 3sE]OBG܍ٸ [ 1t%ё~@"عtP1.9]_Pp-*eabz[w Fczi{PD|N#GyҍXegkxj9 {oM>J=3PqTiXsvzWYeܹӳ܁ǯVӺ3I XGRTtw=O3%Wn}:j%mKTuС,FF|;&e1܋n4Hzɋ}uR]' &!o ˈz</ƿXak{SEPa^C08,CXѰUÕ?ac$ByѩebJ S_ð, ((&aHAf ]\XSiraTEтP2%RZvS֘ϸ8i-!m2mK)tO!|Ҷح6VXy 7pKMph5Yh_S|o ^ !UΕX쉅( xcgj{:3v]k$x ,;j~3wѽ4T9jL.{dQ]J6{^!d(.R۴ kV%>KN/ qN8~>E Zw _VÈ̽traNsj5iN#p <;"\#sN>Z|vL]gX~rK.@hw y&> jRt \8:|s[rZ2E>X3+?M V9 t83[)zmr`-Zo,w%׶^в$F$r S|9)PAr!ؕGA1˜\ S| \sP{]ˏ?RFZaxl`{͠ǃ {ǿr S3n.E~a{OyHJ:kU}Yre}Ǧ )r$*D0ա!H)' ˕?అoI.6y)`W'Ùo5zl{|0>#r=y\߽v59";&莊}PVl[# Ͳ2.OR˴9WUv RrǓM~,kT/5G|` mц8Jʪ=g.t\IzOOFN.%HYBKx[5˦b4`/AlM>2OB t_%Q]eykw_8VSK %O9#TX^%-qK];`,te`N*u(kߏ˂$'0VT(aS5X␸/@H5BKZf!ͱlYx62iZ ŅHL9 #췫ɭվ *JfY[kbKKMX,(WDdwx_--f%q5nuAkŰ%^sLK7f @ lK[ fAOd}sF .Oj&z Pr'>Lv:ߊ @/׳,O&־|-|+n#ճ4Džr"@:y4׹,L1r=Ɏ%1eoXv[4n>7e듡:\CR,ȣ ]/cP0!s@;qVzk4ևuE2$:΀`J0J?@gTXF7aTm,G"k_ȗeC- !L^6>¶jey`܈%5M.D`.X\'8mE+xkI&RpW#:I]t^[ LELD`2Vk QX;W!459U%F+9xXq&0B#%{,ZP$eGA)uXkM E3溧8ڻ@jz\NJEo1N<N<~f8 o o>6Prb-0oPp?]$s›bOeu`K7Ÿr'lmu*'DOu.S70JF `;gFZUfJmB% ;6s^14!-90e^Eys$n5!FfG{yWU'2}\vT !W"J2upg$ @O~DEȣx۱ %`G%!F@Dطc ߒ>xEݢVWMtӜ/U;2li;l#NFy&xK93v_ɧ}ZO5 u|pAHZ^Q) (2~dn $6T#Ct,jIqzg6WgGA2=3G*kWk-χ+ pSp_Z8ɽ(G&ӽ5՝6^ OGh}z0aNz& \ƛAhgRIfrˈ|yBmf6@D@ %n`1sJHͻ4dM zuƀJS3ϪkYMUȬՂ֢"nUL a;y#T1DXPaGR 5VMA[i_W5jMMHx$ 3f}:wEE۲Hnf*ȫjd(S9`=2zWF.<TR\ʔ^q7A `Q~RT1fFT4#QҦ~| ]):a>g2ҢZil!gE_OɡFtn e IkvW 'Cݫ# G}lcj禓I #j~S'dS8֐ -Jia~9G?M*[s[ƌSZBlIO$q~o&"( 0Qyg9{op#&<_ xmM< mQbDN #}Nm4EZPmC.^Mҋ݀w v:g oC0.yV1^|u"fUP뮞þsň\Cz+‰@fƻ0'3H6&\+Ҏ3i? jY rcl+g+lּ9*4>C\',q> s7[#p z!pY =dg&ZӐ2+٥6~A^KlԎPՇdgrLJwV0AvC璼u(Up|r4SԞPZi Dwd5쇸Rq"HGZI.id  df3 |nipt>wJ@ٮ)Ƌ$?[U叐/w^<1~;ݍPSG0Ww ꦓ\hom>wlC}i~{ ^dkhGiW`y#52?%eSEs5e*Y7hcשNSiOd}WJ2RwtO*SH-1oqt0YpuʻC1-߯s'&\[퀣`TM[O8q)hh'媺g[1N:Q8Rd 4N$~.R+EQd41d5䫎SCn"/\ AlΤIG&_W^+@kqKͰ]_%ͥ]9ȒL,.`>.]$|>~tn6-.9g jb^T%9i%ɫwtΥ=ٝ6É>z1%jL)yfk?Rz-s^÷ׄNd|1D Eky/ξG{N xC8J X؏/n~bܿ8$Pyznk.66.+N3fE|?_ ..H>q*[6"hWm^ (`0_ -gܹBڋhXS:]*l岝~ǁ?XEٗ, tmA̻"۩FCWOެBwB !X/[[: `p*e9el- D_1HZA$Y4g ΏR){{Jݠ1uX7#V?;#i{.)ǿjmW$%۶!"$R|ǢtRð;!SwCЯ+'N9t){_Yw;Cب0Dܚ,s .([7)ImNOt ZChnAE<.2gףg?=B:ܓ!$E,?%Fb]@˒(m2|連 z x`zdg?@q$(ZW4LD^In?Oe dz-0#/q"6愼u!Zh 0ȣqc=Z.ڄS>~ߡSH+i! j ugFc,mzo ~`D:)^k}ȠǪęh69ґ&!Lo6I]b@ Yo]I V0Hc~Xf1 "&4Ա'mꇗ Ňa2iZUu)?lzqüa>MI0څq&3eorPKR&k=%k C嘟4.q +l)1CE0ϬbIKM!!L-1eA-[/848 Z8`֭mlLX|1 B'=)heZ9(`GΠnZUIg_.NJ뉎zϞZ(4ob09|Jg\QV!n`KO ]ʂv]3<SvX޽ (+rv\izi{ؠW1RS=6Bx4Q9XmU.s#ÍCG\cczKt"0Mq4#J' ԋӛk<ܥ !?%G>un /nYH=v=ox9G @_d>^+(u(ѵqB %\lćm2 ~V*]\>\c ҋ4NA0|~i*}7>a CT*@}Z VEC]U >&$;13zt/FHQv{v 5]DTb (~pLvr + .bV@*|ఢ$ѳlyX*E&(Ap`Ae'jy/?6Cj>/Vr-9BY7%M32fWy'􀰱}%z'8g[HS'{u/ -sU3t@PhH"@A&16,o̹٬0w>9䥳i8}m 7((|T I5NHK@8E2<{oԧ0*v鍎QB0៽F򦙡Y c@Cgu8@-[ ӱ}חD~Gcxyg;B"e!8՛tցb\TXefGQ92f<Δٍ Gi2R2:{Ie՞08!ezlHT摆)Gw Իr3'?0,8Z0J+š6o$. !.~pNߎprb nf#57ZUc);h 6y ےL'9 5q6,g&rucMkmg:z ,\jNjH|t'MϷcUVRqs5>Iuhtc҄DYku/gL|?K]7'^G$ ߮P˯ҟ`XUgtl/8T%UC ݻ/bUQZ4G+R>HmfOFj>21T4b.vc3(GQ()1yV&6K|0ȏ4q_ o x^ s3NS5Jgl[5EWS1ߐs*%e.Fmr%S~͉sAkV@@LOA ~j|>x>$tc}zf1֓4V^?ƯX'i QxGA`_qF~IJ&1DX񴺝9RgFw ;Ye𾰀qΑÁcibE)& l{O#u9RUo&[>^^>~=b QyIKg^|Gz \Uz_ e>-:3VHBn %0| r涻mW}jKMkbڞ F,vJ>A=ѵG[#Hq:<cC4sC06PN{576=j3py+  R=zs@qh\zc> 5 t#+fpn~f$bQnĎTfC]kj:›'ȊPΩz\>ڗd/oiv( [kM`,8EA|AS5hNPfA+KDȎs4B9QBI5gqv/J-?)]L1Vѧca oYOjzqg>y<z^Gq_ (%ፓO2[`)g=x3_M:W vbeh6E\פ G`hy Fɠ:i$;pòיS62 ^F{oDUSީ,hD7u! Cl sl5iոN Hw,aG[Q} ` _F‹Wc $+Ӱv4a&y=u61 Km!0AT~/XM7$OnWB*cKsF*v tՃC> U6%;i:eGGJ5$8Ȯ=uud2-';H}wmg&sRD]{ @c*0i-cE@%|48 G*;Gm8*X~ZVqFzmYǥ4ڱ)a$$)D-xzփ|ƅkc`JC03ՒA(#f= u6(U])pe{N?-!@` ڇ=ouு)X] %s/Iի[8"fv]a;9;/)O8vtNHs5&+4?d&tpFO@L@@00v(Io0#A<+:}[C8+K+2} ':ZNF3hڑKZgOp5o wn5ȆdY̊3#ę939Xri(خ Yo̎a†8ZvaCo]/q8=$K YZAV)aB@#ٵ9/ť[! &3`|R~=>,(R)0Vx=C w1z to1rC80|{x>r=NH;Juк"$m*5vѦ~JB^沦e-Vv(L8Cbrԉl&y@n.UF'{6FI45-cWY^쨡pIWnRU2Tx lk~6{E{֬IGa 򆓏Oݙ<Ā3"ޮGRs& ;OƦݹfNxAVi?m''N\L ̾\zACy`&0XSpeQ@|˦XB9&O,tjJR+]ʷތ@x[BZPiPtY$ΙO!!kTfՁIєɠ+U%}B8;>cNឦ^qm^ F(=+l GyXROc*JwnqO v[В0K~%mHq DIcM+Yz?9P43}$0W4q pav(lt`{r5;|:Kvsj1Z"OJ8;6+%]Ϯ%aYdVqfNANZR&Žy{4E%Dܜi5|~t)nvmH!?lԦ=͉_dZx8b*&^"sqf`sk)LDPԽ4٬0RBөSYbam*l@"+5}{zK-$'b祴%b9/Y8?ZޛCWX73(^Bw݋ww90 Ҥ4v-\,{Kg07–l-M[x?Ip$!Ԕo#; RffUr]~pEK$;370M>fxÿT7pEuΥkRjsVb]*+c6.3)Lѫ"z)!8{rU|]K|22K$Jz?Ί&Ax&EС?QVOO8S!ޑw3uYI6e? xc 4U(sчs9fe5/)X^lv&pܙ2$.ҵa5/b !`=z6>3IqL gBN?F=Yr@Z(SId: bq15-!`aKSڲ "524bk 6-P?c;.ЖwӝkвDrXV9]_&<3*=B _Юf(ʃJtf1d@=q2A.$zzO\0qhyNG;̞ИDj^@ `0=;SrfdS* k.v ҍ[MVXs.Z} ~bZ$YrƤdG_a(]ʯv(ƥ'zQNE;cK4Sn1 &r'?˱.HɈip'B};@p2Z$(S>@Em[O_v.M o{fxͽAsig#]^cw]9]0~[:f`hI ѥXtmPꩄƛS9$dvaEQ ꨻7 B0fXaᆢ6ȆTPM2w(9ds!7<뢖+.x@ASw;C N90}|ER$ a v3e΃aU ̗b{x cA\5ȸ&⃹.wDiBV"5[Ku{fo(iQ&]V>$nr,%)C%O7-/_] 4{L]8Gj"(*jڅ/'g+iQnRѠX Q7{,p<=5>FT៉#J6H;፬]f?q@SaW,xH̋[FJGk,{+8Fl^F-yGvDsU۱;mI_d/ay(HӎR#\ f 0`ԧ*t`iTR̚f "с-ҧ!UTbAⴅR7-R@d+},s>M>=CK~ mUh< mn\9A+il AX']z}1Fp \jPNOfXac߳ PdE{[QLSP( Mmbi9xV)ns"7mT[eԁtYטV'R<"h8y,aL8 \ ڷaؗ>=Bm'Uol`?ݴ0eqܹ-"J[%ĈU}t,[u b;4uU i]'B)ӪSg" +%8܌84:tdEYvRbܪ*B.6!Wx O]}~N;mWJ%ԍ\j`H:q ߿22nf']Ko vؠ)TWpV8k1(v 7K 16`U/|r\UV2/sl|;y{d)n-o_ ,<,Rfeչom`oFx郚.bWą5 (=Fx~+x=TdV{ī 6#e⑧k@`kYJ aX`P97[)ĿW6`k3+FQ8+[yc;s6J.b́ 6 ^P)k$Ud[rB 65KZ"$WtL5l~,;j6hd; !.0TI HEY~˻~kNerc璹LX~Hнg&8hGIIf`-)uavgC]aJvqo}:&M;ԁdW(kf:kE&Bs#X0篬 cZl/"Nց5tXCPqhUAҤV9L3OyRi'V _\5Z'7+tQKgIIQ4x rBl9Qc`'6aOQ[#?VH2 `.aī,42g;M_x,Wm.a0iuM&,Z=3_ԏ>͵u7fz- v*o[%˰cnR:$&JLe=,tUQ:3 `UpDȉ#5νLW!8vz|m↚w3>n tIY悲o r0hwsMNjE;aߙ?Xmi:3%DŽ-20QDn'lY訫wgp QCpي}Vg=sߔ%[ḵ_ / ea:.h#}%3]U?jr'mmhIWeX>ve:L*ҐǻBED} *!tit NRl *=v5t;ZPsj lK?#V^d\?HػTS`3qCA"Nn }~~I,g8FM%e韜/b/m %gς|̄C@`^U~9w`'vc< |; PwDn$Gq8p,! 3D%T8 # e >t/sR .1G[_|#nf>"8b0̭.'dŎBҀa@;Jag?6-F0ĈJ^/cyU叹/דYYx-st?u}M"P~OahՏu=k ph^i)IsP9йT,߻B9٭?~jnJ<}r4 -3MYLے85i%f70 쾋_-0Ϡ\W'ZE3E6qBw b\1 {VK:թ)ŔNLۦJ-S{MN3Hr HޖY}ZQbH MƤ៲t*jUML,ڙe \Tm2sf?9 ]_·ȳZ1<fZ֎˪J'꺎R^(k{:ׅ{=o ؅Jwcb'4iJv:e"` (5\@}ĚIzon1-uLԓimBbrg.ňЄY;ou\ gN\9me%5 B#nU㘹Ͳ#bWWXQqXc=Q54Z#`rlC|ә=mC{f 2ڐJdRsYȠC92_&:qdAOQRsӢ dY{@`i( #?duidBQ.Fpy7/@ Mjc(a:F$Y<*>;w5dB8;5~x#N%_h+Ɉ E\y^H†O!G8}~?>lObu`aZʈ1Ojg E}rz2.Z,40* 6 1>mlYbY0S@C>^\o7M^4Ԍydþeْ7F-9I~F$wtYHxx{o3+X8նI-j'ΖZ4181cO%Xӽ:OV{v8x "E-ps(Ɵ<ՑXϸ(-MBF~KֵYfxt'E_ 3-WQVʜBz4) x!x4Z$8)Qf7-\pET}nF'iٞgҦuݮvSͣF3$sJG{=WgoF.OMгqa`Τ:;ͮ㟲JG)(X(M1w6@5S4v?zB S~D,N  em[ǏC,S=5J5,l8X4$~aAo>SZ%#e˱,0fpWTxjNwS|В3^ۓnp+RPclLWTй P9m|2 1gmxu%1lo;CUJr_a3VT@)baALuN.$1Zn>d!M8#.ue\Wq?uv<%?s_+V;-[ d;F oݻY'lpC9 293se;[Q˓=sAK$E6\f|׎&nnsHYDZ^qZ282W E~G`)j_Rx%H4 .M6RVE"žإqc:(r99` VKgB4VԎc⫵Bm\acx7r+#M_x1^yh}6UӯkZ:X'}z.UY0`y ӈG&#g.w$f"GBǸ ovkWe(ZUCq.nTMQᒍlN h f,JAf0ه%V*c0$a"A{tvGKz p8ʖV=s cJxnAo\XϞQz1uUhݵn#UHq;2>kw'HNj2fd0/"~ԋCCĻz8(ϝ{ʂy#! R xr/bkeܑi:=]Qp}|Yv6f; -֘FD!>ɣ֚K_$k[m_,:JNX ,NT{o`UJvXTP[d@[~MfrDZW^;deE'.')Kģb+b~LgI@+)B lF7sh@Nc`7atᤥ3uP=deBp-G:\b>{&C?b 3XC5*a E!xX_wh,g#9GN(Ҥ;mOY&jyp0f~E.Ew/}t^ m|s' [pRSt'z&Л6XODp:g2>Å&aD80 Bl\=%GӚkdw5M v) rh;lR픋h@'t'Q0 T*A뱉/ꀑc2NjTUJa}ry,fי3g)@[Ԍ3=,Pe%A7iDwK9f/$ ]!ٴi`ÚXРBt`e$KMα ̇pfi)rO`SZ@X8mf'w# 'PV~x9WE[扥z{6 h]XDy, iiב-! t/mr+{J^ >kyyj2=*#?~ݢ1#@6Wj^wK^Y|]LrQ) !9Jb"z^5)K<:i" 䛆%QˈWݪXN8 EG鎹a3se}16 P><Z^ 2>aJcfJi.z̦ŸGrNzxACb"imM&czP_ɮVii !/N,swuN6D5 ~H͕F+ء{e{f@B ?7dDY;q۟(QUS'3x=Ė2e>~moY!Hhcګ3oV8σ[.7z9\;.$<8$5j8 2igTkWDN8xEn'LVd@("PpЙ3lGbb}U.%aNnaL%]QL1!ysIaOw32biH~?7^Ηeّ#ЧvW.H/Gv-գ3[紬fsP6dzOU?GJ uU0N΂b Ly=eF"$P쮘'Ů3^v㜔ׯs_Uv&?,럐'EZ(UA>f@W=(,Ce=WI34ejެ{ᅂ~aTwjL,+^ 94e&[RNm ;*boO>@ zߡNE RZ(r W|AZ:VJv6sdKE#ؐ{wkp>Xf֯nƲ{ۊ׆ I6rcrG%r֊rl@?#Wx\^+d㹴]ZLȵpd)8yȦ?֮:*WsE 8:^pt?aV#uŇl;3H{A,98M{h$6Fq Zܴe ȏwcsa֣f MGIOzb:lS{۵/E~+ [H5q |LXRO+V~K6ŗȫzG;!D:rsPH_yŕrmb=(B 1(HES#4Fvz+&d~5~aA#15}è/*zGB@: __Y:xȰCUD \ %dbKyP\k =(@̒ ~#u2n%A'IP=nߔ`Fwe׹I˞<X8 +:jGs0BsSTޏSȇ09m¥09`w-ի6b\6 Նo/ԘZW?1 aNނXePO DPۦ8!\ignO2=2'rcGiK9U@i 7viuNL+,{ ^ͯz26kQ|rytjʱL*`_bJ[v&r^Đ,"^1"~/}Y280$#>#,6Ĩ)k>8>)E(S5ϕiU^^pYs0ޏmO5WWY!Ң0`SpXNN|RHs7*eT*7|~ pFY<^\sȌb"c',Eu>hp"lȯLoFˏy}=u ~cCJ9B Ynj6cbjfvCJ%"ys`IV޷[#B\=pܘbeTOW`ER V=4>`mIp)]&ycZRWșUi#|<^`JA ?Ku vG~jʮSwrhw] Aj:unJbyuP}Od)v\\"kJ;j*m2]૴ڀMk*b׶w;Q k]Bp&)Jᓤj!8D]uVt+zXeNdebuxj$Xk5,(ʹpkm|(n|z:=i '|Sbڴ"qQ%N%X Dexo6az~gInQ[:E:d1G`@' ,Ot[ ۋd*p6Go9e2Uktn1wKIf+(>>>]VCOU0VV5 gC9C밡u>kyziZ߇wUW=(wjYJ\}`I72+RG^="O6us>eEH F53h'լ#&X5P0h;Z_TH}볼n&:M~oUN5^66!j7N11=,x~rk~~bυqbmNNl CDNGmWK72~L * Z> pS"m(Xzfa)qۋ:pd |=`DדCk K<Ǥzius]9̖EtF[L-FYSW8_[ݤr7Wm" ]I̦=ifg;M,i3c+Qsbo}B<EGOs&)jP#驴|5ϬHNIۘ"cDbh)U`u7%siT;_tE6x%/?ӊt-*H҃ 1,L*&> Zͅdvrxr!s LޫDVM\dpcpZ\Zvz(*ݛG{)khwJຟ85LLӦa #?qT[. -;ZPؒ/MfT2 Nw3epm3Q]MZRq~zD<ڍFF7gZ/QAZYw"_FI4q=`[c1ʰ m+d4:m9M]4CHY[$?_L8{wb;&o_6Vti0?TfhM] (jޔ|s%ұ7G䁞NNfʄy$o%F.kd#\* jmG\:0p(c N:b9fνO7Vqb be1f:7ω*p^F(M kಛc-(a5yuVUQև[i))51>1Uqۤw.\]%!;:p*93=dJpG+c52)3<ԟÛ:̮ƄR0maIөL5$ƒ]xD>hd|xY'\ϢsGeQ-E?:7o=ݚ]; ( ֠p6k>"n"`DؓcZY\>16H~eԱuI6q4x3 7X% H|^j=7ރ'xTem/a_ʿ}B; H#>Lon:'瞶=KV`<[e DL{Z/y'q#jrrsmiW0;1$G28mZx:jH( ^%SL/$ޝh1EOq;Ura F>T #?F\ϮgۜMuo[Vt7)J5c[@"H;}X8O&b@Pb^/mnEӑwjtqol ֏V-wJؘ)<.)6BFwmmOWlrB], b2IjΖKWq"ݶ AA$y: JK9lY : z "(lN 6C<}H A x> R3(VF7,x0 '-Z"l)R0~T7\2(+UQk@4ו>?Q\#OQvZ~ 8ӯ1#uz +[`;]\68/, 4=ccdao_D*ܮlǐlTj>x:#Rynm-`tlK~É!ra C)Itb !e2k0H-5O [8d/YARá3JC9Sqp,4Z-z=IQ%7WuR`@4)o4X} Pq|-*5`!N R'0TŐ (0U]0>˷M{-)  1(K2gAcR*BNE: Pl\ҁ{*,3;9x UG .vk_u_: \c*ZCw%OVz05Ұ3Hw9~7ʅ( Ql0-'"Ren\Z"G~|)boKv1d&\JGl/{EJ-I=e9C3} p`qxӘG-5wS+-YĔ_e!uIT-Ùֲ̦Y";}O F$^ǙNwX*ZO2_?m\s\M<:'lmga}k帏F9KQJZsI+12KVYdZ}@e6 Ȕ[1*4)8QWd[C09 ^Ť_0xD$xuUy0ѶdBhȘu34?f<"Pa]8"JVA~ ("iT[Ǧ22O{rxL{~NgXCdAy䏲1ʂUk6 t̨[~5ZA!c=- v#]\:SU_- du9NG7Β`v3Q(drA֨NhRla^^퍕E-JWe$d c*uֹH_D裢ƅ ap+MPt'f!(P'^D M%|{>WR^Hv`4Hd]tii\կzlNH+7ϫ1~B /صM;j7Ukam+`6 AGWh$-jPvR98ʡ58&XRTro` K=ҟg@gr>|1 JZ|iXw", Ѻ &kغ8y*7ol\BJ.Vgd܋(p T%HbY3eZ0Dj+;RW넒tt"oJ2J"c؜&;wuwmZ0@_ %vީ{adȋR7wKIƗ7/r㷳t- 2bYj<>16YHz * SA(u,7cΑe9Ԏ+¬,Zz|,pD6uU;Cڝ)F:yJ1D㏍;bEEѾo^ #6>X[۝+g5x)FNG +P1[jN:%CQ-a> "j~+5V~]<xAYd]&}5S!)q# yHߺI,qm0XQw9g\ UB+D6kX%nB0 Ygdp-%1*UC4ǃ&a__&P 5GSd Q!9[ƦyOyiva(%68#Ob~w|$􈖞wU } ַkd=NL-ӛ\"e] ۹V"'ɒuvvĿ6|J`5K /ꋿipz^\7| Gtr - #X82abU-yX7T ]'hD.ƕڲGJ6vk7WTӾYw DwWgJ.lX "ъI_g6%CHX\۾J:?ZmCC&x!hs3{MF<Jt6&&s3cR +x~4znV$xfsfh'n}!\m `E1,r-8N}Cb?.C3fRҏ&] (&Xx͛ V+jedNoqѐWU#L3ud&'P׫Vy>|BӋ:~ɫ7G=,kɖ)` NP l@2ӨS8Yvj{X 5rex-[c.ɹ;m!LJ7Wk 嘃թگm8=,5ڱiN{rL53Q7{ۊҭoYygl: t] _{T\i+`m/, wln-5>:"؜/ױh*y\[O>}ݬ"?;/l^gVρaL;&;Wb V1_ktC^,Ux75TJ7 4HSvj}Z6XGv2s1-APN4@iSK*<~dt /DV4T>RÜ, o3&$Ų@%j8I(^Ss[c5Q ,Ֆt#14"qH<$#\M5(88Ƚk%^ؘ<Oj!)PeUMd*J3&MHŽ҆oΌZw3'K Oz/񛠔Hld~';2 !3IrSqH<Xc΍pB$ O)1HК\TPU/B | Q m@l L *;=r>}_9>xpHp17{݃]u ]W4,DDJk_2Bx2H%~6n(vJ\euv+!W*()$qbXf ݭf[,5~ >QtRYӠ;(vYhW|*yU˜0 \/cAAg>@c9ޒiE]A8d8{$#g#05+2)4f(I[JZmCdD67bubOwF}srm={%0oIaÛʙ06EP璧zۍCY9'ǥ ]6S 2P [P@ǕCLC3 S8k'bF+8p?^Գc;afX@| `o /́ q;K!y]@;3$ĴjP0 c Ksٝ(J El_J׷ǯ=#lZ}jtʧp$f{Yo~kGk;? fSrn%f+ (&P#~SXN{؍su#}/6CbŚb2N&8| |f?>ߓ.KU!o9y1̍؀&SA?IePv:U)exvPY"0R^34d0!}>/ y﹧̺(l,';T'ԇԇG0"ť(1kz <m_br5T|"&Hsb~e6J[CUwG5@0KҍdB|Ymc=@p1 %iH]&`";پ,?xՌ̗ TCZjQ1cwB=]ŏp4}ayqfˋOFv 5#b>ƨO 'H G)v$;y?45njE"2aIbauTgX9l2<86!D׃3:0;IdsOϩeّ"49pr[{P%F&d- }`# %8iJHx~ ߤyBc6%c軧0\ 5!eфh3se@O۷$]="-\kc=+i5b6}Cǹ{oG:.1G0g[@٨{>ԅ9N0\m O0t~nLSMK)e˄G';/^B٫o“a͠ aL̹Ďv_X-4> i`bܲ!)uW 8jiF$gKnϛM!ɥl8 ]:#gra{Ux0~ٻѿXM *EZWwTLjed]X$[TCW ;þ g7K5n>hhT4fr|h<cš} wWt ?g5Dj*12_Ӵ %>;΂.q$ܟEHȊNQT;sť-fj͎ttJMn;->'m "̞3zkÅ*k!ۆ=c^6/P{LiE/JiTJCդ+N@mDlNS( W ?IHmX3烌ƪЊaUfk <"{2͘(ήKb=F@TmFȼfpz3]&ZoZh_sI"It4ޛnC"kzaD 暛 N}>[z+!.92ƩɵR.%ߨl%$XA RbfYCHɳqdGPތǒ1}雐yU"[50E|ݯ{\n++|'1}~sY{}iDmZ :ԮנrbȜpD~(DKNuwCA;\OL* >KVY=z694l4cgB;ȡS8=9:&6xҧe(=m8kjIՖop=6@.*_ K=h8P3[a&_kz:ϑwn^vo3Zy"KᲬ9Bygl96x* OjaHC&d~F!tиX՞Zǀ {踿 *`&Ģ~LCe)ӆw2IX$ڳMt"AH@293!CQO/8簉,VM Ҙw)!𶉮.C~ŋQsCcuJ1Dl\ns(& L1d[<@ ݱЉ_\P/W(Ns\TиD.WG9R$pv-pF|hOG{7=_:w˖` m#g=qQ 椻м&swԹ4P&ʲ|^c!Eh^ͱd 紅,QR*B?1CO L<Ӹ-`~LX645R;tʸZɕLq"R 荵2[+U(6m%@7^p& kR}OSwJ-7͋>k2{@Y)]ya!޼7ݗ]CmɲX={k n!m,Nk+ x:С$ӵ.4JKqh3%`Hoa]M{BxWSs#xvސzQ%b|:,AUM7DNe$apj砱I"ғ2kӣ5w(>03}vdthq⩉v3'GELk";wA(c&KZ%i(īT2;lKh{)+I,}Cj;L.`Ͻ* {wC]4SHGlA9.:5bNk2r]ncpOx#LQ,'zJ3b2@*>DCcH« GPKq![uOssxo6FS.X޴~Yg™w|h`{UIXRN ~|)ZG)Fj9m4E-g u7Gb? 2*A|\'h~>傖Ea--2K5#0 |ٯU6mFH a`:eK.~|﨎OV&``uieҠC.>MRs0`@VE VeosB/Rtf^ۿ}t}?'N;UԚ| =~k4<1bR@t*|*dW3Mb( zf^e!A%iC19}2䞱WHޥ{%unN1S7S BMIS"H6әh!TfejSJ@ D*N?G U@e-[!bRC6 E"mzy4,7޳%5JiBba+y̳E4jSR@-M)/u[nuAoAXUR , DU晞Es Ph;nZkw̆)-sS8JIS\,5#2`22. wtxF(h:CDV2U 9 YC&CWor<;4 =UK咒]}>[1, 7ͺ{hBRFSgJ,T~Ǥn>ɵqc7f t(=:Dk ?7Qklk;ߪP2?4 - {: ^MmHBDGbQͧ_j\_C,Lc4AOk`R+ZnM#ك7\Gdg?Q<E`p=vdvgO%^_&(y+cvRvE|oy þIz)=@vlPlI|`ָǔ+OT% (YzYz* J*C &49bG 4XTbC_>z[>QNݑJ'ʮ@Um`20\ aKs[^(m"FOaQ 鉶X&4եvV[_S))%fڵgNF^1b$iao_nHt!2|K<ʿo kPpg|UOiheVv[Aza|AOb-`9 .@ԁ٠+!'v ,;cqûİɏ2MC9=/bLke3\LҚ{E!TpwʞT{<,/Ę2dQ X@K+xM0nMAXy*Z CJc| )`rEWSR6?VN2 7J&0GrS*nшKQR\Pt;n >^#LȂ B{LTvW<8X;O 6pьˮ 54Hʊ S]&+7n[QTtz N;\c$eI\ ?MfJlkєWaP{ SE!]ص sf֜^@skG')OqL`>ǘ\x$E.Ud fmغN&9S|A rx/Drĉ exGpbT0('\p_\<[KwnLE[~\w'~RvovL F~UvHmwn#A'ɔZ=V- \9%vWUBL %l:o0% Q,E>*KHC?M gOCknN(cl~V:8Cw\hZL@50Nij {hp}vyACpY0z⯬ ~q4kW9&tt.odsIdu #l3KK̩E{eW]wc|ؒ0.lGO _ B+V$ᛛ}+uM ;s^G HSFh%՗3pi_{ڽ_Y_>S;㴈>{ɠ"LHFU'# e*P,|4>ׄ5~┠DkŽ>8!_3T78ӊKCpֈB3+X>Nz f/crn6Ԉy3)pJI 7܋4/Ƕ}JzpbĪXrQRwF@[(q^]m7}DL"9*"u7W&{SA55e`w,jF2,CMʅܠ!he^Ԟ,}a:UEυ˼L8w$@QFȇ)=W "06Uy̷=>J^j[3ol]ΐU{m mBT1 BrFvZMܛˇi*Cๅ>^hF 朣 4h8$Le霫_tA6 ;\DEaAٜk?uHMׅXŜ8Jt3<̝i"2!n^۷ -X.oImsKg"FPmN q)=xL fA$7"D9ʦ yq8镡>d%Ծ!qlW !uVztKkV3W"!"QfCbV,bm ^'򆉯arקq!4J̀WBSebȌHl,1*åŤv}Jb蓐b; Җ̴flԋRO, 9 j s`gG8^!Ǒ]2M~pD,oy_TT &6Vg7/=[y0/ +`dL3-v.4Y"fM#W0kUz#2L5\(0R\9)i'n"̌,\a'd0S0|vAF:z~U<=ƭ+\zEM_MA(NZD?ǽB [qj7Fkfg0@%[R1k0Ń)D,3'3D;N%tv8 =Y7}@rzhPsaQj>}r7Y}`@uz?GaUpiC4/*+<:iDJCj+J(UK]i֦ާo\'rr`Sz&*Ж]%=Br?b Fa D8M UKX]oE dʖfVPXЖ̸*NB&QHmQiee\:OL)tl数6݈rIiVltg0sN-ebu=Y2l'|ɳ&:%%|VNflEK)me34Tcl@]C2tM?q̭aUb"3Պ)]H|"_F1ΪMJ!0LJ'|NqY= 5;N>#LGG75p3`>ap∳Iu|~%hQyԶd~{? RAR>S)BxA.uȹ-`yHslLP^ m{))m<_!P`'͞8"g2!ڒᔼM:̢^pְR*zB#9 8Zœ@JE it#JԞBsWE ̸:O2]ݪ %#c+v՗hR#_G;bÙr6&\K3Kd * "R_+dPuYSi!5f7&+Jm-)sdYb7]gӭ(gΕ22H94c(6r*:z9^@G/n ~aسjAAGCP(ֽ9*kAsxTqzu,9gRsw1H}k<3 Jg,Qg6g8 U皜Mq&Bq r*#CAc6;Ӧ:OX=3E]֚R+Jt!߂F /#6tT#l9!3 c[k$?| YrełT+oXqt@<&:' :z0/\_{ov*.md{&pQٲvE +Gg Hvlcd?XVN 뫨02B2=auQ=fH/#:0-e Ndkfz*K]7 BjiX dzu&ۖFԧWb?b3-(}KxQ 3KDB4&W/7F~{/x?3_Qr!EY .GSy8ann;k-Wz$4I&"-yT9́7 Y2ni0CqB]e/iMi龔P k2!.2^$L9dHIfY'kl_? ǐ rٯ fl$0R}Z QAN3[}S'*|6#Rs3Q0s ]C! 漵nng#!*)rap!!*Q Sr1Y,f(C7W4=9`~'z0lgإ=˃ܥC{_WH<&N}=rM)ӈ/~$!|dt#wYQ4x{cPNV JWj^$t-oc0-։(kKp%Kf[c|}o yזL7rr%կǧp7(iϩ=*69>ߐm9xvXǏ~Mg=D*p&ADn͖_ŵc8@35VJI9Mŀ7e(845eػafܑq& >JUNrͳrzU_]tOhQkw%RaO){4b XmQ_٩p Kn+aYrNcĆy`6@2|K2A[z@dB!´f&қSaP@OQsnBgjt H@ rpvD;rzuOdxr%͹?@)Z|x#5RQso־ 0P02lH7_93P,|J"zPpNO+V#rbIXwHv!om*-"`z$6"'D'," r<7x>5 8ā盯ehtƦ xnUhL?=Bl [a'$/yBEej@2 tPVIU$@ο鮾ykR{{n}vsuy<)SOSQ')TS䧉O҆1މSOiOSJ*LXoK߰q~lUƝ)gwH~q^)OUq||rJA.6K@0# *Yi*/|'ї2%dy18l 8iƩqé_ Z(-cbmX%|ș݁O)o0{m4qR#.1EcCuȃ/M\u pM4\|&8I(rnCD pdGY-e:Ӌ~FM()"l 2c/["fggWHWOrXXsxg @*(K%g EU 6ڠkhQXE{ղxA֏b0rRr &Db֣Ymǹ&}>'j_r)9LՓSb#Ox1҂]G?EUL]N24˫V~πDiS mx_r[*[g,֡my^"c贗:A=Ĉ~S'@?t_nlt^x-Uh4` bәP eBeEȓ,т&blPo{SI!#Z_Ntg F<$'¼b$i0MH-xFiJsy"A?K2d̹~\)ϠEժ[3Joӿ$&ޚkk3Yg >RCm֭IHsگqsջ*DJ^Uj;; TRxJ/+7rF'SCwFPt;;ыG<1F-c@~봠W)nQ96R[bWJ"ҧSB&~*+᝴ b@0K=BBZb * UJv>mz{[DbϛϪwD͓yߕ*be/- ggx7dV tí*^';e`=e2F=f;DRuEC vg%Вӣf#_K-} ln=:Y>\9 KF2nP(R,7k^V#ͪXvr:?=z8>7 #JhM b}롤[66i0qKQAv)Xk+J :Y`TXwIPȝ*.B4mk!NJltٺEhP>&a ^+MX(9R13yALݣjzraET~:ʢPՉ ս0]/O9d%L=xdo*0 n45eݐO'x]TO-L#c鋫Z6/ kAL*BQT;oIqD=yAI&GI( m-fzȒ9nzTr<ʶT` @-lR5}"I:sR& «:NKkM+EwA{/{Eݣ Ey-Uq~ܞ%uF P}ɱg a+>r iukj_R @ȌK>;0X^FӋM\tz"k I"dqTI&fKH| Aa7,,M2C7 2: ƗPܼVXf| vXGw>5*Cpm{{$v(9-E0[͸D H_ya`O:͟5}RHG#t6?A91e 5~`,PJeRisFw&A}Iv|.LwchzRԴFyʁĻ0@Hꃖ'F8)4>/9{s~vCWo5oQBee mB/L14E`>!nd5tl@ڂ-N&HzkignfO8TŚ,$0XY_yO/A$5WD2D{[nmtcADB675Q_{$(" ߬l4ȁӿQhuy{~M`!6ů:ŞoIl0l t58I^gFZkg6x-!/%5Ca`)ȀiBh SaW$bZ :ۖy5H!?ZT I );qB$N!nz*z}#DْHLKl# E]$[z>'ٷo P8\.#v -aZ>hFZYYE(-]. \{W‚a+t`4RFXl`jz=-78X/ER`@)7n-9(k(65oVE`vC;.q!H@d{.Jx%|}rڸRǛlj477M{ntϝ@ Vƀga06݃ b@3 S"Ϡ@GT")A`_ڡaƁ&cN65꜔/cӯ0@R]µ/dd̿vþ jװU%Lx8ENp ~+eE]7UJauz'.0^[M4"3o#W(T 8|RA `Ɓ.gYKÎh*K$us%Q2i"ƭ3m]Zb1]*+@'@pdf0:wثlT>./E0SPLAâ7/ޤnd:$gt+xF(-j3־ˠZ/3VDJLȘ-bOy Y68//+R쫃偾aBK=M2!qR ws=DVޞхi3K$I]-nPxH0Cқ²WYi/3X ͑`Gɪ>,#Ub>6y[=LR,~#Fvɸuܫ-e^rE8P,<