From cvslog-admin at jabberstudio.org Thu May 1 12:43:38 2003 From: cvslog-admin at jabberstudio.org (cvslog-admin@jabberstudio.org) Date: Fri Jul 9 10:03:02 2004 Subject: [cvslog] cvs commit: tkabber/tkabber avatars.tcl ChangeLog Message-ID: <20030501174338.6A67C63EAD@hades.jabber.org> aleksey 03/05/01 12:43:38 Modified: tkabber avatars.tcl ChangeLog Log: * avatars.tcl: Bugfix Revision Changes Path 1.10 +13 -11 tkabber/tkabber/avatars.tcl Index: avatars.tcl =================================================================== RCS file: /home/cvs/tkabber/tkabber/avatars.tcl,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- avatars.tcl 26 Oct 2002 15:57:26 -0000 1.9 +++ avatars.tcl 1 May 2003 17:43:38 -0000 1.10 @@ -1,4 +1,4 @@ -# $Id: avatars.tcl,v 1.9 2002/10/26 15:57:26 alexey Exp $ +# $Id: avatars.tcl,v 1.10 2003/05/01 17:43:38 aleksey Exp $ namespace eval avatar { set options(announce) 0 @@ -98,12 +98,13 @@ return } - foreach child $children { - jlib::wrapper:splitxml $child tag vars isempty chdata childrens - if {$tag == "data"} { + jlib::wrapper:splitxml $children tag vars isempty chdata childrens + foreach child $childrens { + jlib::wrapper:splitxml $child tag1 vars1 isempty1 chdata1 childrens1 + if {$tag1 == "data"} { catch { - set avatar(data,$jid) [base64::decode $chdata] - avatar_$jid put $chdata + set avatar(data,$jid) [base64::decode $chdata1] + avatar_$jid put $chdata1 } } } @@ -117,12 +118,13 @@ return } - foreach child $children { - jlib::wrapper:splitxml $child tag vars isempty chdata childrens - if {$tag == "data"} { + jlib::wrapper:splitxml $children tag vars isempty chdata childrens + foreach child $childrens { + jlib::wrapper:splitxml $child tag1 vars1 isempty1 chdata1 childrens1 + if {$tag1 == "data"} { catch { - set avatar(data,$jid) [base64::decode $chdata] - avatar_$jid put $chdata + set avatar(data,$jid) [base64::decode $chdata1] + avatar_$jid put $chdata1 } } } 1.258 +4 -0 tkabber/tkabber/ChangeLog Index: ChangeLog =================================================================== RCS file: /home/cvs/tkabber/tkabber/ChangeLog,v retrieving revision 1.257 retrieving revision 1.258 diff -u -r1.257 -r1.258 --- ChangeLog 28 Apr 2003 13:58:33 -0000 1.257 +++ ChangeLog 1 May 2003 17:43:38 -0000 1.258 @@ -1,3 +1,7 @@ +2003-05-01 Alexey Shchepin + + * avatars.tcl: Bugfix + 2003-04-28 Alexey Shchepin * chats.tcl: Added recognizing of https:// in URL regexp From cvslog-admin at jabberstudio.org Thu May 1 12:46:55 2003 From: cvslog-admin at jabberstudio.org (cvslog-admin@jabberstudio.org) Date: Fri Jul 9 10:03:02 2004 Subject: [cvslog] cvs commit: jeps/0022 jep-0022.xml Message-ID: <20030501174655.5B68163EAD@hades.jabber.org> stpeter 03/05/01 12:46:55 Modified: 0022 jep-0022.xml Log: Fixed a typo. Revision Changes Path 1.11 +1 -1 jeps/0022/jep-0022.xml Index: jep-0022.xml =================================================================== RCS file: /home/cvs/jeps/0022/jep-0022.xml,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- jep-0022.xml 22 Apr 2003 03:50:52 -0000 1.10 +++ jep-0022.xml 1 May 2003 17:46:55 -0000 1.11 @@ -201,7 +201,7 @@ from='romeo@montague.net/orchard' to='juliet@capulet.com/balcony'> - + message22 From cvslog-admin at jabberstudio.org Thu May 1 17:56:55 2003 From: cvslog-admin at jabberstudio.org (cvslog-admin@jabberstudio.org) Date: Fri Jul 9 10:03:02 2004 Subject: [cvslog] cvs commit: jeps/0060 jep-0060.xml Message-ID: <20030501225655.695F063D67@hades.jabber.org> pgmillard 03/05/01 17:56:55 Modified: 0060 jep-0060.xml Log: First pass at revision 0.9 Revision Changes Path 1.30 +59 -35 jeps/0060/jep-0060.xml Index: jep-0060.xml =================================================================== RCS file: /home/cvs/jeps/0060/jep-0060.xml,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- jep-0060.xml 7 Apr 2003 17:09:05 -0000 1.29 +++ jep-0060.xml 1 May 2003 22:56:55 -0000 1.30 @@ -27,6 +27,13 @@ pgmillard@jabber.org + 0.9 + 2003-04-30 + pgm + Include JID attributes in the entity elements when receiving your affiliations. Changed error code 406 which was wrong to 404, which is correct. Added subscribe-options element for indicating subscriptions may be configured. + + + 0.8 2003-04-03 pgm @@ -236,6 +243,11 @@ + + + + +

The follow sections define the use cases and the protocol to be used by various actors in those use cases. The Implementation Notes section that follows describes many important factors and business rules which all pubsub systems must observe. (Note: the examples throughout assume the existence of a separate pubsub component and include any relevant 'from' addresses as stamped by a server or network edge.)

@@ -494,7 +506,7 @@

There may be commercial deployments which want to allow subscribers to be linked to some kind of paying customer database. In these cases, a subscription request may return a 402 (payment required) error, indicating that some pay-based service is associated with that pubsub node.

-

Entities MUST be allowed to query the system to provide all of the current affiliations for all nodes within that system for that entity. The affiliations element is used to make the request. For each affiliation, an entity element is returned containing the node identifier as well as the affiliation and the current subscription state.

+

Entities MUST be allowed to query the system to provide all of the current affiliations for all nodes within that system for that entity. The affiliations element is used to make the request. For each affiliation, an entity element is returned containing the node identifier, the jid which is affiliated (MAY include a resource, depending on how the subscribed subscribed) as well as the affiliation and the current subscription state.

To unsubscribe from a node, the subscriber sends an IQ request to the node in question. If the unsubscribe is successful, an IQ result is sent back. If the requestor is not an existing subscriber, the pubsub system MUST send back an IQ error using the 401 (Not Authorized) error code. If the node does not exist, the pubsub system MUST send back an IQ error using the 404 (Not Found) error code.

@@ -623,12 +635,12 @@ - - - - - - + + + + + + ]]> @@ -667,8 +679,11 @@

Implementations MAY allow subscribers to configure options for their own subscription. Implementations SHOULD use the Data Gathering and Reporting protocol to accomplish the configuration. Other non-supported configuration namespaces may be used (they MUST be properly namespaced) inside the <options> element.

-

If a node supports subscription options, it MUST send back an <options> element inside the result of the subscription request. The options element MAY contain a <required> child element if the subscriber MUST configure the subscription before receiving any notifications from that event. Systems MAY timeout subscription requests if configuration is required and a configuration request is not submitted within a reasonable amount of time. If the required element is not present, the subscription takes affect immediately and allows the entity to configure the subscription at any time.

+ +

If a node supports subscription options, it MUST send back an <options> element inside the entity element in the result of the subscription request. The options element MAY contain a <required> child element if the subscriber MUST configure the subscription before receiving any notifications from that event. Systems MAY timeout subscription requests if configuration is required and a configuration request is not submitted within a reasonable amount of time. If the required element is not present, the subscription takes affect immediately and allows the entity to configure the subscription at any time.

+

The following example shows SOME of the possible configuration options which MAY be implemented in some implementations. If an implementation implements these options using the Data Gathering and Reporting protocol, that implementation MUST use the field variables that are registered with the Jabber Registrar in association with the 'http://jabber.org/protocol/pubsub' namespace (a preliminary representation of those field variables is shown below, but must not be construed as canonical, since the Jabber Registrar MAY standardize additional fields at a later date without changes to this JEP). An implementation MAY choose to specify different labels, values, and even field types, but must conform to the defined variable naming scheme.

+

If nodes or systems do not support subscriber options, then the response for an options request MUST be a Not Implemented (501) error. If a subscriber attempts to set an invalid set of options, the system MUST respond with a Bad Request (400) error.

@@ -682,24 +697,26 @@ - - - - + + + + + ]]> - + + ]]> - + No subscriber options are available ]]> @@ -707,7 +724,7 @@ - + @@ -731,7 +748,7 @@ - + 0 - + 0 402Payment Required This error would typically be used to indicate that a subscription for a pubsub node is based on some kind payment system. Payments would be done out-of-band using some pre-agreed upon system. + - 405Not Allowed - An entity attempted to perform an action which the system does support, or the system administrator has not enabled. For example, the entity attempted to create a node but this deployment does not allow that. - - - 406Not Found + 404Not Found The node specified for some operation does not exist. + 405Not Allowed + An entity attempted to perform an action which the system does support, or the system administrator has not enabled. For example, the entity attempted to create a node but this deployment does not allow that. + + 407Registration Required Some implementations may require entities to register before node creation is allowed. @@ -1339,7 +1357,7 @@ -

Implementations of pubsub may wish to deliver event notifications only when the subscriber is online. In these cases, the option may be a node configuration option as shown in the examples above. +

Implementations of pubsub may wish to deliver event notifications only when the subscriber is online. In these cases, the option may be a node configuration option as shown in the examples above.

@@ -1354,6 +1372,12 @@

If item identifiers are used, they MUST be treated as unique within the scope of the node. Node-id + item-id MUST be unique within a given system, and MUST specify a single published item to a single node. Similar semantics for multiple publishes to the same item-id MAY have similar semantics to those stated above for nodes (with the exception of having multiple items in a list with the same item-id as item-ids MUST be unique within the scope of a node).

+ +

+ +

+
+

Implementations may handle sending subscription requests to node owners differently. Possibilities include:

@@ -1571,17 +1595,17 @@ @@ -1610,7 +1634,7 @@ @@ -1694,7 +1718,7 @@ - + @@ -1733,7 +1757,7 @@ - ]]> From cvslog-admin at jabberstudio.org Thu May 1 18:40:10 2003 From: cvslog-admin at jabberstudio.org (cvslog-admin@jabberstudio.org) Date: Fri Jul 9 10:03:02 2004 Subject: [cvslog] cvs commit: ietf draft-ietf-xmpp-core-12.xml Message-ID: <20030501234010.71BAD63EB2@hades.jabber.org> stpeter 03/05/01 18:40:10 Modified: . draft-ietf-xmpp-core-12.xml Log: Interim changes. Revision Changes Path 1.2 +14 -13 ietf/draft-ietf-xmpp-core-12.xml Index: draft-ietf-xmpp-core-12.xml =================================================================== RCS file: /home/cvs/ietf/draft-ietf-xmpp-core-12.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- draft-ietf-xmpp-core-12.xml 28 Apr 2003 15:13:45 -0000 1.1 +++ draft-ietf-xmpp-core-12.xml 1 May 2003 23:40:10 -0000 1.2 @@ -1,7 +1,7 @@ - + XMPP Core @@ -19,7 +19,7 @@ http://www.jabber.org/people/jer.php - + Applications XMPP Jabber @@ -305,11 +305,11 @@
XMPP includes a method for securing the stream from tampering and eavesdropping. This channel encryption method makes use of the Transport Layer Security (TLS) protocol, along with a "STARTTLS" extension that is modelled on similar extensions for the IMAP, POP3, and ACAP protocols as described in RFC 2595. The namespace identifier for the STARTTLS extension is 'urn:ietf:params:xml:ns:xmpp-tls'. - TLS SHOULD be used between any initiating entity and any receiving entity (e.g., a stream from a client to a server or from one server to another). An administrator of a given domain MAY require use of TLS for either or both client-to-server communications and server-to-server communications. Servers SHOULD use TLS betweeen two domains for the purpose of securing server-to-server communcations. When the remote domain is already known, the server can verify the credentials of the known domain by comparing known keys or certificates. When the remote domain is not recognized, it may still be possible to verify a certificate if it is signed by a common trusted authority. Even if there is no way to verify certificates (e.g., an unknown domain with a self-signed certificate, or a certificate signed by an unrecognized authority), if the servers choose to communicate despite the lack of verified credentials, TLS still SHOULD be used to provide encryption. + TLS SHOULD be used between any initiating entity and any receiving entity (e.g., a stream from a client to a server or from one server to another). An administrator of a given domain MAY require use of TLS for either or both client-to-server communications and server-to-server communications. Servers SHOULD use TLS betweeen two domains for the purpose of securing server-to-server communications. When the remote domain is already known, the server can verify the credentials of the known domain by comparing known keys or certificates. When the remote domain is not recognized, it may still be possible to verify a certificate if it is signed by a common trusted authority. Even if there is no way to verify certificates (e.g., an unknown domain with a self-signed certificate, or a certificate signed by an unrecognized authority), if the servers choose to communicate despite the lack of verified credentials, TLS still SHOULD be used to provide channel encryption. The following business rules apply: An initiating entity that complies with this specification MUST include the "version='1.0'" flag in the initiating stream header. - When a receiving entity that complies with this specification receives an initiating stream header that includes the "version='1.0'" flag, after sending a stream header in reply it MUST also send a <starttls/> element scoped by the 'urn:ietf:params:xml:ns:xmpp-tls' namespace as well as the list of other stream features it supports. + When a receiving entity that complies with this specification receives an initiating stream header that includes the "version='1.0'" flag, after sending a stream header in reply (including the version flag) it MUST also send a <starttls/> element scoped by the 'urn:ietf:params:xml:ns:xmpp-tls' namespace as well as the list of other stream features it supports. If the initiating entity chooses to use TLS for stream encryption, TLS negotiation MUST be completed before proceeding to SASL negotiation. The initiating entity MUST validate the certificate presented by the receiving entity: @@ -331,9 +331,10 @@ The receiving entity responds by opening a TCP connection and sending an XML stream header to the initiating entity. The receiving entity offers the STARTTLS extension to the initiating entity by sending it along with the list of supported stream features. The initiating entity issues the STARTTLS command to instruct the receiving entity that it wishes to begin a TLS negotiation to secure the stream. - The receiving entity MUST reply with either a <proceed/> element or a <failure/> element scoped by the 'urn:ietf:params:xml:ns:xmpp-tls' namespace, but keep the underlying TCP connection open. - The initiating entity begins a TLS negotiation in accordance with RFC 2246. Upon completion of the negotiation, the initiating entity initiates a new stream by sending a new opening XML stream header to the receiving entity. - The receiving entity responds by sending an XML stream header to the initiating entity along with the remaining available features (but NOT including the STARTTLS element). + The receiving entity MUST reply with either a <proceed/> element or a <failure/> element scoped by the 'urn:ietf:params:xml:ns:xmpp-tls' namespace. If the failure case occurs, the receiving entity MUST terminate both the XML stream and the underlying TCP connection. If the proceed case occurs, the receiving entity MUST ignore any further XML data sent over the XML stream but keep the underlying TCP connection open for the purpose of completing the TLS negotiation. + The initiating entity and receiving entity attempt to complete a TLS negotiation in accordance with RFC 2246. + If the TLS negotiation is successful, the initiating entity SHOULD initiate a new stream by sending an opening XML stream header to the receiving entity. If the TLS negotiation is unsuccessful, the receiving entity MUST terminate the TCP connection. + Upon receiving the new stream header from the initiating entity, the receiving entity SHOULD respond by sending a new XML stream header to the initiating entity along with the remaining available features (but NOT including the STARTTLS element).
@@ -524,12 +525,12 @@ The following syntax rules apply: The initial challenge MUST include a realm, nonce, qop, charset, and algorithm. - The inital response for client-to-server negotiation MUST include a username, realm, nonce, cnonce, nc, qop, digest-uri, response, charset, and authzid. - The inital response for server-to-server negotiation MUST include a realm, nonce, cnonce, nc, qop, digest-uri, response, and charset. + The inital response for client-to-server negotiation MUST include all and only a username, realm, nonce, cnonce, nc, qop, digest-uri, response, charset, and authzid. + The inital response for server-to-server negotiation MUST include all and only a realm, nonce, cnonce, nc, qop, digest-uri, response, and charset. The realm-value MUST be no more than 1023 bytes in length and MUST conform to the nameprep profile of stringprep. The username-value MUST be no more than 1023 bytes in length and MUST conform to the nodeprep profile of stringprep. The response-value MUST be computed in accordance with the relevant SASL mechanism as defined by the appropriate RFC (e.g., RFC 2831 for digest authentication). - The resource identifier portion of the authzid-value MUST be no more than 1023 bytes in length and MUST conform to the resourceprep profile of stringprep. + The authzid-value MUST be a "full JID" of the form "user@domain/resource", where the "user" portion is a valid node identifier, the "domain" portion is a valid domain identifier, and the "resource" portion is a valid resource identifier as defined under Addressing Scheme.
@@ -1186,10 +1187,10 @@
The following rules apply to stanza-related errors: - A stanza of type "error" MUST contain an <error/> child element. + A stanza whose 'type' attribute has a value of "error" MUST contain an <error/> child element. The receiving or processing entity that returns an error to the sending entity SHOULD include the original XML sent along with the <error/> element and its children so that the sender can inspect and if necessary correct the XML before re-sending. - An entity that receives a message stanza of type 'error' MUST NOT respond to the stanza by sending a further message stanza of type 'error'; this helps to prevent looping. - An <error/> child MUST NOT be included if the stanza type is something other than "error". + An entity that receives a stanza whose 'type' attribute has a value of "error" MUST NOT respond to the stanza by responding with a stanza of type "error"; this helps to prevent looping. + An <error/> child MUST NOT be included if the 'type' attribute has a value other than "error".
From cvslog-admin at jabberstudio.org Thu May 1 20:46:08 2003 From: cvslog-admin at jabberstudio.org (cvslog-admin@jabberstudio.org) Date: Fri Jul 9 10:03:02 2004 Subject: [cvslog] cvs commit: jeps/0050 jep-0050.xml Message-ID: <20030502014608.DDD1263EB2@hades.jabber.org> stpeter 03/05/01 20:46:08 Modified: 0050 jep-0050.xml Log: Fixed some typos, shortened the title. Revision Changes Path 1.27 +55 -55 jeps/0050/jep-0050.xml Index: jep-0050.xml =================================================================== RCS file: /home/cvs/jeps/0050/jep-0050.xml,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- jep-0050.xml 28 Apr 2003 16:33:14 -0000 1.26 +++ jep-0050.xml 2 May 2003 01:46:08 -0000 1.27 @@ -6,8 +6,8 @@
- Reporting and Executing Ad-Hoc Commands - A proposal for reporting and executing ad-hoc, human-oriented commands in Jabber. + Ad-Hoc Commands + A protocol for reporting and executing ad-hoc, human-oriented commands in Jabber. &LEGALNOTICE; 0050 Experimental @@ -115,11 +115,11 @@

This mechanism allows for a larger base of Jabber users to participate as part of larger application architectures. Although specialized clients would be preferred in many environments, this protocol allows for applications to have a wider audience (i.e., any compliant Jabber client).

-

The namespace governing this protocol is "http://jabber.org/protocol/commands" (hereafter referred to as x-commands). This namespace relies on the &IQ; element for execution, and can use the &MESSAGE; element for announcing command lists. This protocol depends on &jep0030; for reporting and announcing command lists. This namespace is intended to complement &jep0004;, but is not necessarily dependent upon it.

+

The namespace governing this protocol is "http://jabber.org/protocol/commands" (hereafter referred to as x-commands). This namespace relies on the &IQ; element for execution, and can use the &MESSAGE; element for announcing command lists. This protocol depends on &jep0030; for reporting and announcing command lists. This namespace is intended to complement &jep0004; (jabber:x:data), but is not necessarily dependent upon it.

Support of x-commands implies support for "jabber:x:data" (although this requirement may be replaced and/or amended with a requirement to support &jep0020; by performing the appropriate negotations before executing commands). x-commands provides a bootstrap for performing ad-hoc "jabber:x:data" processes, while the data itself is conveyed using "jabber:x:data".

-

The x-commands namespace is not designed to replace machine-to-machine oriented RPC systems such as &jep0009;, where the two entities fully understand the command's purpose and behavior prior to execution. x-commands is oriented more for human interaction, where the user agent (such as a compliant Jabber client) most like has no prior knowledge of the command's purpose and behavior.

+

The x-commands namespace is not designed to replace machine-to-machine oriented RPC systems such as &jep0009;, where the two entities fully understand the command's purpose and behavior prior to execution. x-commands is oriented more for human interaction, where the user agent (such as a compliant Jabber client) most likely has no prior knowledge of the command's purpose and behavior.

@@ -153,7 +153,7 @@ from='requester@domain' to='responder@domain'> + node='http://jabber.org/protocol/commands'/> ]]> + node='http://jabber.org/protocol/commands'> + node='list' + name='List Service Configurations'/> + node='config' + name='Configure Service'/> + node='reset' + name='Reset Service Configuration'/> + node='start' + name='Start Service'/> + node='stop' + name='Stop Service'/> + node='restart' + name='Restart Service'/> ]]> -

The result can then be used by the client to populate a menu, or dialog of buttons, or whatever is appropriate to the current user interface. The responder is not required to send the same list of commands to all requesters.

+

The result can then be used by the client to populate a menu, a dialog of buttons, or whatever is appropriate to the current user interface. The responder is not required to send the same list of commands to all requesters.

If additional information about a command is desired, the requester queries for disco information on the command node:

+ node='config'/> ]]> + node='config'> + category='automation' + type='command'/> @@ -215,25 +215,25 @@ Service Controls + node='http://jabber.org/protocol/commands'> + node='list' + name='List Service Configurations'/> + node='config' + name='Configure Service'/> + node='reset' + name='Reset Service Configuration'/> + node='start' + name='Start Service'/> + node='stop' + name='Stop Service'/> + node='restart' + name='Restart Service'/> ]]> @@ -355,7 +355,7 @@ ]]> -

The execution of a command exists within the concept of a session. Each session is identified by the "sessionid" attribute, and SHOULD only be valid between one requester/responder pair. The responder is responsible for determining the session lifetime, with some help from the requester.

-

The requester starts a new session for a command by simply sending a <command/> with the "node" attribute (and optionally the "status" attribute with a value of "execute"). Once the "sessionid" attribute is given to the requester, it is the requester's responsibility to maintain it for the session's lifetime. A session ends when the responder sends a <command status='complete'/> or the requester sends a <command action='cancel'/> with the provided "sessionid".

-

Once a session has ended, its "session-id" value SHOULD NOT be used again. It is the responder's responsibility to ensure that each "sessionid" is unique.

+

The requester starts a new session for a command by simply sending a <command/> with the "node" attribute (and optionally the "status" attribute with a value of "execute"). Once the "sessionid" attribute is given to the requester, it is the requester's responsibility to maintain it for the session's lifetime. A session ends when the responder sends a <command status='completed'/> or the requester sends a <command action='cancel'/> with the provided "sessionid".

+

Once a session has ended, its "sessionid" value SHOULD NOT be used again. It is the responder's responsibility to ensure that each "sessionid" is unique.

It may be possible for a requester to be executing more than one session of the same command with a given responder. If the responder does not allow more than one session of the same command with the same requester, the responder MUST send an <iq type='error'/> with a "405" error code.

-

On its own, the <command/> has very little usefulness. It relies on its payload to give full meaning to its use. The payload can be elements in any namespace that makes sense and is understood (such as "jabber:x:data"), or one or more <note/> elements. Any namespaced elements can be used within a <commands/>. The only limitations are that the elements not require certain parent elements, or allows for <command/> in the "http://jabber.org/protocol/commands" namespace as a possible parent element.

-

As a general rule, the payload is only provided by the responder. The primary exception to this rule is with the "jabber:x:data" extension (and other namespaces with similar semantics). In this case, if the responder provides a form to submit, the requester SHOULD respond with a the submitted data (using the semantics from JEP-0004).

+

On its own, the <command/> has very little usefulness. It relies on its payload to give full meaning to its use. The payload can be elements in any namespace that makes sense and is understood (such as "jabber:x:data"), or one or more <note/> elements. Any namespaced elements can be used within a <command/>. The only limitations are that the elements not require certain parent elements, nor allow for <command/> in the "http://jabber.org/protocol/commands" namespace as a possible parent element.

+

As a general rule, the payload is provided only by the responder. The primary exception to this rule is with the "jabber:x:data" extension (and other namespaces with similar semantics). In this case, if the responder provides a form to submit, the requester SHOULD respond with the submitted data (using the semantics from JEP-0004).

When the precedence of these payload elements becomes important (such as when both "jabber:x:data" and "jabber:x:oob" elements are present), the order of the elements SHOULD be used. Those elements that come earlier in the child list take precedence over those later in the child list. To complement this, or provide an alternative, requester implementations can take precedence from the payload's namespace. For instance, "jabber:x:data" forms will generally take precedence over "jabber:x:oob" links. Finally, requester implementations that interface more directly with humans can attempt to process all received payload, and present a sensible interface.

@@ -415,19 +415,19 @@

A <command/> can specify the language/locale in use, by including the "xml:lang" attribute. Each execution session (identified by the "sessionid" attribute) SHOULD only use one language/locale, and requesters MAY assume the first language/locale specified applies. The responder SHOULD specify the language/locale with the first command session's response. Additionally, the requester MAY indicate the preferred language/locale by including the "xml:lang" attribute when starting execution:

- + ]]> - + Available Services @@ -488,7 +488,7 @@ @@ -515,7 +515,7 @@ - + The command should be canceled. -

The "xml:lang" attribute specifies the language/locale this <commang/> is intended for. This element MAY be specified by the requester to request a specific language/locale, and SHOULD be included by the responder to indicate the language/locale in use.

-

The children of a <command/> element (other than <note/>s) pertain to the command's execution. The order of these elements denote their precedence, so that those elements earlier in the list have higher precedence.

+

The "xml:lang" attribute specifies the language/locale this <command/> is intended for. This element MAY be specified by the requester to request a specific language/locale, and SHOULD be included by the responder to indicate the language/locale in use.

+

The children of a <command/> element (other than <note/>) pertain to the command's execution. The order of these elements denote their precedence, so that those elements earlier in the list have higher precedence.

Notes about the current status of commands are provided by <note/> elements. This element contains information about current conditions in a command sequence. This element has an attribute that defines the type of note. The body of a <note/> should contain a user-readable text message.

@@ -665,7 +665,7 @@

When reported commands, the requester SHOULD consider any command node that does not match the JID of the requester to be suspicious, and ignore those command nodes. Requesters MUST only report their own command nodes, and not the command nodes of other entities. This can help prevent limited cases of spoofing and "social engineering".

-

This JEP requires no interaction with the &IANA;.

+

This JEP requires no interaction with &IANA;.

From cvslog-admin at jabberstudio.org Thu May 1 22:35:57 2003 From: cvslog-admin at jabberstudio.org (cvslog-admin@jabberstudio.org) Date: Fri Jul 9 10:03:03 2004 Subject: [cvslog] cvs commit: jarl CHANGES Message-ID: <20030502033557.921AE63EBB@hades.jabber.org> reatmon 03/05/01 22:35:57 Modified: . CHANGES Log: Default Unfiled group in roster w/ config option to control it. Revision Changes Path 1.93 +3 -0 jarl/CHANGES Index: CHANGES =================================================================== RCS file: /home/cvs/jarl/CHANGES,v retrieving revision 1.92 retrieving revision 1.93 diff -u -r1.92 -r1.93 --- CHANGES 14 Jan 2003 12:37:20 -0000 1.92 +++ CHANGES 2 May 2003 03:35:57 -0000 1.93 @@ -1,5 +1,8 @@ 0.6000 ====== + - Added a default Unfiled group config and listing for the Roster. + If a user is not in a group, then they show up in a fake Unfiled + group so that the Roster is kept clean. - Tk: Multi-line presence status caused the Roster and status bar to behave badly. - Core: Fixed auto-away to not change if you set your presence. From cvslog-admin at jabberstudio.org Thu May 1 22:35:59 2003 From: cvslog-admin at jabberstudio.org (cvslog-admin@jabberstudio.org) Date: Fri Jul 9 10:03:03 2004 Subject: [cvslog] cvs commit: jarl/lib config_tk.pl main.pl settings.pl Message-ID: <20030502033559.593EB63EBB@hades.jabber.org> reatmon 03/05/01 22:35:59 Modified: lib config_tk.pl main.pl settings.pl Log: Default Unfiled group in roster w/ config option to control it. Revision Changes Path 1.17 +37 -0 jarl/lib/config_tk.pl Index: config_tk.pl =================================================================== RCS file: /home/cvs/jarl/lib/config_tk.pl,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- config_tk.pl 19 Sep 2002 04:04:18 -0000 1.16 +++ config_tk.pl 2 May 2003 03:35:59 -0000 1.17 @@ -731,6 +731,43 @@ bind("",sub{ $GUI{Config}->{Roster}->{RosterGroupCount}->{Check}->invoke(); }); + $GUI{Config}->{Roster}->{RosterUnfiledGroup}->{top} = + $GUI{Config}->{Roster}->{Left}->{top}-> + Frame(-background=>$GUI{color}->{bg}->{normal}, + -foreground=>$GUI{color}->{fg}->{dark} + )->pack(-side=>"top", + -fill=>"x", + -padx=>5); + $GUI{Config}->{Roster}->{RosterUnfiledGroup}->{Check} = + $GUI{Config}->{Roster}->{RosterUnfiledGroup}->{top}-> + Checkbutton(-background=>$GUI{color}->{bg}->{normal}, + -activebackground=>$GUI{color}->{bg}->{normal}, + -foreground=>$GUI{color}->{fg}->{dark}, + -selectcolor=>$GUI{color}->{bg}->{normal}, + -indicatoron=>0, + -borderwidth=>0, + -image=>$GUI{Icons}->{Unchecked}, + -selectimage=>$GUI{Icons}->{Checked}, + -variable=>$Profile->RosterUnfiledGroup("__POINTER__"), + -command=>sub{ + &jarlMain_UpdateRosterUnfiledGroup(); + } + )->pack(-side=>'left', + -anchor=>'e', + -padx=>0, + -pady=>0); + &jarlMainIF_RegisterIcon($GUI{Config}->{Roster}->{RosterUnfiledGroup}->{Check}, + ($Profile->RosterUnfiledGroup() ? "Checked" : "Unchecked")); + $GUI{Config}->{Roster}->{RosterUnfiledGroup}->{Label} = + $GUI{Config}->{Roster}->{RosterUnfiledGroup}->{top}-> + Label(-text=>"Place unfiled JIDs into an \"Unfiled\" group", + -background=>$GUI{color}->{bg}->{normal}, + -foreground=>$GUI{color}->{fg}->{dark}, + -font=>$GUI{fonts}->{normal}, + )->pack(-side=>'left', + -anchor=>'w'); + $GUI{Config}->{Roster}->{RosterUnfiledGroup}->{Label}-> + bind("",sub{ $GUI{Config}->{Roster}->{RosterUnfiledGroup}->{Check}->invoke(); }); 1.8 +12 -0 jarl/lib/main.pl Index: main.pl =================================================================== RCS file: /home/cvs/jarl/lib/main.pl,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- main.pl 14 Jan 2003 12:37:22 -0000 1.7 +++ main.pl 2 May 2003 03:35:59 -0000 1.8 @@ -119,5 +119,17 @@ } +############################################################################## +# +# jarlMain_UpdateRosterUnfiledGroup - function call that sets whether or not +# group count is shown in the roster +# +############################################################################## +sub jarlMain_UpdateRosterUnfiledGroup +{ + $Roster->RosterUnfiledGroup($Profile->RosterUnfiledGroup()); +} + + 1; 1.21 +1 -0 jarl/lib/settings.pl Index: settings.pl =================================================================== RCS file: /home/cvs/jarl/lib/settings.pl,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- settings.pl 14 Jan 2003 12:37:22 -0000 1.20 +++ settings.pl 2 May 2003 03:35:59 -0000 1.21 @@ -149,6 +149,7 @@ &jarlMainIF_UpdateShowBrowser(); &jarlMain_UpdateRosterStatus(); &jarlMain_UpdateRosterGroupCount(); + &jarlMain_UpdateRosterUnfiledGroup(); } From cvslog-admin at jabberstudio.org Thu May 1 22:36:00 2003 From: cvslog-admin at jabberstudio.org (cvslog-admin@jabberstudio.org) Date: Fri Jul 9 10:03:03 2004 Subject: [cvslog] cvs commit: jarl/lib/Jarl Profile.pm Roster.pm Message-ID: <20030502033600.D97ED63EBB@hades.jabber.org> reatmon 03/05/01 22:36:00 Modified: lib/Jarl Profile.pm Roster.pm Log: Default Unfiled group in roster w/ config option to control it. Revision Changes Path 1.26 +4 -0 jarl/lib/Jarl/Profile.pm Index: Profile.pm =================================================================== RCS file: /home/cvs/jarl/lib/Jarl/Profile.pm,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- Profile.pm 14 Jan 2003 12:37:23 -0000 1.25 +++ Profile.pm 2 May 2003 03:36:00 -0000 1.26 @@ -62,6 +62,7 @@ $self->{FUNCTIONS}->{GPGKeyServer} = 1; $self->{FUNCTIONS}->{RosterDoubleClick} = 1; $self->{FUNCTIONS}->{RosterGroupCount} = 1; + $self->{FUNCTIONS}->{RosterUnfiledGroup} = 1; $self->{FUNCTIONS}->{RosterStatus} = 1; $self->{FUNCTIONS}->{Subscriptions} = 1; $self->{FUNCTIONS}->{SubscriptionDeny} = 1; @@ -90,6 +91,7 @@ $self->{DEFAULTS}->{GPGKeyServer} = "certserver.pgp.com"; $self->{DEFAULTS}->{RosterDoubleClick} = "normal"; $self->{DEFAULTS}->{RosterGroupCount} = 0; + $self->{DEFAULTS}->{RosterUnfiledGroup} = 0; $self->{DEFAULTS}->{RosterStatus} = 0; $self->{DEFAULTS}->{Subscriptions} = "prompt"; $self->{DEFAULTS}->{SubscriptionDeny} = 0; @@ -286,6 +288,7 @@ $string .= "".&XML::Stream::EscapeXML($self->GPGKeyServer()).""; $string .= "".&XML::Stream::EscapeXML($self->RosterDoubleClick()).""; $string .= "".&XML::Stream::EscapeXML($self->RosterGroupCount()).""; + $string .= "".&XML::Stream::EscapeXML($self->RosterUnfiledGroup()).""; $string .= "".&XML::Stream::EscapeXML($self->RosterStatus()).""; $string .= "".&XML::Stream::EscapeXML($self->Subscriptions()).""; $string .= "".&XML::Stream::EscapeXML($self->SubscriptionDeny()).""; @@ -374,6 +377,7 @@ $self->RosterDoubleClick($tree->XPath('config/rosterdoubleclick/text()')); $self->RosterGroupCount($tree->XPath('config/rostergroupcount/text()')); + $self->RosterUnfiledGroup($tree->XPath('config/rosterunfiledgroup/text()')); $self->RosterStatus($tree->XPath('config/rosterstatus/text()')); $self->Subscriptions($tree->XPath('config/subscriptions/text()')); 1.22 +82 -44 jarl/lib/Jarl/Roster.pm Index: Roster.pm =================================================================== RCS file: /home/cvs/jarl/lib/Jarl/Roster.pm,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- Roster.pm 7 Sep 2002 22:59:18 -0000 1.21 +++ Roster.pm 2 May 2003 03:36:00 -0000 1.22 @@ -43,6 +43,7 @@ $self->{varsRosterStatus} = 0; $self->{varsGroupCount} = 0; + $self->{varsUnfiledGroup} = 0; return $self; } @@ -346,9 +347,19 @@ # GetGroups - returns an array of all of the groups in the roster. # ############################################################################## -sub GetGroups { - my $self = shift; - return grep { !/__roster__:none/; } sort( {lc($a) cmp lc($b)} keys(%{$self->{groups}})); +sub GetGroups +{ + my $self = shift; + if ($self->{varsUnfiledGroup} == 1) + { + my @list = grep { !/__roster__:none/; } sort( {lc($a) cmp lc($b)} keys(%{$self->{groups}})); + push(@list,'__roster__:none'); + return @list; + } + else + { + return grep { !/__roster__:none/; } sort( {lc($a) cmp lc($b)} keys(%{$self->{groups}})); + } } @@ -451,6 +462,26 @@ ############################################################################## # +# RosterUnfiledGroup - Sets the value of the roster status variable and draws +# the Roster. +# +############################################################################## +sub RosterUnfiledGroup +{ + my $self = shift; + my $value = shift; + + if (defined($value)) + { + $self->{varsUnfiledGroup} = $value; + $self->Draw(); + } + return $self->{varsUnfiledGroup}; +} + + +############################################################################## +# # CreateTag - generates a unique string that represents the entry in the # Roster based off of group, JID, and resource. # @@ -483,47 +514,53 @@ # that contains the Roster item. # ############################################################################## -sub AddJID { - my $self = shift; - my (%args) = @_; - - my $name = $args{-jid}; - $name = $args{-name} if (exists($args{-name}) && - defined($args{-name}) && - ($args{-name} ne "")); - - if (exists($self->{jids}->{$args{-jid}})) { - foreach my $group (keys(%{$self->{groups}})) { - delete($self->{groups}->{$group}->{$args{-jid}}) - if exists($self->{groups}->{$group}->{$args{-jid}}); - } - } - - $self->{jids}->{$args{-jid}}->{name} = $name; - $self->{jids}->{$args{-jid}}->{status} = 0; - $self->{jids}->{$args{-jid}}->{subscription} = $args{-subscription}; - $self->{jids}->{$args{-jid}}->{ask} = $args{-ask}; - $self->{jids}->{$args{-jid}}->{balloon} = "Offline"; - - $self->{case}->{lc($args{-jid})} = $args{-jid}; - - foreach my $group (@{$args{-groups}}) { - $self->AddGroup($group); - $self->{groups}->{$group}->{$args{-jid}} = 0; - $self->RegisterJID($group,$args{-jid}); - foreach my $resource (keys(%{$self->{resources}->{$args{-jid}}})) { - $self->RegisterJID($group,$args{-jid},$resource); - } - } - - my $res = $self->Resource($args{-jid}); +sub AddJID +{ + my $self = shift; + my (%args) = @_; - $self->{jids}->{$args{-jid}}->{balloon} = - $self->{resources}->{$args{-jid}}->{$res}->{balloon} - if defined($res); + my $name = $args{-jid}; + $name = $args{-name} + if (exists($args{-name}) && + defined($args{-name}) && + ($args{-name} ne "")); + + if (exists($self->{jids}->{$args{-jid}})) + { + foreach my $group (keys(%{$self->{groups}})) + { + delete($self->{groups}->{$group}->{$args{-jid}}) + if exists($self->{groups}->{$group}->{$args{-jid}}); + } + } + + $self->{jids}->{$args{-jid}}->{name} = $name; + $self->{jids}->{$args{-jid}}->{status} = 0; + $self->{jids}->{$args{-jid}}->{subscription} = $args{-subscription}; + $self->{jids}->{$args{-jid}}->{ask} = $args{-ask}; + $self->{jids}->{$args{-jid}}->{balloon} = "Offline"; + + $self->{case}->{lc($args{-jid})} = $args{-jid}; + + foreach my $group (@{$args{-groups}}) + { + $self->AddGroup($group); + $self->{groups}->{$group}->{$args{-jid}} = 0; + $self->RegisterJID($group,$args{-jid}); + foreach my $resource (keys(%{$self->{resources}->{$args{-jid}}})) + { + $self->RegisterJID($group,$args{-jid},$resource); + } + } + + my $res = $self->Resource($args{-jid}); + + $self->{jids}->{$args{-jid}}->{balloon} = + $self->{resources}->{$args{-jid}}->{$res}->{balloon} + if defined($res); - $self->GarbageCollect(); - $self->Draw(); + $self->GarbageCollect(); + $self->Draw(); } @@ -588,7 +625,8 @@ delete($self->{resources}->{$jid}) if (scalar(keys(%{$self->{resources}->{$jid}})) == 0); } - if ($self->{varsUpdateMode} eq "presence") { + if ($self->{varsUpdateMode} eq "presence") + { delete($self->{groups}->{'__roster__:none'}->{$jid}); delete($self->{jids}->{$jid}); } @@ -781,7 +819,7 @@ -ask=>$newRoster{$jid}->{ask}, (($#{$newRoster{$jid}->{groups}} > -1) ? (-groups=>$newRoster{$jid}->{groups}) : - (-groups=>['__roster__:none']) + (-groups=>['__roster__:none']) ) ); } From cvslog-admin at jabberstudio.org Thu May 1 22:36:03 2003 From: cvslog-admin at jabberstudio.org (cvslog-admin@jabberstudio.org) Date: Fri Jul 9 10:03:03 2004 Subject: [cvslog] cvs commit: jarl/lib/Tk Roster.pm Message-ID: <20030502033603.3D03963EBE@hades.jabber.org> reatmon 03/05/01 22:36:02 Modified: lib/Tk Roster.pm Log: Default Unfiled group in roster w/ config option to control it. Revision Changes Path 1.27 +206 -194 jarl/lib/Tk/Roster.pm Index: Roster.pm =================================================================== RCS file: /home/cvs/jarl/lib/Tk/Roster.pm,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- Roster.pm 14 Jan 2003 12:37:25 -0000 1.26 +++ Roster.pm 2 May 2003 03:36:02 -0000 1.27 @@ -40,84 +40,86 @@ ############################################################################## sub Populate { -my ($self, $args) = @_; -my %args = %{$args}; + my ($self, $args) = @_; + my %args = %{$args}; -$self->{varsOnlineOnly} = 0; + $self->{varsOnlineOnly} = 0; -$self->{varsRosterBackground} = - $self->ParseArg($args,"-rosterbackground","white"); -$self->{varsGroupBackground} = - $self->ParseArg($args,"-groupbackground","grey65"); -$self->{varsGroupForeground} = - $self->ParseArg($args,"-groupforeground","white"); -$self->{varsJIDBackground} = - $self->ParseArg($args,"-jidbackground","grey75"); -$self->{varsJIDForeground} = - $self->ParseArg($args,"-jidforeground","black"); -$self->{varsSelectBackground} = - $self->ParseArg($args,"-selectbackground","lightblue"); -$self->{varsResourceBackground} = - $self->ParseArg($args,"-resourcebackground","grey85"); -$self->{varsResourceForeground} = - $self->ParseArg($args,"-resourceforeground","black"); -$self->{varsBalloon} = - $self->ParseArg($args,"-balloon",undef); -$self->{varsFont} = - $self->ParseArg($args,"-font",""); -$self->{varsJIDLeftCommand} = - $self->ParseArg($args,"-jidleftcommand",""); -$self->{varsJIDRightCommand} = - $self->ParseArg($args,"-jidrightcommand",""); -$self->{varsUpdateMode} = - $self->ParseArg($args,"-updatemode","roster"); -$self->{varsWidth} = - $self->ParseArg($args,"-width",200); - -$self->{frame} = - $self-> - Frame(%{$args})-> - pack(-side=>'top', - -padx=>0, - -pady=>0, - -fill=>'both', - -expand=>1); - -my $scrolled = - $self->{frame}-> - Scrolled("Canvas", - -scrollbars=>"osoe", - -height=>10, - -width=>$self->{varsWidth}, - -borderwidth=>0, - -relief=>"flat", - -background=>$self->{varsRosterBackground}, - -takefocus=>0, - -highlightthickness=>0 - )-> - pack(-side=>'top', - -fill=>'both', - -expand=>1, - -padx=>0, - -pady=>0); - -$self->{canvas} = $scrolled->Subwidget("canvas"); -$scrolled->Subwidget("yscrollbar")->configure(-width=>10, - -borderwidth=>1, - -relief=>"flat", - -takefocus=>0, - -highlightthickness=>0 - ); -$scrolled->Subwidget("xscrollbar")->configure(-width=>10, - -borderwidth=>1, - -relief=>"flat", - -takefocus=>0, - -highlightthickness=>0 - ); + $self->{varsRosterBackground} = + $self->ParseArg($args,"-rosterbackground","white"); + $self->{varsGroupBackground} = + $self->ParseArg($args,"-groupbackground","grey65"); + $self->{varsGroupForeground} = + $self->ParseArg($args,"-groupforeground","white"); + $self->{varsJIDBackground} = + $self->ParseArg($args,"-jidbackground","grey75"); + $self->{varsJIDForeground} = + $self->ParseArg($args,"-jidforeground","black"); + $self->{varsSelectBackground} = + $self->ParseArg($args,"-selectbackground","lightblue"); + $self->{varsResourceBackground} = + $self->ParseArg($args,"-resourcebackground","grey85"); + $self->{varsResourceForeground} = + $self->ParseArg($args,"-resourceforeground","black"); + $self->{varsBalloon} = + $self->ParseArg($args,"-balloon",undef); + $self->{varsFont} = + $self->ParseArg($args,"-font",""); + $self->{varsJIDLeftCommand} = + $self->ParseArg($args,"-jidleftcommand",""); + $self->{varsJIDRightCommand} = + $self->ParseArg($args,"-jidrightcommand",""); + $self->{varsUpdateMode} = + $self->ParseArg($args,"-updatemode","roster"); + $self->{varsWidth} = + $self->ParseArg($args,"-width",200); + + $self->{frame} = + $self-> + Frame(%{$args})-> + pack(-side=>'top', + -padx=>0, + -pady=>0, + -fill=>'both', + -expand=>1); + + my $scrolled = + $self->{frame}-> + Scrolled("Canvas", + -scrollbars=>"osoe", + -height=>10, + -width=>$self->{varsWidth}, + -borderwidth=>0, + -relief=>"flat", + -background=>$self->{varsRosterBackground}, + -takefocus=>0, + -highlightthickness=>0 + )-> + pack(-side=>'top', + -fill=>'both', + -expand=>1, + -padx=>0, + -pady=>0); + + $self->{canvas} = $scrolled->Subwidget("canvas"); + $scrolled->Subwidget("yscrollbar")->configure(-width=>10, + -borderwidth=>1, + -relief=>"flat", + -takefocus=>0, + -highlightthickness=>0 + ); + $scrolled->Subwidget("xscrollbar")->configure(-width=>10, + -borderwidth=>1, + -relief=>"flat", + -takefocus=>0, + -highlightthickness=>0 + ); -$self->{balloons} = {} if defined($self->{varsBalloon}); + $self->{balloons} = {} if defined($self->{varsBalloon}); -$self->DrawMode(1); + $self->DrawMode(1); + + $self->RegisterGroup("__roster__:none"); } @@ -129,9 +131,9 @@ ############################################################################## sub ParseArg { -my $self = shift; -my ($args,$arg,$default) = @_; -return (exists($args->{$arg}) ? delete($args->{$arg}) : $default); + my $self = shift; + my ($args,$arg,$default) = @_; + return (exists($args->{$arg}) ? delete($args->{$arg}) : $default); } @@ -142,102 +144,110 @@ ############################################################################## sub Draw { -my $self = shift; + my $self = shift; -return unless ($self->DrawMode() == 1); + return unless ($self->DrawMode() == 1); -$self->{canvas}->createText(-1000,-1000, - -text=>"TestString", - ( - (ref($self->{varsFont}) eq "Tk::Font") ? - (-font=>$self->{varsFont}) : - ( - ($self->{varsFont} ne "") ? - (-font=>$self->{varsFont}) : - () - ) - ), - -tags=>[ "rostertest" ]); + $self->{canvas}->createText(-1000,-1000, + -text=>"TestString", + ( + (ref($self->{varsFont}) eq "Tk::Font") ? + (-font=>$self->{varsFont}) : + ( + ($self->{varsFont} ne "") ? + (-font=>$self->{varsFont}) : + () + ) + ), + -tags=>[ "rostertest" ]); -my ($x1,$y1,$x2,$y2) = $self->{canvas}->bbox("rostertest"); + my ($x1,$y1,$x2,$y2) = $self->{canvas}->bbox("rostertest"); -$self->{varsItem}->{Height} = $y2 - $y1 + 4; -$self->{varsItem}->{Height} = 16 if ($self->{varsItem}->{Height} < 16); + $self->{varsItem}->{Height} = $y2 - $y1 + 4; + $self->{varsItem}->{Height} = 16 if ($self->{varsItem}->{Height} < 16); -$self->{canvas}->delete("all"); + $self->{canvas}->delete("all"); -$self->{varsY} = 0; + $self->{varsY} = 0; -foreach my $group ($self->GetGroups()) -{ - $self->DrawItem($self->CreateTag($group),"group",$group,0) - unless (($self->{varsOnlineOnly} == 1) && - ($self->ActiveGroup($group) == 0)); - - if ($self->{groups}->{$group}->{'__roster__:status'} == 1) + foreach my $group ($self->GetGroups()) { - foreach my $jid (sort {uc($self->{jids}->{$a}->{name}) cmp uc($self->{jids}->{$b}->{name})} keys(%{$self->{groups}->{$group}})) + my $drawGroup = $group; + $drawGroup = "Unfiled" if ($self->{varsUnfiledGroup} && ($group eq "__roster__:none")); + $self->DrawItem($self->CreateTag($group),"group",$drawGroup,0) + unless (($self->{varsOnlineOnly} == 1) && + ($self->ActiveGroup($group) == 0)); + + if ($self->{groups}->{$group}->{'__roster__:status'} == 1) { - next if ($jid eq '__roster__:status'); - next if (($self->{varsOnlineOnly} == 1) && !defined($self->Resource($jid))); - $self->DrawItem($self->CreateTag($group,$jid),"jid",$self->{jids}->{$jid}->{name},1); - if ($self->{groups}->{$group}->{$jid} == 1) + foreach my $jid (sort {uc($self->{jids}->{$a}->{name}) cmp uc($self->{jids}->{$b}->{name})} keys(%{$self->{groups}->{$group}})) { - foreach my $resource (sort {$self->{resources}->{$jid}->{$b}->{priority} <=> $self->{resources}->{$jid}->{$a}->{priority}} keys(%{$self->{resources}->{$jid}})) + next if ($jid eq '__roster__:status'); + next if (($self->{varsOnlineOnly} == 1) && !defined($self->Resource($jid))); + $self->DrawItem($self->CreateTag($group,$jid),"jid",$self->{jids}->{$jid}->{name},1); + if ($self->{groups}->{$group}->{$jid} == 1) { - $self->DrawItem($self->CreateTag($group,$jid,$resource),"resource",$resource,2); + foreach my $resource (sort {$self->{resources}->{$jid}->{$b}->{priority} <=> $self->{resources}->{$jid}->{$a}->{priority}} keys(%{$self->{resources}->{$jid}})) + { + $self->DrawItem($self->CreateTag($group,$jid,$resource),"resource",$resource,2); + } } } } } -} -foreach my $jid (sort {uc($self->{jids}->{$a}->{name}) cmp uc($self->{jids}->{$b}->{name})} keys(%{$self->{groups}->{'__roster__:none'}})) -{ - next if ($jid eq '__roster__:status'); - next if (($self->{varsOnlineOnly} == 1) && !defined($self->Resource($jid))); - $self->DrawItem($self->CreateTag('__roster__:none',$jid),"jid",$self->{jids}->{$jid}->{name},0); - if ($self->{groups}->{'__roster__:none'}->{$jid} == 1) + if ($self->{varsUnfiledGroup} == 0) { - foreach my $resource (sort {$self->{jids}->{$jid}->{resources}->{$b}->{priority} <=> $self->{resources}->{$jid}->{$a}->{priority}} keys(%{$self->{resources}->{$jid}})) + foreach my $jid (sort {uc($self->{jids}->{$a}->{name}) cmp uc($self->{jids}->{$b}->{name})} keys(%{$self->{groups}->{'__roster__:none'}})) { - $self->DrawItem($self->CreateTag('__roster__:none',$jid,$resource),"resource",$resource,1); + next if ($jid eq '__roster__:status'); + next if (($self->{varsOnlineOnly} == 1) && !defined($self->Resource($jid))); + $self->DrawItem($self->CreateTag('__roster__:none',$jid),"jid",$self->{jids}->{$jid}->{name},0); + if ($self->{groups}->{'__roster__:none'}->{$jid} == 1) + { + foreach my $resource (sort {$self->{jids}->{$jid}->{resources}->{$b}->{priority} <=> $self->{resources}->{$jid}->{$a}->{priority}} keys(%{$self->{resources}->{$jid}})) + { + $self->DrawItem($self->CreateTag('__roster__:none',$jid,$resource),"resource",$resource,1); + } + } } } -} -(undef,undef,undef,$y2) = $self->{canvas}->bbox("all"); -$y2 = 0 if !defined($y2); + (undef,undef,undef,$y2) = $self->{canvas}->bbox("all"); + $y2 = 0 if !defined($y2); -(undef,undef,$x2,undef) = $self->{canvas}->bbox("text"); -$x2 = 0 if !defined($x2); + (undef,undef,$x2,undef) = $self->{canvas}->bbox("text"); + $x2 = 0 if !defined($x2); -$x2 = 10 unless ($x2 > 10); -$y2 = 10 unless ($y2 > 10); + $x2 = 10 unless ($x2 > 10); + $y2 = 10 unless ($y2 > 10); -$self->{canvas}-> - configure(-scrollregion=> - [ 0, - 0, - ($x2+2), - $y2 - ]); - -$self->{varsBalloon}-> - attach($self->{canvas}, - -balloonposition => 'mouse', - -msg=>{ %{$self->{balloons}} }, - ) - if defined($self->{varsBalloon}); - -if (defined($self->{varsSelectedTag}) && - ($self->{canvas}->gettags($self->{varsSelectedTag}) ne "")) { - $self->{canvas}->itemconfigure($self->{varsSelectedTag}, - -fill=>$self->{varsSelectBackground}); -} else { - $self->{varsSelectedJID} = undef; - $self->{varsSelectedTag} = undef; -} + $self->{canvas}-> + configure(-scrollregion=> + [ 0, + 0, + ($x2+2), + $y2 + ]); + + $self->{varsBalloon}-> + attach($self->{canvas}, + -balloonposition => 'mouse', + -msg=>{ %{$self->{balloons}} }, + ) + if defined($self->{varsBalloon}); + + if (defined($self->{varsSelectedTag}) && + ($self->{canvas}->gettags($self->{varsSelectedTag}) ne "")) + { + $self->{canvas}->itemconfigure($self->{varsSelectedTag}, + -fill=>$self->{varsSelectBackground}); + } + else + { + $self->{varsSelectedJID} = undef; + $self->{varsSelectedTag} = undef; + } } @@ -258,20 +268,20 @@ $types{jid}->{fore} = $self->{varsJIDForeground}; $types{resource}->{back} = $self->{varsResourceBackground}; $types{resource}->{fore} = $self->{varsResourceForeground}; - + my ($group,$jid,$resource); - + foreach my $splitTag (split(':::',$tag)) { ($group) = ($splitTag =~ /^group-(.+)$/) if ($splitTag =~ /^group\-/); ($jid) = ($splitTag =~ /^jid-(.+)$/) if ($splitTag =~ /^jid\-/); ($resource) = ($splitTag =~ /^res-(.+)$/) if ($splitTag =~ /^res\-/); } - + $group = $self->UnescapeTag($group); $jid = $self->UnescapeTag($jid); $resource = $self->UnescapeTag($resource); - + my $icon; if ($type eq "group") @@ -294,7 +304,7 @@ if ($type eq "resource") { $icon = $main::GUI{Icons}->{Resource}; - + if ($self->{varsRosterStatus} == 1) { if (my $status = $self->{jids}->{$jid}->{balloon}) @@ -308,9 +318,9 @@ if ($type eq "jid") { my $resource = $self->Resource($jid); - + my $invisible = $self->GetValue($jid,"invisible") ? "1" : "0"; - + if (defined($resource)) { my $presence = @@ -319,7 +329,7 @@ $self->{resources}->{$jid}->{$resource}->{show} : $self->{resources}->{$jid}->{$resource}->{type} ); - + $icon = &main::jarlRosterIF_PresenceIcon($self, $presence, $jid); @@ -330,7 +340,7 @@ "unavailable", $jid); } - + if ($self->{varsRosterStatus} == 1) { if (my $status = $self->{jids}->{$jid}->{balloon}) @@ -340,7 +350,7 @@ } } } - + $self->{canvas}-> createRectangle(0, $self->{varsY}+1, @@ -362,29 +372,29 @@ () ) ]); - + $self->{canvas}->createImage(($indentLevel*15)+5, $self->{varsY}+(int($self->{varsItem}->{Height}/2)), -image=>$icon, -anchor=>"w", -tags=>[ $tag ]); - + $self->{canvas}->createText(($indentLevel*15)+($icon->width()+10), - $self->{varsY}+(int($self->{varsItem}->{Height}/2)), - -text=>$text, - ( - (ref($self->{varsFont}) eq "Tk::Font") ? - (-font=>$self->{varsFont}) : - ( - ($self->{varsFont} ne "") ? - (-font=>$self->{varsFont}) : - () - ) - ), - -fill=>$types{$type}->{fore}, - -anchor=>"w", - -tags=>[ $tag , "text" ]); - + $self->{varsY}+(int($self->{varsItem}->{Height}/2)), + -text=>$text, + ( + (ref($self->{varsFont}) eq "Tk::Font") ? + (-font=>$self->{varsFont}) : + ( + ($self->{varsFont} ne "") ? + (-font=>$self->{varsFont}) : + () + ) + ), + -fill=>$types{$type}->{fore}, + -anchor=>"w", + -tags=>[ $tag , "text" ]); + $self->{varsY} += $self->{varsItem}->{Height}; } @@ -400,27 +410,29 @@ my $self = shift; my ($group) = @_; - if (!defined($self->{canvas}->bind("group-${group}")) || - ($self->{canvas}->bind("group-${group}") eq "")) + my $tag = $self->CreateTag($group); + + if (!defined($self->{canvas}->bind($tag)) || + ($self->{canvas}->bind($tag) eq "")) { $self->{canvas}-> - bind("group-${group}", + bind($tag, "", sub { $self->{canvas}-> itemconfigure("jidback", - -fill=>$self->{varsJIDBackground}); + -fill=>$self->{varsJIDBackground}); $self->{canvas}-> itemconfigure("resback", - -fill=>$self->{varsResourceBackground}); + -fill=>$self->{varsResourceBackground}); $self->{varsSelectedJID} = undef; $self->{varsSelectedTag} = undef; - } - ); - + } + ); + $self->{canvas}-> - bind("group-${group}", + bind($tag, "", sub { @@ -447,7 +459,7 @@ $resource = "" unless defined($resource); my $tag = $self->CreateTag($group,$jid,$resource); - + if ($resource ne "") { $self->RegisterBalloon($tag,\$self->{resources}->{$jid}->{$resource}->{balloon}); @@ -462,7 +474,7 @@ my $fullJID = $jid; $fullJID .= "/${resource}" unless ($resource eq ""); - + $self->{canvas}-> bind($tag, "", @@ -470,13 +482,13 @@ { $self->{canvas}-> itemconfigure("jidback", - -fill=>$self->{varsJIDBackground}); + -fill=>$self->{varsJIDBackground}); $self->{canvas}-> itemconfigure("resback", - -fill=>$self->{varsResourceBackground}); + -fill=>$self->{varsResourceBackground}); $self->{canvas}-> itemconfigure("${tag}-back", - -fill=>$self->{varsSelectBackground}); + -fill=>$self->{varsSelectBackground}); $self->{varsSelectedJID} = $fullJID; $self->{varsSelectedTag} = "${tag}-back"; &{$self->{varsJIDRightCommand}}($group,$jid,$resource) @@ -491,13 +503,13 @@ { $self->{canvas}-> itemconfigure("jidback", - -fill=>$self->{varsJIDBackground}); + -fill=>$self->{varsJIDBackground}); $self->{canvas}-> itemconfigure("resback", - -fill=>$self->{varsResourceBackground}); + -fill=>$self->{varsResourceBackground}); $self->{canvas}-> itemconfigure("${tag}-back", - -fill=>$self->{varsSelectBackground}); + -fill=>$self->{varsSelectBackground}); $self->{varsSelectedJID} = $fullJID; $self->{varsSelectedTag} = "${tag}-back"; } @@ -523,7 +535,7 @@ sub Clear { my $self = shift; - + $self->{canvas}->delete("all"); $self->SUPER::Clear(); } From cvslog-admin at jabberstudio.org Fri May 2 05:42:58 2003 From: cvslog-admin at jabberstudio.org (cvslog-admin@jabberstudio.org) Date: Fri Jul 9 10:03:03 2004 Subject: [cvslog] cvs commit: GroupChatApplet/root - Imported sources Message-ID: <20030502104258.B9CB263EAB@hades.jabber.org> uls 03/05/02 05:42:58 Log: Created dir struc Status: Vendor Tag: GroupChatApplet Release Tags: start N GroupChatApplet/root/cvsinit.sh cvs: ERROR: cannot write file /home/cvs/GroupChatApplet/root/cvsinit.sh,v: No such file or directory No conflicts created by this import From cvslog-admin at jabberstudio.org Fri May 2 05:44:21 2003 From: cvslog-admin at jabberstudio.org (cvslog-admin@jabberstudio.org) Date: Fri Jul 9 10:03:03 2004 Subject: [cvslog] cvs commit: groupchatapplet/root - Imported sources Message-ID: <20030502104421.8200563EAB@hades.jabber.org> uls 03/05/02 05:44:21 Log: Created dir struc Status: Vendor Tag: GroupChatApplet Release Tags: start N groupchatapplet/root/cvsinit.sh No conflicts created by this import From cvslog-admin at jabberstudio.org Fri May 2 06:18:32 2003 From: cvslog-admin at jabberstudio.org (cvslog-admin@jabberstudio.org) Date: Fri Jul 9 10:03:03 2004 Subject: [cvslog] cvs commit: j-xmpp/root - Imported sources Message-ID: <20030502111832.69FEA63EAB@hades.jabber.org> uls 03/05/02 06:18:32 Log: Created dir struc Status: Vendor Tag: j-xmpp Release Tags: start N j-xmpp/root/readme No conflicts created by this import From cvslog-admin at jabberstudio.org Fri May 2 06:51:34 2003 From: cvslog-admin at jabberstudio.org (cvslog-admin@jabberstudio.org) Date: Fri Jul 9 10:03:03 2004 Subject: [cvslog] cvs commit: j-xmpp/root/sources - New directory Message-ID: <20030502115134.2471F63EAB@hades.jabber.org> uls 03/05/02 06:51:34 j-xmpp/root/sources - New directory From cvslog-admin at jabberstudio.org Fri May 2 06:53:21 2003 From: cvslog-admin at jabberstudio.org (cvslog-admin@jabberstudio.org) Date: Fri Jul 9 10:03:03 2004 Subject: [cvslog] cvs commit: j-xmpp/root/sources BasicConnector.java Element.java PHashtable.java SimpleUI.java Starter.java TagListener.java Vector.java XMLTagParser.java XMPPConnector.java Message-ID: <20030502115321.64FEB63EAB@hades.jabber.org> uls 03/05/02 06:53:21 Added: root/sources BasicConnector.java Element.java PHashtable.java SimpleUI.java Starter.java TagListener.java Vector.java XMLTagParser.java XMPPConnector.java Log: start Revision Changes Path 1.1 j-xmpp/root/sources/BasicConnector.java Index: BasicConnector.java =================================================================== class BasicXMPPConnector{ } 1.1 j-xmpp/root/sources/Element.java Index: Element.java =================================================================== import java.util.Hashtable; public class Element{ public PHashtable attributes; public Vector elements; public String text=""; public String name=""; public boolean closed=false; public Element parent=null; Element(){ attributes=new PHashtable(); elements=new Vector(); } public boolean isEmpty(){ if(elements.isEmpty())return true; return false; } Element(String name){ this.name=name; attributes=new PHashtable(); elements=new Vector(); } public void addAttr(String name, String value){ attributes.put(name, value); } public String getAttr(String name){ return (String)attributes.get(name); } public void setText(String t){ text=t; } public String getText(){ return text; } public void addElement(Element e){ elements.addElement(e); } public Element getElement(String n){ for(int i=0;i"; return str; } } 1.1 j-xmpp/root/sources/PHashtable.java Index: PHashtable.java =================================================================== public class PHashtable{ Object[] key; Object[] value; PHashtable(){ key=new Object[0]; value=new Object[0]; } public boolean contains(Object k){ for(int i=0;itestd "; XMLTagParser x=new XMLTagParser(); for(int i=0;i")){ tagStart(); state=S8; } else if(c.equals("/")){ state=S10; } else{ if(c.equals(" ")){ state=S2; attributename=""; } else{ tagname+=c; } } } public void state2(String c){ if(c.equals("?"))state=S1; if(c.equals("=")){ state=S3; } else{ if(!(c.equals(" ")))attributename+=c; } } public void state3(String c){ if(c.equals("\"")|c.equals("'")){ state=S4; attributevalue=""; } } public void state4(String c){ if(c.equals("?")){ state=S5; } else if(c.equals("\"")|c.equals("'")){ state=S5; attributes.put(attributename, attributevalue); } else{ state=S4; attributevalue+=c; } } public void state5(String c){ if(c.equals("?")){ state=S5; } else if(c.equals(">")){ state=S8; tagStart(); } else if(c.equals(" ")){ state=S5; } else if(c.equals("/")){ state=S10; } else{ state=S2; attributename=c; } } public void state6(String c){ } public void state7(String c){ } public void state8(String c){ if(c.equals("<")){ state=S9; } else{ state=S8; //add to cdata text cdata+=c; } } public void state9(String c){ if(c.equals("/")){ state=S10; } else{ child=new XMLTagParser(this); child.taglisteners=taglisteners; child.setLevel(level+1); //child.addChar((new String("<")).charAt(0)); //child.addChar(c.charAt(0)); child.state=10; child.tagname+=c; state=S8; } } public void state10(String c){ if(c.equals(">")){ state=S11; //tag finished element.name=tagname; element.text=cdata; element.attributes=attributes; if(parent!=null){ parent.child=null; parent.element.addElement(element); } System.out.print("\nEnd of tag detected-> "); System.out.print(element.toString()); tagStop(); } else{ state=S10; } } public void state11(String c){ } public void tagStart(){ element.name=tagname; element.attributes=attributes; Element e=element; System.out.println("\nTAG started:"+e.name+"/"+e.toString()); for(int i=0;i"); //close the 'real' socket s.close(); } catch(Exception e){ e.printStackTrace(); } p.disconnected(); } public void sendSimpleMessage(String to, String body){ rawSend(""+body+""); } public void run(){ //this is the main starter routine, this routine starts the Thread. try{ connect(); while(true){ //here we read char wise from our input stream ... char c=(char)s.getInputStream().read(); //... and hand it manually to our xml tag parser xmltp.addChar(c); } } catch(Exception e){ disconnect(); stop(); } } /* * rawSend sends a string directly to our outbound stream */ public void rawSend(String s){ try{ //just to stay sure, i send a new line afterwards. bw.write(s+"\n"); //emptying the outbound stream. bw.flush(); } catch(Exception e){ //of course in case of exceptions, we print our exception to System.err as always e.printStackTrace(); } } /* * startStream sends stream descriptors to our server */ public void startStream(){ try{ //send the xml version String s=""; rawSend(s); //send the stream starter s=""; rawSend(s); } catch(Exception e){ e.printStackTrace(); } } /* * tagStop(): Tag listener function, get called from xml tag parser whenever a tag ends */ public void tagStop(Element e){ p.display("TAG: "+e.toString()); switch(state){ //reaction depends on our position in the state engine case QUERIEDAUTH: if(e.name.equals("iq")){ parseAuthRequestReply(e); } break; case SENTLOGINDATA: p.display("login data sent"); if(e.name.equals("iq")){ if(e.isEmpty()){ p.connected(); state=LOGGEDIN; sendPresence(); } else{ //here is space for negative authentication handling } } break; case LOGGEDIN: //if we are logged in and stuff, we handle the element in our handle function handle(e); break; } } /* * tagStart() gets called whenever a tag starts */ public void tagStart(Element e){ // switch(state){ case INITSTATE: //components recieve xml tags, but don`t send them. if(e.name.equals("?xml")){ xmltp=new XMLTagParser(); xmltp.attach(this); } if(e.name.equals("stream:stream")){ //this is definitely a stream start. if(e.attributes.contains("xmlns:sasl")){ //yes, the stream supports SASL state=SASL; } else{ //no it doesn't state=NOTSASL; } //now we have to extract the stream id streamid=(String)e.attributes.get("id"); //we have the state set, but what to do next? simple go into this routine once again. tagStart(e); xmltp=new XMLTagParser(); xmltp.attach(this); } break; case SASL: //if this is a SASL enabled server we have connected to. if(e.name.equals("sasl:mechanisms")){ //we would do something here } break; case NOTSASL: //now we query for authentication requirements state=QUERIEDAUTH; queryAuth(); break; case QUERIEDAUTH: //we recieved a response to our authenitication insult if(e.name.equals("iq")){ parseAuthRequestReply(e); } break; } } /* * loginwith... loggs in with Plain password, ever wondered why functions have names? */ public void loginWithPlainPassword(){ //now we login with a plain password. sorry, no need for digest and stuff String s=""; s+=""+username+""; s+=""+resource+""; s+=""+password+""; s+="\n"; rawSend(s); } /* * if we recieve an auth request reply, it gets handed to this function. man, functions have names! */ public void parseAuthRequestReply(Element e){ //now we parse it if(((String)(e.attributes.get("type"))).equals("result")){ Element q=e.getElement("query"); if(q!=null){ Element p=q.getElement("password"); if(p!=null){ state=SENTLOGINDATA; loginWithPlainPassword(); } } } else if(((String)(e.attributes.get("type"))).equals("error")){ Element error=e.getElement("error"); if(error!=null){ //we really should print the error text ( error.getText() ) } } } /* * see name of function. */ public void queryAuth(){ String s=""; s+=""+username+"\n"; rawSend(s); } /* * handle(): whenever we receieve an element when connected, we handle it in here. */ public void handle(Element e){ try{ if(e.name.equals("message")){ String type=e.getAttr("type"); String from=e.getAttr("from"); Element thread=e.getElement("thread"); Element body=e.getElement("body"); Element subject=e.getElement("subject"); Element x=e.getElement("x"); if(type==null)type=""; if(thread==null)thread=new Element(); if(body==null)body=new Element(); if(subject==null)subject=new Element(); if(x==null)x=new Element(); p.messageArrived(from, type, thread.getText(), subject.getText(), body.getText(), x.toString()); } if(e.name.equals("iq")){ String id=e.getAttr("id"); String type=e.getAttr("type"); String from=e.getAttr("from"); if(type.equals("get")){ if(e.getElement("query")!=null){ String namespace=e.getElement("query").getAttr("xmlns"); if(namespace.equals("jabber:iq:version")){ String s=""; s+="XMPP Connector - ulrich staudinger"; s+="2.4"; s+="java 1.1"; rawSend(s); } } } if(((String)(e.attributes.get("type"))).equals("error")){ //this one occurs whenever we recieve an error through iq Element error=e.getElement("error"); if(error!=null){ //we really should print the error text somewhere. System.err.println(error.toString()); } } //now code for general iq handling if(id==null)id=""; if(type==null)type=""; if(from==null)from=""; String namespace=""; Element query=e.getElement("query"); if(query!=null){ namespace=e.getElement("query").getAttr("xmlns"); } else{ query=new Element(); } //now we hand it to the UI p.iqArrived(from, type, id, namespace, query); } if(e.name.equals("presence")){ /* presence handling disabled atm. Element show=e.getElement("show"); if(show==null){ Contact c=p.getContact(e.getAttr("from")); String t=e.getAttr("type"); if(t!=null){ if(t.equals("unavailable")){ if(p.getChannelFor(e.getAttr("from"))!=null){ p.getChannelFor(e.getAttr("from")).displayStatus(c); } p.removeContact(c); } if(t.equals("subscribe")){ p.displaySubReq(e); } } c.show="online"; } else{ Contact c=p.getContact(e.getAttr("from")); c.show=show.getText(); if(p.getChannelFor(e.getAttr("from"))!=null){ p.getChannelFor(e.getAttr("from")).displayStatus(c); } } p.getRoster().rebuildRoster(); */ } } catch(Exception exc){ //Somewhere happened an exception during element handling exc.printStackTrace(); } } void disconnected(){ //gets called from pinger thread whenever an error occurs. p.disconnected(); } public void sendPresence(){ String s=""; s+=""; rawSend(s); } } class Pinger extends Thread{ public XMPPConnector xc; Pinger(XMPPConnector xc){ this.xc=xc; } public void run(){ while(true){ try{ sleep(25000); xc.rawSend("\n"); }catch(Exception e){ //propably connection interrupted e.printStackTrace(); //call disconnect function xc.disconnected(); stop(); } } } } From cvslog-admin at jabberstudio.org Fri May 2 06:54:41 2003 From: cvslog-admin at jabberstudio.org (cvslog-admin@jabberstudio.org) Date: Fri Jul 9 10:03:03 2004 Subject: [cvslog] cvs commit: groupchatapplet/root/sources - New directory Message-ID: <20030502115441.E07E163EAB@hades.jabber.org> uls 03/05/02 06:54:41 groupchatapplet/root/sources - New directory From cvslog-admin at jabberstudio.org Fri May 2 06:55:12 2003 From: cvslog-admin at jabberstudio.org (cvslog-admin@jabberstudio.org) Date: Fri Jul 9 10:03:04 2004 Subject: [cvslog] cvs commit: groupchatapplet/root/sources BasicConnector.java Element.java PHashtable.java SimpleUI.java Starter.java TagListener.java Vector.java XMLTagParser.java XMPPConnector.java Message-ID: <20030502115512.4BEA863EAB@hades.jabber.org> uls 03/05/02 06:55:12 Added: root/sources BasicConnector.java Element.java PHashtable.java SimpleUI.java Starter.java TagListener.java Vector.java XMLTagParser.java XMPPConnector.java Log: Revision Changes Path 1.1 groupchatapplet/root/sources/BasicConnector.java Index: BasicConnector.java =================================================================== class BasicXMPPConnector{ } 1.1 groupchatapplet/root/sources/Element.java Index: Element.java =================================================================== import java.util.Hashtable; public class Element{ public PHashtable attributes; public Vector elements; public String text=""; public String name=""; public boolean closed=false; public Element parent=null; Element(){ attributes=new PHashtable(); elements=new Vector(); } public boolean isEmpty(){ if(elements.isEmpty())return true; return false; } Element(String name){ this.name=name; attributes=new PHashtable(); elements=new Vector(); } public void addAttr(String name, String value){ attributes.put(name, value); } public String getAttr(String name){ return (String)attributes.get(name); } public void setText(String t){ text=t; } public String getText(){ return text; } public void addElement(Element e){ elements.addElement(e); } public Element getElement(String n){ for(int i=0;i"; return str; } } 1.1 groupchatapplet/root/sources/PHashtable.java Index: PHashtable.java =================================================================== public class PHashtable{ Object[] key; Object[] value; PHashtable(){ key=new Object[0]; value=new Object[0]; } public boolean contains(Object k){ for(int i=0;itestd "; XMLTagParser x=new XMLTagParser(); for(int i=0;i")){ tagStart(); state=S8; } else if(c.equals("/")){ state=S10; } else{ if(c.equals(" ")){ state=S2; attributename=""; } else{ tagname+=c; } } } public void state2(String c){ if(c.equals("?"))state=S1; if(c.equals("=")){ state=S3; } else{ if(!(c.equals(" ")))attributename+=c; } } public void state3(String c){ if(c.equals("\"")|c.equals("'")){ state=S4; attributevalue=""; } } public void state4(String c){ if(c.equals("?")){ state=S5; } else if(c.equals("\"")|c.equals("'")){ state=S5; attributes.put(attributename, attributevalue); } else{ state=S4; attributevalue+=c; } } public void state5(String c){ if(c.equals("?")){ state=S5; } else if(c.equals(">")){ state=S8; tagStart(); } else if(c.equals(" ")){ state=S5; } else if(c.equals("/")){ state=S10; } else{ state=S2; attributename=c; } } public void state6(String c){ } public void state7(String c){ } public void state8(String c){ if(c.equals("<")){ state=S9; } else{ state=S8; //add to cdata text cdata+=c; } } public void state9(String c){ if(c.equals("/")){ state=S10; } else{ child=new XMLTagParser(this); child.taglisteners=taglisteners; child.setLevel(level+1); //child.addChar((new String("<")).charAt(0)); //child.addChar(c.charAt(0)); child.state=10; child.tagname+=c; state=S8; } } public void state10(String c){ if(c.equals(">")){ state=S11; //tag finished element.name=tagname; element.text=cdata; element.attributes=attributes; if(parent!=null){ parent.child=null; parent.element.addElement(element); } System.out.print("\nEnd of tag detected-> "); System.out.print(element.toString()); tagStop(); } else{ state=S10; } } public void state11(String c){ } public void tagStart(){ element.name=tagname; element.attributes=attributes; Element e=element; System.out.println("\nTAG started:"+e.name+"/"+e.toString()); for(int i=0;i"); //close the 'real' socket s.close(); } catch(Exception e){ e.printStackTrace(); } p.disconnected(); } public void sendSimpleMessage(String to, String body){ rawSend(""+body+""); } public void run(){ //this is the main starter routine, this routine starts the Thread. try{ connect(); while(true){ //here we read char wise from our input stream ... char c=(char)s.getInputStream().read(); //... and hand it manually to our xml tag parser xmltp.addChar(c); } } catch(Exception e){ disconnect(); stop(); } } /* * rawSend sends a string directly to our outbound stream */ public void rawSend(String s){ try{ //just to stay sure, i send a new line afterwards. bw.write(s+"\n"); //emptying the outbound stream. bw.flush(); } catch(Exception e){ //of course in case of exceptions, we print our exception to System.err as always e.printStackTrace(); } } /* * startStream sends stream descriptors to our server */ public void startStream(){ try{ //send the xml version String s=""; rawSend(s); //send the stream starter s=""; rawSend(s); } catch(Exception e){ e.printStackTrace(); } } /* * tagStop(): Tag listener function, get called from xml tag parser whenever a tag ends */ public void tagStop(Element e){ p.display("TAG: "+e.toString()); switch(state){ //reaction depends on our position in the state engine case QUERIEDAUTH: if(e.name.equals("iq")){ parseAuthRequestReply(e); } break; case SENTLOGINDATA: p.display("login data sent"); if(e.name.equals("iq")){ if(e.isEmpty()){ p.connected(); state=LOGGEDIN; sendPresence(); } else{ //here is space for negative authentication handling } } break; case LOGGEDIN: //if we are logged in and stuff, we handle the element in our handle function handle(e); break; } } /* * tagStart() gets called whenever a tag starts */ public void tagStart(Element e){ // switch(state){ case INITSTATE: //components recieve xml tags, but don`t send them. if(e.name.equals("?xml")){ xmltp=new XMLTagParser(); xmltp.attach(this); } if(e.name.equals("stream:stream")){ //this is definitely a stream start. if(e.attributes.contains("xmlns:sasl")){ //yes, the stream supports SASL state=SASL; } else{ //no it doesn't state=NOTSASL; } //now we have to extract the stream id streamid=(String)e.attributes.get("id"); //we have the state set, but what to do next? simple go into this routine once again. tagStart(e); xmltp=new XMLTagParser(); xmltp.attach(this); } break; case SASL: //if this is a SASL enabled server we have connected to. if(e.name.equals("sasl:mechanisms")){ //we would do something here } break; case NOTSASL: //now we query for authentication requirements state=QUERIEDAUTH; queryAuth(); break; case QUERIEDAUTH: //we recieved a response to our authenitication insult if(e.name.equals("iq")){ parseAuthRequestReply(e); } break; } } /* * loginwith... loggs in with Plain password, ever wondered why functions have names? */ public void loginWithPlainPassword(){ //now we login with a plain password. sorry, no need for digest and stuff String s=""; s+=""+username+""; s+=""+resource+""; s+=""+password+""; s+="\n"; rawSend(s); } /* * if we recieve an auth request reply, it gets handed to this function. man, functions have names! */ public void parseAuthRequestReply(Element e){ //now we parse it if(((String)(e.attributes.get("type"))).equals("result")){ Element q=e.getElement("query"); if(q!=null){ Element p=q.getElement("password"); if(p!=null){ state=SENTLOGINDATA; loginWithPlainPassword(); } } } else if(((String)(e.attributes.get("type"))).equals("error")){ Element error=e.getElement("error"); if(error!=null){ //we really should print the error text ( error.getText() ) } } } /* * see name of function. */ public void queryAuth(){ String s=""; s+=""+username+"\n"; rawSend(s); } /* * handle(): whenever we receieve an element when connected, we handle it in here. */ public void handle(Element e){ try{ if(e.name.equals("message")){ String type=e.getAttr("type"); String from=e.getAttr("from"); Element thread=e.getElement("thread"); Element body=e.getElement("body"); Element subject=e.getElement("subject"); Element x=e.getElement("x"); if(type==null)type=""; if(thread==null)thread=new Element(); if(body==null)body=new Element(); if(subject==null)subject=new Element(); if(x==null)x=new Element(); p.messageArrived(from, type, thread.getText(), subject.getText(), body.getText(), x.toString()); } if(e.name.equals("iq")){ String id=e.getAttr("id"); String type=e.getAttr("type"); String from=e.getAttr("from"); if(type.equals("get")){ if(e.getElement("query")!=null){ String namespace=e.getElement("query").getAttr("xmlns"); if(namespace.equals("jabber:iq:version")){ String s=""; s+="XMPP Connector - ulrich staudinger"; s+="2.4"; s+="java 1.1"; rawSend(s); } } } if(((String)(e.attributes.get("type"))).equals("error")){ //this one occurs whenever we recieve an error through iq Element error=e.getElement("error"); if(error!=null){ //we really should print the error text somewhere. System.err.println(error.toString()); } } //now code for general iq handling if(id==null)id=""; if(type==null)type=""; if(from==null)from=""; String namespace=""; Element query=e.getElement("query"); if(query!=null){ namespace=e.getElement("query").getAttr("xmlns"); } else{ query=new Element(); } //now we hand it to the UI p.iqArrived(from, type, id, namespace, query); } if(e.name.equals("presence")){ /* presence handling disabled atm. Element show=e.getElement("show"); if(show==null){ Contact c=p.getContact(e.getAttr("from")); String t=e.getAttr("type"); if(t!=null){ if(t.equals("unavailable")){ if(p.getChannelFor(e.getAttr("from"))!=null){ p.getChannelFor(e.getAttr("from")).displayStatus(c); } p.removeContact(c); } if(t.equals("subscribe")){ p.displaySubReq(e); } } c.show="online"; } else{ Contact c=p.getContact(e.getAttr("from")); c.show=show.getText(); if(p.getChannelFor(e.getAttr("from"))!=null){ p.getChannelFor(e.getAttr("from")).displayStatus(c); } } p.getRoster().rebuildRoster(); */ } } catch(Exception exc){ //Somewhere happened an exception during element handling exc.printStackTrace(); } } void disconnected(){ //gets called from pinger thread whenever an error occurs. p.disconnected(); } public void sendPresence(){ String s=""; s+=""; rawSend(s); } } class Pinger extends Thread{ public XMPPConnector xc; Pinger(XMPPConnector xc){ this.xc=xc; } public void run(){ while(true){ try{ sleep(25000); xc.rawSend("\n"); }catch(Exception e){ //propably connection interrupted e.printStackTrace(); //call disconnect function xc.disconnected(); stop(); } } } } From cvslog-admin at jabberstudio.org Fri May 2 07:01:00 2003 From: cvslog-admin at jabberstudio.org (cvslog-admin@jabberstudio.org) Date: Fri Jul 9 10:03:04 2004 Subject: [cvslog] cvs commit: groupchatapplet/root/sources BasicConnector.java Message-ID: <20030502120100.B9C8A63EAB@hades.jabber.org> uls 03/05/02 07:01:00 Removed: root/sources BasicConnector.java Log: here we go From cvslog-admin at jabberstudio.org Fri May 2 08:29:25 2003 From: cvslog-admin at jabberstudio.org (cvslog-admin@jabberstudio.org) Date: Fri Jul 9 10:03:04 2004 Subject: [cvslog] cvs commit: exodus/exodus ConnDetails.dfm ExSession.pas Exodus.dof Exodus.dpr ExodusCOM_TLB.pas Message-ID: <20030502132925.E22D363EAB@hades.jabber.org> pgmillard 03/05/02 08:29:25 Modified: exodus ConnDetails.dfm ExSession.pas Exodus.dof Exodus.dpr ExodusCOM_TLB.pas Log: Check for Winsock2 before starting Revision Changes Path 1.13 +8 -7 exodus/exodus/ConnDetails.dfm Index: ConnDetails.dfm =================================================================== RCS file: /home/cvs/exodus/exodus/ConnDetails.dfm,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- ConnDetails.dfm 16 Apr 2003 18:00:02 -0000 1.12 +++ ConnDetails.dfm 2 May 2003 13:29:25 -0000 1.13 @@ -3,7 +3,7 @@ Top = 168 Width = 304 Height = 305 - ActiveControl = cboSocksType + ActiveControl = txtUsername Caption = 'Connection Details' Color = clBtnFace Font.Charset = ANSI_CHARSET @@ -18,7 +18,7 @@ TextHeight = 16 inline frameButtons1: TframeButtons Left = 0 - Top = 239 + Top = 244 Width = 296 Height = 32 Align = alBottom @@ -44,13 +44,13 @@ Left = 0 Top = 0 Width = 296 - Height = 239 - ActivePage = tbsSocket + Height = 244 + ActivePage = tbsProfile Align = alClient TabOrder = 1 object tbsProfile: TTabSheet Caption = 'Profile' - ImageIndex = 2 + ImageIndex = -1 object Label3: TLabel Left = 9 Top = 8 @@ -157,7 +157,7 @@ end object tbsConn: TTabSheet Caption = 'Connection' - ImageIndex = 3 + ImageIndex = -1 object Label4: TLabel Left = 2 Top = 38 @@ -248,6 +248,7 @@ end object tbsSocket: TTabSheet Caption = 'Proxy' + ImageIndex = -1 object lblSocksHost: TLabel Left = 5 Top = 38 @@ -349,7 +350,7 @@ end object tbsHttp: TTabSheet Caption = 'HTTP Polling' - ImageIndex = 1 + ImageIndex = -1 object Label1: TLabel Left = 2 Top = 3 1.6 +13 -1 exodus/exodus/ExSession.pas Index: ExSession.pas =================================================================== RCS file: /home/cvs/exodus/exodus/ExSession.pas,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- ExSession.pas 4 Apr 2003 01:22:17 -0000 1.5 +++ ExSession.pas 2 May 2003 13:29:25 -0000 1.6 @@ -68,6 +68,7 @@ sCmdProfile = ' -f [prof] '#9' : Profile name'#13#10; sCmdConfig = ' -c [file] '#9' : Config path name'#13#10; sUnkArg = 'Invalid command line:%s'; + sWinsock2 = 'Winsock2 is required for this application. Please obtain the winsock2 installer from Microsoft for your operating system.'; var sExodusMutex: Cardinal; @@ -89,7 +90,7 @@ {$WARN UNIT_PLATFORM OFF} uses - Controls, GnuGetText, ConnDetails, + Controls, GnuGetText, ConnDetails, IdWinsock2, ChatWin, GetOpt, Jabber1, JabberID, PrefController, StandardAuth, PrefNotify, ExResponders, MsgDisplay, @@ -135,12 +136,23 @@ xmpp_children: TXMLTagList; i: integer; + ws2: THandle; + begin // setup all the session stuff, parse cmd line params, etc.. {$ifdef TRACE_EXCEPTIONS} // Application.OnException := ApplicationException; Include(JclStackTrackingOptions, stRawMode); {$endif} + + // Make sure winsock2 is available.. + ws2 := LoadLibrary('WS2_32.DLL'); + if (ws2 = 0) then begin + MessageDlg(sWinsock2, mtError, [mbOK], 0); + Result := false; + exit; + end; + FreeLibrary(ws2); // init the cmd line stuff cli_priority := -1; 1.214 +6 -1 exodus/exodus/Exodus.dof Index: Exodus.dof =================================================================== RCS file: /home/cvs/exodus/exodus/Exodus.dof,v retrieving revision 1.213 retrieving revision 1.214 diff -u -r1.213 -r1.214 --- Exodus.dof 17 Apr 2003 04:15:19 -0000 1.213 +++ Exodus.dof 2 May 2003 13:29:25 -0000 1.214 @@ -84,7 +84,7 @@ OutputObjs=0 ConsoleApp=1 DebugInfo=0 -RemoteSymbols=0 +RemoteSymbols=1 MinStackSize=16384 MaxStackSize=1048576 ImageBase=4194304 @@ -105,6 +105,8 @@ Launcher= UseLauncher=0 DebugCWD= +RemoteHost=192.168.1.188 +RemotePath=c:\ex\exodus.exe [Language] ActiveLang= ProjectLang= @@ -148,6 +150,9 @@ [HistoryLists\hlUnitOutputDirectory] Count=1 Item0=.\output +[HistoryLists\hlOutputDirectorry] +Count=1 +Item0=\\VMWARE95\MAIN\ex [HistoryLists\hlDCPOutput] Count=1 Item0=.\output 1.88 +1 -4 exodus/exodus/Exodus.dpr Index: Exodus.dpr =================================================================== RCS file: /home/cvs/exodus/exodus/Exodus.dpr,v retrieving revision 1.87 retrieving revision 1.88 diff -u -r1.87 -r1.88 --- Exodus.dpr 16 Apr 2003 18:00:02 -0000 1.87 +++ Exodus.dpr 2 May 2003 13:29:25 -0000 1.88 @@ -32,7 +32,7 @@ uses Forms, Controls, - Windows, + Windows, About in 'About.pas' {frmAbout}, Agents in '..\jopl\Agents.pas', AutoUpdate in '..\jopl\AutoUpdate.pas', @@ -173,9 +173,6 @@ if (not continue) then exit; Application.CreateForm(TfrmExodus, frmExodus); - Application.CreateForm(TfrmWebDownload, frmWebDownload); - Application.CreateForm(TfrmPrefNetwork, frmPrefNetwork); - Application.CreateForm(TfrmPrefGroups, frmPrefGroups); frmRosterWindow := TfrmRosterWindow.Create(Application); frmCustomPres := TfrmCustomPres.Create(Application); frmEmoticons := TfrmEmoticons.Create(Application); 1.59 +2 -2 exodus/exodus/ExodusCOM_TLB.pas Index: ExodusCOM_TLB.pas =================================================================== RCS file: /home/cvs/exodus/exodus/ExodusCOM_TLB.pas,v retrieving revision 1.58 retrieving revision 1.59 diff -u -r1.58 -r1.59 --- ExodusCOM_TLB.pas 28 Apr 2003 03:19:31 -0000 1.58 +++ ExodusCOM_TLB.pas 2 May 2003 13:29:25 -0000 1.59 @@ -12,10 +12,10 @@ // ************************************************************************ // // PASTLWTR : 1.2 -// File generated on 4/27/2003 8:59:33 PM from Type Library described below. +// File generated on 5/2/2003 7:25:46 AM from Type Library described below. // ************************************************************************ // -// Type Lib: D:\Src\exodus\exodus\Exodus.tlb (1) +// Type Lib: D:\src\exodus\exodus\Exodus.tlb (1) // LIBID: {219E0029-5710-4C9B-BE33-4C7F046D7792} // LCID: 0 // Helpfile: From cvslog-admin at jabberstudio.org Fri May 2 08:33:26 2003 From: cvslog-admin at jabberstudio.org (cvslog-admin@jabberstudio.org) Date: Fri Jul 9 10:03:08 2004 Subject: [cvslog] cvs commit: exodus W95ws2setup.exe Message-ID: <20030502133326.DD0AB63EAB@hades.jabber.org> pgmillard 03/05/02 08:33:26 Added: . W95ws2setup.exe Log: Adding winsock2 for win95 installer Revision Changes Path 1.1 exodus/W95ws2setup.exe Index: W95ws2setup.exe =================================================================== MZ $ - not enough space for lowio initialization - not enough space for stdio initialization - pure virtual function call - not enough space for _onexit/atexit table - unable to open console device - unexpected heap error - unexpected multithread lock error - not enough space for thread data abnormal program termination - not enough space for environment - not enough space for arguments - floating point not loaded Program:  Vj@ PEE Pp5 PEE P65 Q3P4 f= EP` 9]u9] Wu Eup uj uj VWV _    HtW\uƀuW    fBfrfu3PjPPh _ Qj j j B8tфtQ ~333ƃ }zm EG=$w SQMKCk Y[ t$ t k D$;w+#jj j -tŀ} j ++;ȃl$} jEMPUQPWV t? t:} 3tU_^[]Ã= j N0w H€ K@K$Gl|,wP jW th rE9  j F _^[]UT EDЉE EDЉE EE3E9]E E+эy 9]u9]tOEREUuuu uuuu؃0E}9E؉U~MMEMM띍}+}E E}EMt?  UT$ BHBxM A Ru8Eu  =x uCuuu u   uEPjh, uCMu uuu uQ un33};u= j j*j?  P P 3IuuD$[^_VWt$ 95,wvEƋ$k$0wD t)V uE CC+= t)V  g j 3g  P|3Ҿ ‹$k$0wtu BP r_^  B8 B8  <9,0<;uэBЀ8  <9,0<;uH9 ;|DOf tB$uA tF$s ^UWVSM&ً}3ˋu F3:GwtIIы[^_UV3PPPPPPPPU . tB$u t F$sF ^j &tt$Ѓtj  3Vv j MȀ0&r3_^[]U3SVWuQQjQ t.F'G8t,A<ɀ A,A<ɀ A8to=$w  wj t'FG8tPS j[^_VWt$ F @t F t!VV0  f= P    9u  h' l'p'Fl'95h'+ d'`'9 `'uR\'@@9h'3jP? V TE) @EV+D$ = x'  VTE=TE VBWrUHt$B          A    Ό                                             "BKP 7qkn}VQAZht[t`Ն}9w&Al}{p{|9ug2NBD?AH?WV\Z ]x~ՋVuߓZq֭}_YK)|k[r"Fs- j%/jMHmq}%B}aM;)[~Bf}]*?x"">BI^аO|l5A>O!Vsmf-;EU ֓MfsSwCy < !]vQBW@y5a'1.6M{,}v7 ,&@P8t)Ifcסnw@@(U=U^ѣ.;9! + Uv2" f;9O6;9cx0mvˀNBQ9xI\BB`N&Bc=GXPoBsEH 3^"؉Wg]vrJAMXFѯe.CKE0vjqb]s߹>q$z,.R1(%{력J7>Qx*e}Mk%saĹ"qfBal; ߕ 9Q(h' '9uw/;;&8%ߘ :r-74а ܼ4Z4|_ }{ rŞtZmQ|T;gW4/TG 4TP@fW>#WeO̒ @ٰVu9Nw8k/`6 Kqli?ΖlΜF\RCfٜNV/Wcv# !- 8$ƋS ^^aXg¤>#Q,[hDH;vmO&E ?Ij̢Ov95zՁFwa/@M P4.:ۡga6TwV̗my .d֡D(^;g0mWl vBE#gw`U_i? n{ NNjqJ$͈Nj\ E|}XUIcr߶>y#V=Rć J|2`- #٦XX'W]vv֬"acIm[k@ |3鎷LEaELǀkD #M)d[p=4-,0;%Ӹez=[YJ>mg=G^IyU&d&fH&K,Ҧ/+8:ٍ6Y!WGm"V>, p&l`zl4IG$r'hIsrD[? #ɏVsT&QF(b?HmJ.=U"hҤo5}]?w;3{_Ju'4zs{x5^]̛ 帜z6˯9׮{8'H AFbȣQуt,+/K>sa,Y~Y ԦGtH#D`iDD:_mtDҊhL ~8lJ[yFeA)6._@, ȓ ,jt a h7-F2:x[븰UW/ǒAV~Z6@<=[2H]ڝ5Vkݯ@I>@:ZVj~KtRi;Ydg8Fk|Hz2Q[[ʉFoQ#+(;\}Ld"z~0_9˖xR/D"kŁ5nq%ڹFI ONCs8ު@ &RPe<\29f2롣^dJ؛wN)| %Q:PYŨ)u p+i: <<ꀅni@:עQ#i#pEhY&y{=RpW S 55G=!Ab(ñhqY@KR6"hEhJي[A?PiUfȯ{ A/'|; "Qytb0N {7J)Fhp>|TUMi)}%F݉YpfIذ{y3 FJ: pFulEY' ݣ @V#mqoe \hyuMBᜉ֜L1a;Y!bEJ'E`4EjRtvn€՘ۢG&hqdsz;yL ^` 7ER<.߲&1z1sDcU]^e U+Ko}o qfw|<C`IhٻW@3AU5JzfYOO7{GEƓF^rsY˹v ,f^}%J4#ןNyFC aVԶ\)KŸxkJ~-N2FѺQ@^@AIvuM_ƱAFpޡ%'<؝MZ,ԍ F` 1 j&MG灠2-it0=@ZP?=&(jlkɋRe-vPJw3}εk8 k b@!m M_~t`uk NZ]ʺ@yrA U4[q͆Aݲ(-X=n`eR?+UCԁ`F;}IF 1gL̕h:'&%N,s2ΒT[ÍSCՈ7z?5$i@! i v\ a6=wv픳w<󮱚/]Q;oy!Mv} [Q 0:+uZRU4RfL R\=޴x[amIP [& %g:c{ [LG&d4u{;#3FݟX9@%rKkGaHh@Ԫ`=8]< -[2{>pᱯDܿf %4&Ѹ3݅ hݓ G\l.v})z!$+sǦ{Ӄg,x]aXrkTjSRJ-V 7ЃNq1(_q'];jD[^â-Xa4 s2IEG.0@ÇAo ޘ2@Փ3 !!ޕz  =qhfT(S5뙮_5r C?&SACIw"yb:gn ,.lbdH?_tÆc8t[JT,7c9A8P&z> E^x=Ȇ *;ON@?jl *;ɨHVRIwǃˇCSCﱆ6UXX5#% ,]tm;BԀe wʊ̤\7&fFMlM1(b z[Lp?úHp[dOLn˾ʀBi ZgC )/z:02r=aa`fgq%܁+U4̠J>7@MW:P,kFsҺVz%$-n ymwp@o{rr\u{8"HWw v>FmNZ{RKSK zیKGnA4YүEF 8|aN_c;xشgl3D%g@9%`9 1ojX{EK d RB/1w8JuKPPna2LY6Cei؈>UWGX0JR?^bOqAap:P} ayZRO$k7OKHܵI}sU[F6NZl`G!;Qt>)s7jts/SgPѹL"4N8l;Yێv-t;5BU#P==kFڶSLI 3W!&07D嫧r ]VA_`'ydҵ0jZhqr ޮ_!) MoǛ߃7~8wp94>'ed0[t?}ϓy >S6y7ބAT7qx=V٪ ^d./l[b9TxmgFP$hO?n8'7ٛ24}o;U=ڝ<_KU={[OOxDnm>ݼjEyD}䚔t J]4fb$ĎXyWI@i"$Vֺ(u.(Nl |'TO ܜ 2Rg9skV7j-IF^Q ;6Z'VTf",=P~:qC0i_^*Ryk!2mXx9<ᅠpg!ǎ~BF} _0ԑ>'$F&v }W`5vPĬY J z@K_>< $(i9r0WmEgU쾬s\ Əf˾<8k ;?&`eeH!vr2: A~Ex,3x B^!<Ϯg|oNZO,Z@Z~$etxr`a|WBJxr1>~ny}KJ*j^NN_ۺJ^Һ*aݫ$76,?-ԊVɫRK׬^dp[2ռj=25.s@[ h"->`xUB6JQyC[3 >jyacƶ:A#+dѪH2#[P waXmDڪ1{>Z(H"[Cl GlFriJHZkZy ZX.D wnҶg@Kh= ?eɣZ/zֳ -9*ʎ\Eτpb3!{ 3eu^8,O֊r?{ u-̊1wH_OtZIzƩlOߖ &?F9meٌ~h)Wx, Ž3=?CMgTgHU}Pw1 jGzƳB8})afKnNJB] 5O~T USe.[|,`(/ۇN}>D[Lt5/;Jtєv @euZ̗;;ȞzP'\?B{ɕ"oK G3gL| {{ҫ`7)pbN!Ir͔ͼr 6+ƂxщX^/2 pҺZv'H\^g+ο$l>@sBg}o-67b/:.S/Dr 놖5VDdf{B.G]n{-yXk02To-2fx߹8bŬYdACd#ky݆9c9卼卼żeV7z/ q=-zkGGbܕk}.:rZZ8Y1dK9z|MM8bg({u;<#޲BR Gd>K8{yl8^;y]P1̨Ωk%/_u|]._u;ope+2ӗ-Χ^4--gO𠤉^0l`h  &glcBЇf)t[J,u$B.I|Hȁ&><>˃VK6oes=5;ac+fpQ}TLy")Q_<rS/vJQ6StNiM9չ$v0R:Mc^{doZXzE#gȉL"'/i)┡3rP5r*׍8#\q[H}S/63{4aiΗ^ҟ 1cw"ё٢~Kw.#rƞ2CN5Nj-.t˖~~p9,_CxGCKC-|lʔ%xyEXV/;M=9>"=sVI)Z4}9 EEB}RզaO~dn]M :ؽJPkA0B l$^\խmrS׳0uSɢa3*`[}е’Q]&EB񽽏!Kc⟠_@X3waDߟtjd09""q 7y#'|2#|{]8_@Xr/ ;jόӿ45^T*ҷȈ>$E M3gUv-dOIʊURk֯U,NH!+پ)'g }F e֦-˚Z "@}#>!xro]DSk]vUӺW^Q^U^aMדI$hYq*2ݩ;d_x}k}j yRPVuߝZr׬[ۇqnvאZaUL eR17v+R@ɫRVe>0j^uϊ]ܳZ&$bfnu#|!kPp Ŷ׍=ÿ\G+ ] 1 `r]6jHZVݽfzeZ5F{%W?(b]Z>;{~so#4 V|ÛspO1cJ\aƘ0g ;7'ܿ"MV=o'grd<W!OXfM @0< ` L:fEEY2%K ]_WTEH[RB7 K#)v76BXX)noB#3F~j=ÞqÞS3#1JjWjCiƈ_w{5T|c}#*I=:t⟁mC?n&Sp٫c"mav:6nI'J5ϲIh(-̺fu?IM 3WM2VGԝ{2WJ'PN#_iV# t^zFk %h;= !e'wO}l+zHllxtG`+o\9Î6g`Tx}6!iD m:eAيei3Ɖ;b\o/D1kJO ' ܥFB;bi4ƱTAl|[=!E]$$3P]'A}ux=D'$lC rѳ9v91t%\B_(B*+LRMwT!%ټXŞ[`%o3hwv˃{0[5g5D̂5%pzƙ{4 j}&ޝ(D2nPJ0kη_}ޫbq*b-5Oe`A+79) lUޜIOgk [@/W߂1 4o%[-| |d6_pg/ XZ1vl8N@$Q䣤X̀AP#ߚ)v2MBJ HrV I}xXF,NlH9 ePƻdFKEo߱E`B7.m9Bˣ.YtNR^kKa8)X +b;r3ѰD8-5/]iixohE\v} 0gծ}9]< U#<#lbDwY(I%b?ąUH ~>%7D<;G!uNkS&f2Vo~1)fC+S4بdS m]rg4&zjXCN& zSo~:(*3 Q֛nֵ tol=I6٦?+Kx0U&6Xq|*:/@<3Ê %Њ4I:| vG &R3ل `*Ń'~JڐtxVx~[? VOV K~&8A*J2I3ߛoRpmstp] P 0BJMzWd`ڥ,A-eή=eORӡ  =L"TY5yz]rb) St>.S֬( F[Jا⥍hWiŸFB-Jkje KaT`}/}xg.&6PL7Ʈ&CLpڿY ۜ,o)2OI s!J( y jjL!_U O75 +kЍvn^l[ԶdpW'#䳥]9824fhVhf *  (o }~^q9L]mKו㙀ѩM!EW`[VQ=p7ÜbSbm5cXn\Z_) !o5ZC"V46/vo&K.CeeL> z޻Mu^[_(FŒ(1 \GXB5h{hϻV8 n/9rv%1*G FP 3@+R1G\+'WR+$({}F)58^X[gE--h0"zUyAmźQQ1[TuSoXU5|vHc0 İԽi҆AapZ?1 uy䣩Qhc #<9je0gC;P@U5ҡrHn#a%k \#I"AncCq}eMpȒo2ކeV`1w`;I I?:;l2&R»CYa o:1ؾC/so@9;1renl!Lˣ }x:yr&!qaqa}1 $iÜa9zNX='xt3 dCӵ܍58Dzi]M]#WQ["F]w-;,!f=3?RMtŭk|,Ig*s5')ބ1~=sߓ?W~.}oxt;I xI^$$y[($a-Bxx{z&%V0 %} ĝ$Ds6w“׃'x!l(^YHYyW-rLIIOH7秗?~0D履O {U m Xpt .lA7fTdlx:d2-22yMv0 hi3OLzMM3 3ݙ3}~_,U>QW [mGO^2`4oOu*ԯS*Nە\iK2?ϥ_='֫gR^H9r"͔wS>N9r!?EmcDGfgBo/3 2aJcz v*؎m:$o2ŊkR5i]b9Bܜ\Rn82s0!lJj˧Dڮk-8!GBdP`8&zݽ:c}XKt7`;tzXw4N(D9=wێOq> ꓆ ٔkkyr=QfѰM8>mhÖ)=:mުҽ'W$=jiRϪmKٖ{fv|r=jOEPŀȨ^.#ۅKOYխRn:Cè)r̛EMh zmiOQsz(ݽo`j<Je%!k-IFhl~1XZH3h0ڎsq%cm jY5 zVpw$UNs ?v G:iz3ޝpZN V͓A3Եt'J?8?UT%UB =Sf'Җh,9eT-\ d(k^8;p!LLJꕪIG5S{t>,?;SOiq.2[9%XRԤt-/Eh96m[z |iEɦ4]35xt & `J^.vS r ' /"491np&tGx(]EOx8ڗBtZL7ijx+V[gNX5tҾ5j(8{u,?"0 _HD|;MvS~5'k"MYf]0|Fmp>}T;|$H(' ) f`%tIVK=,x 韤;Yݛ"ޢuhM;*HMՒoǭaU(N%Dt8Odtxt^4^jnjU̖T}vMs6~9 !Q;+H˸A~ z2+d'5fƕs|n<4 6E76r)a֠-K@лHeG3 pCbmx׹ߧ}^(~əۺs!0LQ̢M}}kZIzO]e‹C~^]1u5F%h5z<:Ӈ_@Eo"!Ҏ4W{KHv50 ?6k.Wd9v"V8eDbe'wu5x&PُC ~D|L$ѸLLXTI\bHh=kf۩!#~G8v)؄S13k+Bo=wҁBw˾̫|f ׸a~\<#,6%ųSTFq<"uO>4 Gb^coJ$"N]p!w>.wxRlGp.x܏仍b7֯EцȞ:v7,!Uq0ʝ^ hKYPJWp#(Qg(6!l!\:+Ǡk|Yx=@ItˍX{{*ko7K2iS5Id6fYQBov{*"Ih1ڤ9T/J*<.QfiNcNI KS,^*-4J.¦N2$4eH1B°5Ŭι5HEIhv5_4>޺,Y˦fLA£x`£Q`~<~XtyxY&|M@'CqRuρI`bL>]&3!q)L^LK0i*Iˆˈ!IwH-xu:wyխ:9aU[ m\Qx~;9JqKx;[MJw@۪"-(!+ hSIz؊xE:ɰX'8$1naSLZ|,s}a_uECSg2"&O_2U~ ħA]66/YB!(E;LOmJL# N5?_~;9T'Fws|UѵL>HoWX/)Mаe}@4%8Ma*NG92>őf=`K[F֧5k+O٧:)ʉйo4!]Ee^^ 5zT~W&2՛]WnDH wK>SRx9?` x VGǢ8 DșfQ#bi6y?/iKfJ:ep"a津pFk ;8$ښ*rij+rboldT¬#G*i;n!Gv ?rEygŏ"|ޓf= IʬcצlnJJǕ}xS@3}ȵA} py˨= أrXՌ`%t"jVCD}u(*{GFTfg,XzSnltQeЕ'ҞY~IĿS:S?_D@(ّ=Ӭ1 NcYƏ-8RƇޱLi'l}yj?qW9 HRz Ht0)w =]1vCYz p'kGjHC4s -wVHH˘ -7<څC[nSssܠ)wlgPN0mwF&gsbt&FKWRYz(*y趋u:JJt[͕ڏہV5h<3֛ib8-.yH]y8y@XOS!Qkyvg16\),y^S\\ &^ V=5 'F@X&J'>Ѭf2Q؁/LJLJ_Oćߌ+ʙr6>n|x:>|.><J`ƕ\" S 0k=n ]JIqeDѡUS)&ߚF_v\Hҡ4ϱ+*j@;E=C_E(D460\nܿ>%GMՎ=^/#tbVq]؟N"+ yQ;^wK& p9tanztj` <`r8bژ 翰׸g^PAPhfld6V4h N2v q$M)T+wyK',V;o[\F^8Iߥzie1r rKc JJzEiC!>oްG}o~>ngUgR$ r dINέS,ijhTjS}pnI~Mngyw'ֆ{kljlnf߁]}joq\8-.Ay_os !+ѓ'e !4 GBTSB8M=IFPH' GspE@_#]-vtdl)|nlO~lG;9ۅ9[=m*nl;pϞ[8[8osͭ'97--n+٬qM]t7LGgc6 FwŵY][6mLy3[͍c;޺s띛h}rC\i~0Uœ6ů;'߂eT}>8G!$9k!P a'6!U@X!@3fnI 3<9_,OcS$!! B4kv!8µc-a3\]g~"g:1{W =_\i]8Z z8,0Ȃz{nn Z9|IknVAnq#Ck'( ,4E4RoM>kT O:?D`ꑫ >5ʸK4k8v['cDdŹjjhi@^K02J 2:xK1 i yLEk;lG'h b/med09Cٸy/ȃJ:WB8H6- ှV-hF1,Qi(-QK #t6IR"[.,5Y'$-RL}I"zVk> iI4QV'ZC*$efW?zAᰑNU %3()-Ch%FCǣhܗ=k ^3^؄z|#SW~*A =͑(9"  \+A !ȩ]nF1oad|f5,d#⍼l)[l=' Edc9?`A32&e\KfӃ xJmLS;cBK \TDAO2CuӪ dèCxIuc|>UbI| (=uR{_@ #i5CTyg+L:ȴa|SkC{sZuZxLj|ZŃ=:zN=1-Ul\s8:$l6!"pfMIDVIB%H"B[҂6^R|PnK>jA*\ k*+;gfvfv7Z<ݙ=9g|3󾸅;!=n#u@*_>Jڷt='"aIxp3YK~&3g2x}qc`t=#zdXB[LH1˙ :fS )/g0+`=d":f93_40`;4`ntW0`Zydamx?Ғ*:X7V4+IjX [ֹy 3JkM$Ztp~1lPkr#W)AZ<q}IÖ-SD<ҜN`rX~Y  6f)#,l)q1Vf7d{fiՉeoy2N)'ZZ!oQKfAj>mq'|uIIʩK[>8_VXn|*76zHqq<n!\y.SNIյ2poq#O[Ymր_Wlgf//nb_;έ7o;O9]c\VWz []]wUJ rOru{ k  S*(^UtOEBQOQZqVKj⏊{c4T[m#'/ll{dkhlW߷da:qpqcu{;tkǸߛW]ﺟqqg,*>]7 |v k6rzp{w'g||6%t~_{9|?Ke|knZvl""Hh5\˶a^k('ҷ]r/g|t WA|6$du7/fӀU'(pYAs;!z:9N\Q>BkilCs7E |QƮhpRcW1vDz Ctv ?9Xmd*KJĤ`q| Jz ^Q6^?[)<<6w_JBAEY߹< bT[KKQr!]!rY0#7U0lL7'M&\oV DT|$gw$Y$FgVaP˺UatU}C]&_3w |COCD6M 4uo,X\%}3&ߍI DwBrta$IX''ьHT0\@S6Z{$<M+q|@='zi",%\.80[,B9""ϾaZФUo6+R䝴!fa?J*9x(ș/ANZSޗ !He8Rs.F9LD3!XmpU|,5s{`k|", yͿyKD^󓈼!SXT$g[) YDVcjd5w.=NG@}RTգDSjH >FM5 fT3\c@>+j(S KM5f:1՘ ~b`FTs4|뇋{@H|>Y[qo4vƒU,ɐq'?5_LȺ#$k K)ከ"0,᳥.Z {S[!FH'PR<9ME`]dU~:Ҋpʬ&?T,U`g)]nF,[\6gbA`9ebiT&_T̈_XWRyrNQԥU 6}ܗɹ+AĎLYIBr1$O3sF4Y|Bs-)&&}Ǧ #bgD䆼cw547 e]m<*5gDR!՝rI-*Ó\dWhc(a uHL!ǥ3u ӆ)6"6 uA:]E.Mz{ ŢnUtwrYޤtX;&1ro(6i<Ґ3@5.ȵ\^ BCn|z bP%4 cWrloչy.?[g!1gBs u:ʭoih AcgD0"@sHf:GiΤn{nHBhE40X=b̜݃RQ0>HgPǪbdG̃]hHh!ĆtpJgclh͊Yr)븤8D`mF-ʎ#tlbjTv-!SI\*ǺM&u@-: =AaG+ tF9%J=A?"ID2wQhH+!Zn헕m LHV~ǟxcXhUd[%™oPƙhܰ>Kk, 65@3Ï"fmhf53h63P $㑬 xstBWM y8%KׁL뾯NjBx H %v$a**q˜t64(,6e&r]%,$({f¡ xnU|H LVt;Q=ZF\<LIO yHIȢ*k DߟT4Z$C*?jthSZX`Oa. ֟} -a;VF?R. U;D\GWחj֏@7M31i?XxX.hEՐ1!y"?IRmiWG@Z.ZInQ")FJwZR%<֏Eeֿ' H]lhAsR\ x_zv͑Սk/o@M31W⿋lm\T^(̓R8;NGz5a\wiB?0G2{W}yLyt]2 x}g kq1Sɡ >b k*dx׍v3 "q D(bW34ac'3l8rIoXmS.Pw_ǟ^Lw%GeSe(ˎM`0j` i Ltd0MϡtA9nzt/L[`zzC:a:u(C6LL&DS2],}o~cq/'=]LCOWSݿc6k|Kk0YM54.Kd"G>Wߵ˗Xko?աܬ. fT0CrJe[Z"UK+{ZNZ'mEzE/*Kw﵇[{o؏?b?g78F:L I?:~xt48rlqlw9=:>0?\<5p Hߛ&N <żKmIEʂnd>=|=8Btvx˴nMlw⿆^Jl_kt.h4Ս.\n &G#~ď?GQɼ:[`f=Xڱ b%\ߪ< PJڍvK+}VZj`/@|: V &Q,WлLl3M,j%Kv{+W&­vȀ>VtNxdy""0F)0B~;F$paJqDR 'x<,j:N&WFSy6DRq  )|Fv;PDVmG2`o"rJCPh>Dd2}FێLTT#kӱaZyT6dUNfU]6 >Ai #z+Wdu{2.%% H>^}3Q#U\QLlTECw0Qڒ[*6R5!O?lCsS& Ց}!=}jWϏ\[]:Z TӒLr|}A AqS\ԾG/hWCAru.  <0矂 Ⱦz$2utr+oE(,} :EUaӉjPv t&|tR>5uT5kq8hR T@C4胭KuvL#f#:|+y5R)lwAɯejs٫+tzv83 h\hXDMck ni vA`/b.9PW[s9[jBxd/-5;> !g x(3wZfPհh>vs|+!,5)+edFD|6+=]}0Zvw }iyy4W| qAgz7WCPxD2\ʨh@B@Erno {)>>W'"Ca= bx*\aӜл<A$L/c2 eX|4e4@ӼZ}Dl0 (: gɚVжJÞ-w٨/qx x6 Vxʄ̀V廌~5WkPb niT ѷ50Pfj`@^;ԲPTfӠ PKʫ|H0SѸ vQKLwjj~ fO&Xub@|k%vwixi0X7 fk'#0p`Ζj0R2V4e bf/'S9eXX-/?1.q ZSI)Jq(Tv|z^|:q>rlDJþB؟% ~6 kl/'"&ڀS QPc(^9'%.bߤDw ^vRdRO\7kWuqw7d6BB>" l`C6LAL!J7r*vk=j<ymimU֏ U_OEW_ w?fH5cΙ̝sΝ{_403vh=UUO^\)ta8y㊥G_4F&I ;w]<2cuQQlYC$D8Q?Bnvᛷ?B_`ת|w`Pvž;q]򋓿j1"t+ul 5*>rRLj F!Qסl/!JfvV5}B",$ h)ق@ҟ%:­~q] anSnvqkITKU"cCV=C-$n#8e<ʵh?^JSV䰶eL|і:'n-%lAմ`T"ǦRhMp_F"u&k*u9*u N%̧Gl!(,Z7Oid JTX΍jMr6m@̥i6M# ) ex0jYoבyY.xT?jĭH qc[F m<CرBRHB|FF" H {۹UYA ;Y̎ͣFHƢnZiQ>I6KjZ&?--[T@<:>TgmZl1qpH| ;G`׃qNHqXihmh{s:"?wg Cw C䅴j?7\7-;H" HA`1^xNt)t/r}!{LB=E-Ѭ+fۉ-F{tbAQsmHRL^ܑ\Z JL؊Em7TMѮ5Pn@X+d{|L!ʘJ> .UP\#>|"cbfyIt=6wC}ڳv_ű ԧ}V;KFbږ^\,Oj4z]H@N#bA@'N c ݭ+P)n__mŏ2Mkx0`K+E객"l݈d(G$Cq o W}&Ao =򲕣缣T옭voT_j"b"ae&D^cdn t:?96SYǦ`92+Ԥ^d,KS2 5F CRjJKGZ=|̼2z%3Ɂ}R: <*kf\*k:f}*BElro mpz5-#dU= k c >W`/2 e%$/ C7-v\-o }lGr kwɬf JJFHVL5n)'oƌT7DqO|b 6z ]jq1p[co8:cjܱ'jZ ?J:BT \XyFA]hBa݇cCmw)= ciıB,I=X:~ˌI T1/R3@QVcJ3߳5 .#6folN\ر!`c΢ΣR߽ss8l !ϦOPE,|0jk|i֬:عԚ8\mgLJ%DjoR|8PKU8мc=)' s򟰸}=.#s{sGO)ӉU}9PGw*3]h⇶|jt$UprK>[cvǜ'r.sk^3li8/® 'C6h  .xȥP5`[ IE㤥b`BO/I1i=.֦[]ߛMMLEsذov{fv|9@Q"Ks#v^7٨Tj'^]6ޥD{ZcrYˈy#].RiNXd!Qc^&pTAɥSK[*'ָGTm j2=~W@)΍kv.n S 1bAW/_|⼣ !()1h4s=4^7bqx>6}xM(=exo^E![u(`~>l2G(ܖ`3[BEH6 s6TPlUV~LjFh($*G#^><ƐBq{/ߎ:A,cؠB DW/فxs]yX1zz밁3kT]ӠU%j1hf{ *vd -k { 2T nɿ6tiPo='F9 DƁAd.{o6 C^']w@pn RL~=OaS-I{hdWp0E .~{65Jg 8NO*dL)]i}*6ޅ7+@ {T8B{p mu$ްz&cFκ}լSÖ{;BFbmJ6w8y@4TմV`.oWx);{6YIK4{SVFױ?/hw#@&i P89(أ&kr4H|2z` C;V.o|bo*:kK =MA-Hf?? ӣu^D(뙽nm2+j y0Q8רQi-2^=@@d~I)k=|gcT0oIIuK"jV6"}QDk8zi.P,I0^as|~~YWRab[Hf@V~,$gէwFgaKa"c]m``@Aܑb]Nv9lv.Y8Qnn~#Jp!݉w&6@2[ 鯃meh тM. e a+l`hnh mW}W'8P䌞О51z َ f!^>vFBg|~ Q岾0 {#Tq&Mfy?d @}j|%pq.@XE(B*yGea OlSRA殷mܟl߻L"#$p`!y]a!$sxkJN]\] Opp| )? T jvVЎ+L ojyCzqV&b}04ӷLߚ{lo4J>JKep 5u\tmeS?']?~Nex?; KUqJ#!%t%fуW?M^iFƔy2 n tc].z!G0m3GSy+u_\w}M Am~RoӺB9%uz.4T/7i0wֱ* й: -u >$RȐYTi!GJG.,hla4|fo§qKD:?t:.@a<ɤXips/w'0z ~Cr *DG[`QnqEe]G'C`b>1\\c[kZT_kŔ(45xTVe F.D BcT9L^Acr,=\Jt2zoy\ #\OES z'Z0aTڑ竰+Ѷ_! `=Po%;vdpcZÅq0c/GWSaT؀uWFne5e$~=y?ȍ q%y(v/a7An5%&-pشZi7Ƥ՟ƴJZxϩ=i05}Yz77Noq$52-'5 L÷XsG/:VC )1y3.d,3"+q~G+8iU_I0-Gk`uvg`:S\}!؟J X}(q+K|5  *}2@;P]-؃Ky wH ¿ATuF vS?+Q /ݴQبx }U!I 8ͪ!cY+y*H_?'8l $T\qFp3Զ&h/ƥ6!xRB%,Yhxw(E;0/ĕbq#&W+_M J a3U0?/iJ&䆓cd d΃Zܐ2 J},?w `|:60q LmN) q ̤U&WPXo!7c|4TO a fO?2Ϧ?I@~r=Gl&c5t5A=1 /M8тW. 6)w+ɘ1z3v+1^ћH 4ӝQ_ċ XTl1ToD\aIx11lSؑK]/4W~~=ΨW?D V&UB@FX a#gG܉t[*Q 6̇Ah "A7ŋ?L3 26ECޚ`r˂+7.\'DCֱKj}$m q8UhE>Hܟ+eW;†pc?3 ȞtX3&y>|x=_96]iZS;J6ӓ ڎp@Wj86IK}q4$QwJM.z+ù:0 &LqIG!+D7_q҆?x؝_W `F%}~0O }[ -/ =Uogsux^w)t2;Pni( W82Nwߖ)Oʞh/ u4wawQse/ G D>ӄWt:ZFi@O`ӢfvMaK,֊na{>aVc= _39`5}|;vT]–8q$a/ˤ`1 :%cIV}9IBiJNsKkcV Bڼ: B@cBZM*T/ˮjF`8nm{q,Uͣg~$iW]si7y/-9[{1s6c1L;pg~ђ*G砍) C5zN Fjѻ GL(n:O~Pt&h>cRY;_)bˡ3uKjvY;dneÍ筗9A9ԯ#lzIvn>ʾ!o?Tt忋-@('P4 at@zW _l|/BG"a$ӿi$Lͼ% Ih-g,|{I< ynNՄ{Rیr Ny&qb)l>0N¶s=l/2U>-J¡ee}C1ccW?VyZ9Anjg=%b)ᯫ#U#{W[Ѽއ^Џpuf(h}5rTn])Z* )+4W `y&[o6տdTFe7:΢yD(a{Cbvha!dr?G^<⟢͍ f[hƳ^~dcC!Duyjڃ$z=I#.5M,\N7F"A~.t|kBxsk&;gsE݇oZ0d>EI孋{C͗FG/b)rv-9L%;t 횱-iD{{ŏcEC`r` )@jwv2{qbq>p> s&$0noTY/JI^hA-p]=l`=SWgaj~ߖ]e "_f[veu4T؞!9`RG uuN:tT.^}OI:#F+)4IͨͰ2xYۏ}Fp洎O<ـ*j Ooޮ XԬJV)Dq-Gl"*vVJU+2Dr E[mUXlk@/ɡ6 ڭAct|n'L)67$QTSb+N#&Is:^ lm+ǒF5rMj۲?? 3El {OYM{1saCk3UE .MO?]FKET<5؁[ٺ9C Pt|먖eCh.; ̆QJ̰s?LߤBPH 2մNru+[e!=J{rky 2~aei~e-=+ȼ8$T+9_'׮ mf#$,H ^㐾]To-waAޠsSY[;bIn] '@N2ɤ_GjdTג)"u-2}wv@P$H;AZ|>C\gjAQϏ:ߌTs^7ߠ))«᷐`ZeCM0"3ڃ [_.hlmVU{"UMMAd x,/騈LEJ'll>Da]u!ur]0z#) 1A oI{Jw|jEZ{Ri>hxm¿ --O V,#Y\RCz?/\DԒԣ a >fo}g>O®x;WLJ)4b)JrߒzwD"; ®a= zC^SW4ԒC/ÏdD]-eN.KHɃ\' ɓt1cxRVb,Ԩ7Z157^{}-Btc(ܪWB+l}K|5d۪5LJ]KZjݡ@3qpǂb3[K_%]" bJѷ v,lRZa$}=V p6@R_0Ǯ?3)^~{8hV%5T:j'x0 +䶦sE )V+ >7^ ?[h=|eMhFi80~Jexܔ4K K޿*B!caZac~ioALR7$( k@J6XIW˜EqP7@&3Xps[:O8Vf(}klֈv*]JC\ ѣ`Mw0>|ߋmv ^;o(kk̛y[ EiȒ0dqMr(V (Xfp"rY=}W밹;H'"BK\Ϩ1\lR 8u)Zзt^OК璒 ۯ+; m) S鈄H&%9/.՞fF={m_&bQ3IzxO,@᳷b؅7"B;^|'c/=d&b7^mY{VF B1'O}P5/  q/5bgmnRd ~OJS?|<*.`#w=QŁ{@2:*=7 )'1" i5d+|Pu/EϊSJgzn$f ~3$>~ | /)w!-Qh oVlCfA⿵\|wb[[ n)҃21_ZeR@.23+ԥ'"A[.=(k -{!u4wyiL%{G쑿ZO ?[Rcu ԤX&&*(\DѺ%^g| {YXLYn}ᶆX=Ynh^"ZgOj yFzϲ!ab"$IFZf7j˛/CCho341*\᱇ pW|ZÙA >iВ> .b\E-ؖ=W$xJ+JU. TMh·ѝP0--cIRM뵀R;(lzs^.CsL[B9)b*ȁ1078r4zz]6 /+\: g4[)CU+*KG0żLa0Z Ӌpk)N \E%o\^DPeۭ5ZFlpi 5C 1 HU~b, R #KJXD>C"w !!rBg"@&JfB>B$z R xqԳ7h{EEuoCEuHD.T5C,,@yҦ 8CEMbVEaϣIB A3';A.$iZ_4w8XB]FIH 4aJ t}=b bvnL'צ y;b^FNF* Jaچ٥l9oV'䥐b5`xg|?naѶp+?T𜁧~/'?<<amPj=kz] xLxJIԶC}Y%ς[4xow <MIxjƜ?:^n0c3#h6gǚͦ}7+t]e`se0;:]vc:ؒǠ+Gئ`]4N+)!S+Q' e}I`插R_ ez!SkyJr'ÄaFBW 1Dž)wdRq_ \ {H47:x>[KX|pQ=\?6 ƞj#-wF{HU'#1x ;CKl2qr2ϓ`?Q{L ^M-Yz<;G-A c.# /'qG.|"-KKz {h[ॆ= mG{4h(lW/N.5y.)g7F@WhD12:ND9~\W }ZH @(Jq?bۻ%T4B藱` 3\/Jc*Z0 ;!#hEYv.m0؆L qH/súk$|L#\2 B0pYӥxY8/y1vX^^&z-x#LL؎ɕFeulPNc kBH< ]j"!q/%I"&C!L?)n4G~'Y;l,$>oG,@(˽l)A tE=qX8z^9kՖZk#cc" &6tƐ^jT〩enm¾[5,[rγ EK[vrC6(Wӈy^wA-+^*^pY% a1U"58U2W0 *XO8h2:J/uѳL4wFipp5Z|^L*₼ַ@DA%ڞ5 5 K^̨(8q{)?K ;c:1=_ڬ9,t"XGǭUȷkttXXrT8c<2`WWI&@3גf@D>_SmIl }a“4qeE.&TügmͅwJ[L̾ij&eBmUf9yj=SAZSԪ Z{GG#NL΋q.:U!q;7۴fJnnE$&ʵoI!FjEI+6i>-g$Է:D ,8>~r؃|*2w2kI" MHV_Ld'_l>S;.!K"!ASM_ʇj%JWJIN-@;N^x)5C Ųv`GXdxc_s2f6<@Ȉϋ?6r^l'Dy-\ɺXfpM؂ v4GBHVB>/"xuA#!B>ŝݡ)g-y55zc0q$|Ug/>vBϧ2VTTj0){ T}ځfgZIc4ƨ2KgY*;ʨ`lN'5O,xhhzW4RiQ Y"(53ES%C:NNN jx,ePa~)[ZHQ4r<[F̖| hGQT|yB)?xuExF"<[^]^]+y>&L3DG& 3S2d]UpH8)A6ZfVK$kg1lh)2F[VbNS- emlvͶw֝Y3<&{&IMaΨiSZK1e`՝pyd${߼vC6#I%R nܠ aI{$U;O#e*,tXW$ u !vG-BMry;1^^WqA6vbz4d.ou[kbn['amvZT#o3F5S8ea#G,le ?as(uaKVH9 *; sHQԂ"XNyLt E|j;I;Er_0pSX \sib72={h-`=B|? ?)q%-齙+Ք-P[-]Q[R`2C644S5AN*$?AİZK+ w+W8h>$tm#_r(FhKpJ?Rۏ?i@a2]uUM7~tc7aR7fԵR+I!rq5GrЙuE llu`iE~tUavwU8 ;Kjfixa:ցSj=.zLEOϗ_T$# ~,y6M2MKX˲X1Y\#n@F6# Ev95jhQLo]3xLV; H Pڟ.lIC cEHA@'B[)0;}ji)]`YNlާDPZup|jvyئwB]FR\x)0[͡wPJq#غ/YG;+eĩpٝ(] BԮ&iZ5S VcF'8#웪u~{ǁq79W6& 8z HL[rP2}t)x;p~rݶ2^Xػ/#މR+~Po-SgYt;R4xd!ɋ g&}Læ{;wdGɡ`XO C^h>|]ƙ z'"^@_~)MK :%*".Ui"C0;)}8Z\Pߡc>>t4sxn, xS4P{hXm4KRk/0+;*e?Qrr!%vZ{vJLh:,},eBZ " mq7Uɉ?tɀ\CXOdH v\ |N-sH<Y,s'WPpp͑n;q 'Wc)kL] r9P. z&mϸ K? )bN叚O3Xv΀7ᶽA?Y|6D]lka1Ɉ`* eQzju9UZtm@Բ e.Dy!yڹ!TH &kE~Zȴ W>[Эʪ. Z iE`ώhY?LP` mBPt)cx͒%'J\v?{q y?&Ն\a␮齋)_=qLVen0# iBTQpX&?[T'F<4_4ArbVxǪ A7mbaFqVpϬJ@U($uF+q#Jmh܆ſWU|op@`[{Gu $BAn%xޮ[$}տHE62ٽGzcGaB?eǚ" wN}mY/_z}Lt# w,YE7j}b9u҃&(n#ܤs6ZT6\r~_ЪuaAM_J`+1 c|*߹h, {Dzt0&ֿG*+GAU`^hLdP{1G pm/{.D7ECoJ$BsFԂMŦ,x@})PH_5D4`ҽZŀ.+L-x$*JuHUT.-dL[-E lnceQkYPɺ]b&"M1n \N2"]5;_*~T̡99Qf-\>D094v7D.Pl. xBVbԂ/b7PnĬű'&$e$<~FBT qAs oWI=݀i~=zt )$tiiC)^J!?qɛZACDJTqjKL) 1I 觏ŀA*錕LSq|@TBoRLh#>f_زkF:lt-zR/ AN@!0ضQtZnY2t*|Y 1vi|U@c3(|rE+sMx]HѭR߉ʢіn)} 5&[F3kL䉽-ƻDE쿦{&ZȳK~\?%сdhO"C飤.fb}7]Moo -DHh 6};GrJpTh诎H-vcuV'U0l7=ǖc'  x.->&N,m#@G~Q.!֖aRr8_ Z"fA2BZ-jf 4xY u85;KZÏC 3    .V&pfs  ^ߒ 9Dx[ʋ@Vg&KpL+!8pJ;0cQ}l8)v,4T4̥cDB ު= EFM{VLLce)Xnl^E'v!8[.遭 4Rp<021 /וxj5-ܚ /\Q Mtr6sۦ|R7_Vx3<Ko!^T1<DD)wrA1+^:n̊a%t&mā7(P[0j֧҇Nuj"ɰ %P޼P 9`P +ԣGw%n"G(/4F17)!SJb76OH„T92 Mr-08| PMR:Ԑ[Ug[ i^:hN෻hI4e'h~O4D )'M8ĖrhjGC#-RR܅+%«5nvpiPEֹ9ۭ+QmgCjMP#ZrՒ .bbQrX;A "gb%\qq!]] Nd@5:YNKphm/6(! t`nrOz2砳. 7ی>ML3/!֚TJdi_Ȯw[x> I>gXD|O\@A\yC2D'0Q'-<"+!'agDu a*FTV0pq$^^(:w $ټǠޓRb?f(~] RoZ6 YFKܘGXR^vF<^_ᨦ^ʀy:0 X2g々 eHi2Բ˞a.]?MP~B2܁{k9yD]Pol E4#..{$/h07dteђmE޿WWxPؠQn3gQ dҀJΦ%533G "fr-]!;HL#ٻI=,vR#w@`Zߞ{8v۰/A0,]⇠K{# 3r^o;ݶ.aurZ\yz$taI*ULs%BP 2 ]T)#43 XZM0=NH8!gAM~y6z^/ ;ԁ^a6iwΎLYj1<{EX/\?xk E W0vc/{hU 7zqyyJӜro 7ćցFzUPT- Cc[',m5ۺGb90T|wUHh>.vu}ox::ą4;T ! .!>7g.qhWH17V ?z5jbT-^'7I<lP8F]*6LeTː&sBJkհj$t"ry*X-Lp]%}Y/vf.|>g}FI#X)p5z iC`CRk`o&TZoǺ6Bif\حGZ{ )"rW[1.>'Qݷ$*mC]S!x ?UƗShGedᕆbcAY ixy<CNeJTbfybL.;fbP1Jnx9ϙ2+1]^Rҵ[P4q`cԯ䯺АRk&7̥}b XңXэe=#1P y&Eks ~jX[/ [-? 7[ƫUPL[pl< >IyO?`:W^ Oդ?s^HjvFp|.s[]1_uW3]MJn+a◄9oi^I7wA㪠?ZPM-%j#e ҵx U}ZC82^-R -P T HfFcG=]0 CiqCzOo/pI_ A+!Z^PZ+ppHK2UcPrmNTon5}\X%]npHwϗ:|Yz6qގiX 2,bF S/Hz;1Q_֏lf9KO ,g^u.W'> Eœmt}"E'J *GD$!;Kf@wRk(q?tg M־qi<ہB۾Wm`5ؼҶq& TX݀}!Dv@rCNO#x=}t"Tdٛd n?tD?c>Y+h[i+pi;Na˱p:>factI=nI3{.OܙH#LERO‹<;b'sآ &^m{j_zʁ.EcI6̍vq T ѲCCY sX ^U}}=8ud;s}]G5!g8oDF^`xR2LWvh kOaƟr' vfa e<^ߔf/6w@c92nGܯ1NSkGdNi<()COr#1iVB,/#s-m{5JxaNm0ҽĵZqSuqL-yfX1%.Yc NMѐ!o)"V-mСИVSYTlq(gsYD_r,Öb'[{١`Z7 Yն ]gPZ O Ҋqx%2s& `t媐,NN"ۃa~aiߦwH<dCC券zy:⥚3:ak4j#FB$j{_qQtݍ#Z6n,jyJAws1 \2 A}*T/Omni*P&y=lVw*Rbr% ?Q~ѿfZ߾I&^iI&}FfLo*&<=y8.(e^>.Z4-Vci5=v.ڥ .*CErI&vQ0އ~s>~g `jjtJ#!NLuL=2^]c]4S(wk7ҍd}k1#f;tjf`Ch)d+'=kO.nQ[P[JKL!gw_~[@|}䪍lP+M]$Ky+'̳'4DiG47߃gz!;~uBV栏A {@ KUSK><֣E)߰<$ٯJ)] >+a4-z\,Ză+Gt6R2`,%d06<m߸)TӚQ$X4(cB ڵ鶀Y }HI@?*9;^^٠*PRN^ɗSo04vmwrE=tY}1ׅ&4 ̙5:ZvVީύQ>wgnGoY%a BQ+^Ry_TmQtAι 1IYkYJb} 0^Fn 2:}Ƣ͟(1_{DS=ԊL-۞E :s]  ;,(\X& 2cUjՃPK|:UFmgUۣ|5~͓, ezTJVDSt{؉7GK|YNhCf{Ib]I m?W尐?=ex޽AI +X{Z6H.*7*͜YaUwSƍ "P6jګ ͤ͸aBi}ó 43os+\Ԋ~_{u:FkNmj;raC NK\j#Ae9{N$?݀s㨃*I,>.dXxz,|=É|' ^N<㐣[nyj&WJhԦMΦ@;spDQBۅm_;Mi;va͋Ӿ~<poU1x[ Hc \=fhQBykFMG[f{Mu#qI?ȠFj-& !Ix$΅r^z]]F6~ܡ?1_cTBSuΞE5c5(HaO^7F⯯?E0^vM6SoCfmN_ɵg q:6…,1Y1Y)YQ s-:@~R L } 529~y?[E*w3u%Q+h324Ʒm ~#:ʱ~Հ@x̝'Y'L s"gڻelL \⁆ zy&8Mb wkM"ˡEǡr*|qD =o-*fkTmą#d/ՄfIa<5g9rt&[b9ip5((ASff=o .5wpw%2}6 6t펃o 芅wE]xk7٥"K4:_5+&F&0.RwFKP6B$F(Ɩdݸ0D<&b9bE_7OO΍UFwFǔR35AcDf|ά.0LB+U;FwAAJ.im"嘘aZ` 1733% u]?aAnOTƕH||>s^dFWگ H14;B@& m͈+ ! 5- S& ."L,ĕppdIW43t*4JF|pRFj;+V.y^`S&sřӭH6UDS &m}d"4k8*Fnhh1L~ %{x62;GwqZƇd:^1cr9w%|'#oLʾ8ldѵ8E>!b׷H'WI@~J @y} RPü JPew : ua 2Myh]X@Sua Mkݍ%h /z7V۶$l59·K^.gWIy80n \ܗhF[x$fmx-3Z>ĥPH?pkHQ9[$01`ΚPee@l#0`&\"~S, dƁuT%ٸ xG:p84+:84ϫ+@XᅩF亂$#$ϿoTrZIR%gɖi~RfS34 r+Km墇\@uq=F]LDܹK.J %'@VE)Dm%M004.m! WE%bQo ?U;G}V*rZ~ 4}_i [we5'o<~*4CDZʢ<\[\FX(ÊFi5pk,M,Я , e Oh )OuŸT*WԿTqh~xF9:s 4[ŏ/ƤOO?f:zMw#OL?"@ AdLE%5[@A$G,DޔO?Ð$WC3weT^9Wpx1Pp}<9Ne `Q䙹`J{Ӂ9 <" ģToٯ>`/&ђ8 "WHiC!Ǎh 5޼y9n~PU /&,ϣwװD?x}qjC&GSd(v&g9tUyfbbv3 #o PDZ%3HPbCh5JTwFFO&ޝ&Zbr ͔ ΃z۔Μy C LKBPV9ty pG=V | AMa"fd7q>@a4@xi TX[DEb&D] @˔̪A/Ӌ Xii8HHcg׼ۼg z7L h ψH`67hW* fr"CeرwL}:z"`1c2G~f M^?gHֱ#ZW 8ZXt{6eL (mVq-A; *LO퇱Mc[k`Ɔ81+" 7קm@+(y+_̢ 'FͬԘKX ZZER3@ ].+Rj 5^:е_ju_[_wkO]oY>o^z;%^a0n1z T $̎6{x_cxCx1C ̗2(CFcZwYqWԯ5\,G@ Qj\%7wrJʅz/ J'tTz!8vMC!R4|SB%A}$z6.xbo[@ q>0jD]j9*г G;&2yPƗxh ^;JS7I߸S~ɀKe٠h4]bt`uUOpN\0eU 4g#"Lk0b,׮Fyl|c

KΌo^Sfl3bW s2 Py L;šqc FD%}.Dz ?ZHzEϴT(W];ڣL1 4*is)_ܱ cl8AM(nek`Eu`y'=0AF5xx+&)4ziUjKZ9>fĵ4y8=Dbㄿ.BuJjT޼{&lZk}Ix)a*imo@2f(г>{6>Uh'([MJ̳+ԟPz]ti;7αtġq ? [f}w(?A 0C[ %/맣kLfןq3yR{mȭ޴hN>C4txBX]zdUj>M<㠷1SKĘu"%eJ{W;d Fy~IZW"]x?}Yh]YJ<0ۍJLi1kh Ь 7^2 B1m(L_*Gy*9I Knt}HjƄagkNDK֮[|"r6V,y1N]֝%\ ~ O7n ,'វ$ s$Bl6[ՒM x]yKtDMZyva++7̧x! XVw^L^Y2Pai:NjC0tZ-< e'$U{8ۯ,v_%@60 .̍']|FҶ  G_FpL1%"yks>i|kJY$UM۱<I8#(_>썥~2?BXXaCk w6 .yMorza./$* 8 |wk=jN3:6)?/RًCwk]lnQS*=4J/^RU}f ^ӯ\V afcXv)-F۹5*H"> ?ȳqo-҅Y3ůvg} cb a 2T pp!)+7x=3B4ս]7{$?mJ#w{c-DxUF}>;W3o} e4Vd*4z9LL?&JgϸO t ^S?*LZ=dz&viECWb2W^i[ 7ޅ(عznKZA13{$ GAC I/@΢f]>7Z(PH@tz韔.5Ph)(t_T݇dI+=_,J!]b<1x) Ƽq1`9e-.4֬E E ~#UWkÓf(4qH劍f}iO 3F>J3lPXOuf/)/FOux%ߤ깝:s'{Y˗)k|trUwj@}s3RґJP'@3<Fjbcj^tOEP"uUb+}MQLj:'ފ%g ,l& ο Cj7]i Ι6%zذGO}|{IP H mlL#o4W9{k?5I'nX/~*zUz)W-g:[r˷5|#<ȘnE7 F0[Ŀ.fw)Fodg[ f IJ\,s'u$_DZ7KQ]a}KB?PBH:@vZ@>Ҫ&>?>yy*ߪ*_Ube XXٲEӍ)o^ct&k,1&7WCO%'*MO4BIz4Ȅ{;q֪8zȼ*m|4v`'#ZHvVp>6hcA=:J%!OUAqnTs2s5˺ELmX,Ǚ{9F9iYV1킾 o_WSyz9wB>" hyBck8dZBzOo) n{z*njjI\j/kr e4J1y2`(\EOzܽx-ucv-O`SXZF 4v$PHXv ES}$P%nDzJ@+iEJ9AR+WFw wt4g1l G};6 ch,V^4,HyX3 <5' <Wu媓3J 5.`cM8aoG+nJ,!@}\|xҮ#<:,5]<É/Nt`H_NkyޖS;謳K-F! A9[GT4[cVXF*j[H P›EzÞ9Dz f2x?YAOO$@(")wcV zp wܥסk]X=JD#9>AV*fe FV;kcFU!nVoTLN0ƱM(b~ǁVR򧚐Սnu9ߥ:T/-y!f/Izr"yia_wOaFq ֣zT[Ӿ0GNQ5@-L|޲ X˰{!iǫ ?XwkbPxPڶvZn^> ?d6|u3;{(_ G]W$PCρ(Tn Y{06 D:Zt4Τ#ԄC2Gka:00$z y])f 剆_3vk yPVA { yisDu$|eaj>Q}c3%WɌ-FR` #B,?~g)C0Q`>Y+Nˉ_ƸL ~̸ L:Tpɤ㥁ίkKۊ1ݖ{?ӿдf3{Pr>.]Ìur$貥 -q?8ZMk]$ gf3!Vf7 ֒JB*RY#Z̻%^hFoh |yZl_.@=-i9O2E(GZ?~5gҼi* k~܂a,Xœh!;*/89 =n[Rjk'AbjEm5zN.8ivS^=GqH<Hs,v6nEa mKf%Ripb(Af CuXaRRaM\ԗ2gz0$X$HI`Cl<|S`*rKp~ N4j03)7*^Gp z-<^];7B.r32(Di%wbkߔRqW!C Ul{ŲbV^-\qj1d(u>`˭Ÿd.avfxz~. q uu29lbOSLI-|# Ih6Z\ufn΅-bR-S/UsaN < QD7z+(iڗHfn[!XBLR~֭_O>Z,J&< L C-Je|IW]#i]sI^VΊ_0['1E& Cka#2=Q#j3 +N;D:7@cUPQP}7vjCKFdFw0T HُI`;L<`4dosGG%YhZE zHy Pʼ ""ǙuW{V%PO ~ƈmykOsˠqoy=>u42o"r.pS7WBbޡ%ήBtgWi[ygEx~&a!GZe ]^`VORť)8TyOf2U5 =@]CI-ޞ/l(PP4 &n7ND)ߠg< Npg&olx((ylb`金IJgAb>m'J8ڴ#x*m ⏁bb ;N!w:}ݖ:{q[_D=7b_h؅떣uې绐q QʪY.LRt@.XѓhH%ݓc3:קST۾A[w!UV`F(R?\6Hfn gǎxM :5kB <6gP2V@k fgXYK)`Kg:\nޏ齔:ZKaEkVKZ\Frt5p7Z($AW(Gw"쥎ny@ZS9[h6hբe#SNp6Up'6TYšJdaL9Ce'HZB O1iPW /E'^afjnd5lyUFrZ* kjzP+$*fX/7"<|vqBKk~m؎܉Q(򔖣)X@C[|cs܁yhjx­0sqD/@w*LG%had)% rOOŽ(ɪYJ1)nY:~D\c I!7 -:fiqyP`:{"zs4JyqBea>A(M]߃o/s\1]P>ѕX>*y^) 81R*#7iu35?1ɷ`VvT' $^~ά.95+SsIS#0-.>-=|wWFPkYC[c>p#dRIJ MX$% B+Ҫj7Trut E$["3pf  @iai~%0dN0fCb'94V|!.LD Mre9.¤Qk`Y t`n>[~fKY&Vy}pm~~ |z`6%Ke?*Ggo44= ݏ=l&sh *8CG#){O ?s*R›VnЦt卐.Gۙ '`uV_x_.o0(*)gP%EOԔH67v*\|RcDw19!13~Oܴ 5J u28\JSpgW"5:0jkɌhHuIcjWBi "=~-%aW}ªݨQz4aŜ,@0=);Qv89JW0e9TWjHK\VWî.fQ-WP1XwJNm0C\@8ƕ%tܢF7woxY nT}箐E\\֚?, +A[WqfcW|=! ^?_}_*ܿM~?xzw~I+KNd]헼}KN-yQX5妯5{Q&HI\H;Vg gޑ6=?G?i>}^Tx'_& &o>󇢭eSmVpؙ-(0?F:Ko?Nߞ2B/mD 8Aj/۫!ΩֺYjaL*

1m$עZN(KW~|s%ƹzn!tdE戙}}>ei5򰥼 4PStgb^køFLr8טlT-kՕGdn]udz< 26~?Jȑr M˧ѹB2nd 70GLVe"mW_uby bg晴0ʸ? Z??MDȅ,>Qr>:3)uzv$H bk\44 hmq^7h1O_K:}= GqZh _ձ@/+ 4D#a:s04n X_z%kaw:X:faS~J)?xzNp* ۬mYߣGXx jҶf>E}]/~6Y(? A7{ p+B]2ʖ%tZuӽڞ5M!]?jN63~e/IxrԈ&w |nj &x米էsd7UQ>NpLVT ]+dF-ȩr&ljC˭v%G _JTi!O B+%.R&qm !$Q*Q{_/no/RE:M%>)R#4 o]O: ޻RIF>br ȥ@y-B8Vq_hrC@z" ն,d$>TUd{#=W];J_VaECtv@&üvb_[T-ri~.sۂSpk).5hK AL'jW+iu58ݨ&CɃ@(LPO*rA~\B&+X儬,I[YIaiFJ)dn"7 ɾ!nt xj:㬈=n¢Sh5!!r;:o4 SWT@gk8V#d5 6 GrLI±Iö8:u; ](z/Ѥ`~O'b&qёAzG0PU@i T +Pn{ 8@99) S/eR9qX@񣊖jk8ԬgJ ]۵@IJrN qq=w/nM:B3}9Xg9$8?N0gpn6[vt?ruN`N#+O;t)E.R!=)<y;Lfd,0ӴY5X[ 4;!2U}:϶|8{̕Q{5Tnzv4/F.m/6xg{:SF^5|6; ]&,*2>u6]?:NV~ sC?C(VWHYLė][)ɜK8t.wcG)0ՋgE<\<:BBmJ n 'n+;]C֐g4ٗ!@@ٻa7<"}_,{5|6:>0u~Vbs*ϖU#Qz#Yn96CG،*Lg_FK"t"z9^OA5ՎF%Wj|+H4?Ǣip4M]JzG-=*lZJpfR.i`14e͌^iQ>weTd4΀Ո 56UUI>um5ȫ?Bb|X۵7I.+sCޥzvÉV.Bn ]S!wpL}txrl]9\cdsl5.jcɱW&ɱ-K1[Hub^xTb%ԏ-rj; æAMd0T" bS!i-,[Xy\jo5+钺 rW.cC܊LV$\QV9Jq^!cDNq.z8NE3׮ThH8{LfyY 9`Z.^#3n pjS_w:GbO;LqV0+(Tj1 Tf6luxbL"2׫(^Ƣ0<!.gaN6{Ei=;AǢ]b6141w\R5/ƅ;y},Aɒ*=EQd E୓ d`|4e5aAP3QX\"gCy2kWh1 Befѵ,Btff)J՚n0`ȠClp[Qٞuk Amc.]VQ[EFx^┞y?YhĽ N\ Nit~,&oUE*+on}[7c;}vBΰ,"G_,`.╵epLMVl8mY&:g !(jȪ4\E!ͨ}}gE7 cKmRuTaēbLIEM=K?B> h>;pxTEFU$ ݾ~!bG'@p8I5@+cdnqm.|-,>C[GDpM*nZ_оVAѵ3Eijouu_OjQp,'㛊MX7>n[V[f. {Iu6dىx2H%[qldR*3 iQC{i?@o -^(o>0ZfˉŗC7=0~X~qbtM1?r%'bX{K;1"ɽ|bZ`H7r߰T3]n^O|j4Oi'5 CLK]ϷJX7ULNL7Ikr.љS.R"&`wJ_)BM'5K*-ď%m#7_$b/]xnH%ob .ĢH88W< "F!ԢNV\W\b螿Ԙ[l̡,Lo4Yn" e#Rb@@?R4VHo6G~_A\ʁ+ 9pJ/E/PP 솰^ 셰׫ba7µ-EkyO[b)7+^n^wÂ^p뻴U4`=mՓqG:&3 G֚|Rȸ0"[{*#RED:v_&D}t@;>pK*s* @B=:uj!BP=. e2!^b3F34sd-Qt@VK6)wy`Yaqx^9Z"#upɲ+Ax:қN] )SJeۉ1jEwazv }閹/-;}i!K i_Z2V;:yz,t۲y0yDNq]@EK4!pte}/ g]@* Pb薿x^/N{j:.C  )߽EY.N wopۚsa? +$\xӮy& CJd M?CvZ}>uGzQ?"1i&K4oӗP<#TWtXv@p)˯/ocmۻwfzfP;gVWMz)N?y@)> Q }* طTĒCƣi(,B\ᇡBnoכ` ۬׸bWul+x2wǻ,ɢGXv6L K50k:WyY؉Z&L=&R320~]Ry&O*vg3~qlJ3m{e3+x(Xܱs@@|~<h*5PUwl{FuW {꧂>qN.auuS9B|D; G/{ 6 A:lCQ`NЮnF@lt#'`KEF?yMe|d˴_znRN/EA*AeyF>ce>^ pD>|KVQ\I.o9ADTo4&A`"|.{& 8ȜP^"IY%Pe ! {7x *W> UTW2<ʻ0nI.T'Ei-Ğݔ~wH6hTA  VV)GYrn8C /77&Y=*}j%\->Eg0D}puz=v|ʹkL=oWrHApf50١adpӥEDZTsܯWJsA@}}}WuG}ݯ#Qhv<x'e _ dWf GuQJ 9铍i nʺ)@V'W25%L·(lс"1i RLʖ)`"οR6sH~i8גvC8(wb|'+="zQ/ģ2y4*2]CQF&c'%||WSmm3f*sv3~.; ,g>ڃ: }L^+.Oʊ$PcB|~N̸h7骮^JspkSK7~_@ll\icpOl& fhuwM֎[DkfI|do]\Tn@E۔>~hqcn…|;oN(p܁ _BЀXy+0x yyy֋M"o.;Yx,Ǽs,$o1y uPdvyV/YЧ nF9)h  `fl_kx JfG(Oѭ /( e{Adal[!K.еz[nl51xb'+(TB}ݟJ˷Cl }FذŎlqcLJR0%WlC#r xy5c{.n-}EF{3 SK|>x͹q:G@"@zW<ʼnt \ w0v?9p(mE)[z)$᱌_3O8ӠRsk9Vb2f~l+~6Ybj(Cϓ׶ 7P D gH2gel I y)q XqFaqv[JnƏ^LGyXֶGN{bmSWLDc(Ux ƖVe t!J+eQdX-u^R!,.-Q\Ν\txvd'u 0o Fm QA&݉.|=_+q!w#]v[Nvun:y硼p=VQyrGg}Zyf'X[1i& K(4wi Ċ>[ʖoy\i/:|05;Bմrg R֋;!ECzqA6!X=?YĤGzK^㐈:{O|"@kjQb/^D!S{DZ7[McY'B=aKE S{Xޮ`Yb<w>\T(0{uyĞ4 Cz(L?rvC7 nD Ls'2SO 5[(Rt=M>! n+Džz9[((|ڋŔ̟S 3 ̟](#-q8ў蔌x,bIMojA3XJs䵄ˍq+]lu9 !A ׎vbN; WwTnNƍیmzΙ{ML>\f9Uj:EԈH^M^7|I.Oo11=&8"*Kcby >CFl1/'{P̍\Cw`h}["oȧ7Z/kV[+`Wc 8Q9z>.E?l5.P=v{ \y$RA9MTGG).&Pg4ψ .%bzP HG dSW4Ƣh'AE|+S\0@ܩ Gw,x7{Kٞ.?GEcbqt2 3gƾ\ng ~H+/ KG{8M[ 4y=)r^O|f mq{Όsxڊ FNf+ZZIQTXiL&$d H*JEɄ]v%dy"-)QX+nB)ZPO='rpr>O W ج8=Ma#lԲmMF ӧK9EQܓDx(̰\1Pw<}2Q9"ymƲmHL2iZ$/B+bd}>)78[FSGŎ oS?[Fb B>)8&GttQZƃt=:Qj'k|CpvBwcǡ>gv̾$g'; r~B#Dg̽Ж-aHCeM hl:ž~Osɣu-7gDZxZg5;81m{:AQ71q!62Eëk8WjQ9YЊbGKiE\ +ߓB)1d7)q & pPA u,:4. B^NO6WVn<` ycfh5+g ˯')ވɳ VX7#7<-=dBM‰fV*xi[f݌,=ObB7UJ*R>nA, *uH+J:$.?CەcԵǡn2q춲 oyVϱTz"J/2TX.%Sތ)<6nL˷~ %{6f{^XDz*SKw-&tYP yn)OfWK}P\WhW~}0 +1PXvE`ZG[=t+T )TH||(uۨ<ǣiWbxB'4l<;'b0kg,G}Pd9M}gbp (1Ɠ yns+ L$~WqaF$Nj^k  ok. d[_+! A3=fȅ^=LQc }kcKyzP}h?!0wGG#;<ְZ_FBY,j;LX=0M͓6̦汨; /MQuBkf^ՁvEXm+J6W<] ]R!ܽWU-ZJ'--(웫U$ t|G`-Z/6"{*Dy7ſB:<,{߳0ЭVQތ'+6<*^8W7f |*ݖlmQ$&~ cK޺ |nl_ny\p~kSCoq?wjQ~^|f8, ,P^Y~K$3Q]e5KG]央+ ˳)7OclVY^waTUU<,tx}:S8;oVb&HktW{s k7U2Vs_zjw/Xw_]}Lt-ښ2]\!ʸqݶqFURR$\ˮB2U_HN cⱆ´lb+śgGHdmu~<370sv9Gͮ7s=wN]CcUpl}]wYj^+$=Nksis!CD]s#vzf,p*)aC7"%I#4dIԁ'MB$+VX-Q'ViQ2d؜%\W&٨2GRڜl$Z)wo^t4KAJR6A<m]uߣfQhmɕ?Ra]_CBLzeDoѵ:}k]Tʯ}I!! `+˳*ADb>ܣnr?hA:P]2b6.ђF7S mR*t0mϲPZsK-8 8ƵGl*Ud$fttgIgH-R bvq'&׶vthKl!Xc179U p5L K0[^G XąD4l.c <iL΂yKfGԿS?.InRF_lXg{FuB6is{^g'/뱨#X5KD6qa@$#uOQ(hTa tKTJ޹U0=۹t$wrgvOm^.I-U#kB)܉MWrno"e4!p_n$\^_0xZig|$׾:(KlL2[F~Y(jWTWU$N;{~}ݔRtSΙ9g'u3D38zUs>^/.t(ShyItPD2-ͩe 2ݖ)Wd-q+tN>/J$ [$6Y}M":j\C`j;15M$2qiNUD=GbөdwU>u[dĈ:=H>%ȏ<>3?곧n3M'=Avonmv>piIUB4W4maRef6y_ll9в2vKFb1'HnL~)74˷R^o]3{vНF{.h5.Wңz(hTm%+|y[Y=U Re)'E-޼ړ.mlzenXg̹_v5Azl#Q9s4r}xwh:|o Z>WUS>C\&-ٓ^z洕tT77|'Lgu7#ͩ^%]jUۄWm!uw w 2tmޑr4vOj]uRZXPmݙ4bpoֶyw[ܚ[sXq77cJrXaIHgV*sn;5 Nbd2:KE)40ݱY}'f-3N>iߋ6aq}vzoZִd_ְ0ƝV۵Wa>ǝqvƂ5k/+ _"z5U53\{ө];ϐ?/p\^MaW/vk q_8[[&?Vxzn_Z!=gUȌ+4R OWKkN~쯣}֯V[AxBn!Y! 0acs5CBz NGB/4aׄ]Ԝ=PO|Xɘ RYQ!A| :u*d6B.g=YBRD@ÌM13cz: i8I9qg97#M0 hdhg#5K+Zn/s 3؂[adfcdTne >< T^@Cz 2V4ðT}PJ>&ur3ENߊ#.~"}C2c^K$cGt#7*+drWj o p p  Y@=UyFꑙn#?Ǥ҉Ѓ^k#m:Hն31}䗨7r@/S{Z (-a{ &>p0L8A;$8΁ RXp; Jex>@OAn a{0 B,FXy肓L8·Ojnx`[>|;)l;.0Qh tIp:a9\;W(< ex ރ_0%]`OC` `!4C;8 Ά'p%`%<‹: ;iǰ%l;7p8̃T]XaV2N֓eP$R)Ȧl.[Ȗel+TQ";β|Uvn!e/[}e?_ ,ߐCPZ9LTi2]fL9\Y2[\#e̗9Jcd+ 89^)ߒFi4KTbi6I"itHJҒŒ e 'Ir,9ENt9CΔo2|WΒ|_z\9OΗ BH.KCX.e'r\!?˕BVr,ȭr.w/NK{^Wr< C򰬔GQ<& ʓ<-YyNU{yA /K2$yU^ yS$oY"ʰ'_]>c|"gO}mŒ1똱f]3άg7 ͗FfcSi61f ʌ7[m̗Ͷf;T fGbjv5_3fL2fm1 3s{]aWk:{/Mf{fow_;]n{}>lWG1}'Si}>g E/W5}þid߲ow_vؾgcV76ҩl>hL55GvtuM޽9sﳅ7E5JN_|.Ϲ[eZN^Kv*9$yu0I#eaXF=QfWͱ f$a&gg%[[KFrjŸ6DzZyXyX݌Хq$zjHJmvei ^'Rk[^ְ/2gak5 㚾FT@[$KƳ5=;:/-5J(Yl$K3kj[0a9sgi7`f9ޒk>&ofHdg#/v]{,X^o/0rnm>V}ƻgUlk,LN3'W7=i2ӽtR_R/cr/UwR_BUA`-2۽8Aו5hd.|,ҝsJG:ojޝ̖GMlL~Z"Dz5izH{o3+j]ԑ9*ULHz㼆)z[Skj̾o7s􆹳bd[^tDZ[.#l|;_Ԙ1nّ֔̈/f)St.ͦ4fJDlkΝN)>䢉Ӣ҂6Hkܛ|tz:-d;"]zX@ ԑHe^D;bTw4's%ޤfaֶ|`7'>A_J \M#$^hjyC: a< @dBg!h ޾e*j5%FwVѶ@xѢD%oz@O(xoߡ?uO(xCs4L‡D|)SoK nN% +ѶvtbDWb0d{R{#eİHbѪNs?Ig|[eef*tL[$[L[{jB?g zP#0$]rjr/IG%"K&ѲEK;cg&Cer*z4*E^hYLww4Û Lxsn$RfR:L'|ZYDEط7iv-nMqHгT' .UZ[0̦I/HIB"o>IKEG={|x͵LL|zQG:ԐvQ]};SRu:!ZP\EEU;e[ˎi-U|X#f\X_k{"LRZ.Y볣N"R:[Tu#c"HN"8f8^OmPhJ(a<0bS1X+?PZnRw"}4UW,? p-YAn]ĈRt5JzE4B@Cv'@ZCu·vqNZbV7ٸOQ0hCF6VV7##ZIYܩd}V RX\ fm 2p't6PIFU4>Tp*ѭLuէ*t'ڽHzQp-j.l#yKc>`, p C j3쵝\I)9J1&*ȝ 2B O%eB3eqܙSͩTߕοAZf-3'ڽHzAJY+-K5P9r6z%jvլ]=gg}ӕ9Җë *p͟iڣ~s}ٯV}|>}boZ~Q)2rKk9r=V*ܷ@QKY6~}*r3(RHPK?Lz;r=o@neT"݇K\9iRl:g 7ih 0³z^}ˠmpߖײ?kSZr@mPepʍp+;M~B`o` S3=<& d`ߑo8W!AZ{4SӃptO =W]},V+w a]PK{+GkFkFkFkFkFkFkFko/n X?7v˦SO _rϼ6h_tz^}`IUtZod|[~ϿOX?M}o1o5ƾIژ{u-+2@t]e޳ M)tl\ ]!kG Tn(2ކjf,?!f?9~m""0!A^ cgrr];]%ľ -Cܔ=>ӹ@%9Y)7^xrs &f _zCr}?pUr@nK%oW/ {TDz\\fe}g OjZA 㑕@JtM'o"7Ežܟ[iUj~ ӑ[bTX`߄@6 ȩ}9ؗN}W!|r/ ;`HYӌϏwA~9琻# Rb+ cKyRb gc(OF. AvZHpf ZG PF ^* "IroZ߷n3>INoVl3S|m`s~>۞ !zmA4+%1-o=*L` =O"^td2 #d @7?k=M%s$d` CP;$%{BtgGUNy -7,oqļyMvvk75}ޒdoww7՛MfxGx3YlH(howwE8xW2uKzީiޙޗssx E%ޥWyeYߩ]Ky7S먄-TTwۨvQwu)KWRNW]=wz꛿/~M}A]i\CRaSSGG2?,*'ӨGMz)9oORS7R򿤦K?Ez945+kjv7Ԝ3yhG>? [j!S>(8-w3U]GnVzߦVyRPoyQk멵u]o{?pnwmpmtm~znׇG޽=M^>>~!Au1u{{:=RﱨONyG}:-~N~A}=A'ލES%WԏeOog+޳hǯ5-7䭠VRcVQcVSyoQmQ󾣞ɻ>l|!h(/H5U*-MeRA=A TTtk 7OaPO^3cwIoY{~薪k1-tÛls^ٯ|mOR~]IO+(|ŧϽy߮9q^~&筵&~咓h{rMr1:jtbmhF;yZ$Srw6E_:|B/0xI6L p9?[f.wJʈA@Hy@mA@AѠA@v΁t@@ ޠLtt tTJԸg@iaYAGA?*=5 %( Zt tT-&j A@AcA@+c"us@~^,]$7hl)18I8kQ*=H&=s@qA2j"ȿ7k溊kF߃$aA0@w@g>ʯ(~g_?7[*xrI.hl~oE_hX^Eb~FǀCǢX{\WU~lnt],?j(Y(ʟU(X>ݱ"1%8 ?ڶj '.Yomjћo,j6o}{u3^Z~3%3u[=K\v1urںǮױ'~\7t3o'L>}гz ޫz\my\iǻZ}#[k;{̷s-tZQ֘=u>͟/_9׍?驳'~`If_7aڕ ŅOMLsg%7i}f+>m?/GTOm)ntQߴjӻ.ߧMǣ־oRzо 헌Yp]¾ۤm~F|^K]w^RΊ:u[ɒ7&|MϾ٢7Bl> X!f-öwІ+yȽ3+FWh0xŐ] ]u|yo =)H_jKm]n{oJpٵ_6xG<OOwK\OGY%_} kZKh>QKD_rAnMra[ź;|Z뜞䬇TnI=uJ&9vakM0o֊]6`[ú1Yi$gIκJs&9(MZg,4ɹ'5+1ɹg3tRu~ EnW6C+_\_s:4#G쿟s+h.h78MܠA@@s@]UqG  *:: z@D 4 44 T t;(Z25AAAcA@AAGAA@A@@ @-@mAσ2Au[pD~dOu=-%5)g!,u [g,qztAO f.-sVꘌ4I>hO?Cpf\zNҨ,{U趮eunjL7eWʇ9yN5bN(wڨvS2sS2'F.R2z ҉$ew/i?L^:/9nաS6Ң<=mi=֤u3c4D;%cLɰe8WV7T4u}*`m`RX-:ZgJABymRsL5"3#R!"Sw3i)veP{ߩd6:gTx2w1)e8Ymrd:kLf!׬vXmhC ɶ>OVL:JVm:[5}KSSG:W@uJ 2j\mg8'%=m֨Ќdmiz/#(y=m=-pc1^>ַ({rh _+dC}:ǰ#1vln`&H hN] cبIV&YU$N2ē]vcZ˘Fu~Xhhp`W3㗞/Z@V]KׇZg ."oϬDWhć&۞=`[qZ͉ ̖X3)(ǭylo=ALuZTlo҃mHwuž(]gɬG[3pʿce]уQ$d!- `e=e4m=ԉH3dڤKsANo 2ԣ#س 9*Xv"h}m:҆Rސi{O&ֳ]׮u 7swR'٥BPԧƹѸ*ѪS$[y{=:z}wV^ݻ+#B'<aWI3t<=ΦWQSi aiBf+sceZv-aKw%7O BU^TM:uZnSzX=-4Z5IӴQZ_BУG 1(1Y3b^0j׫Oi/6AMṢL3YedaOshg5>gpdnw{t.RaP$$ĺ%nwXKl,rb8T#/7ćR[tK.QN*_+>R[MԾ:o_9rǴKc~B +s^cpw|7{X"6 BiL*VK RM.JR+זqrcB~y|H~^TR14uOkZ6Tв-O+NjnH'hgd l&ixs۴jҠks^J//җtLd603{lS"+{UplnW}ƍ_BwaZX/ 'o *n8@ŋ⟐c-R+͐HoJ[itW*?-/EjyA.]O(_eu\_S+͕ hGITCJ_HmĞLuz\%ͫ^k][gt}V4*1FQ1AsLvQh,5Ejcb06t4zQ =^N7&&q;O|G܆?-,vsk^vScf0bLT $ɖo!!zg˹JEmuc<^}lf\ӏ^AOf 7KJ[@{EP5V :5M3t`f. wwgw;==ǽ½ν}M= Ul-v={bs|AVJ+>c^_o9m}^:e qOr8{ō=]Ng1ϸ'+bwXxiJZ,\X7lsr.SgY)غ ju* ֆk5zFC޿ Yݬkhm߱\id޶VLCwSLz O/‡%1+̻v@z%c!z~F7Et?z,W)SVk k3 "E $ͬpv!戭=rxT}sq$s`'b}vLkqG'Fo77ZXF;G3k_6}Negs3 KEs\ F 2l.#|e>-} _ux<BeaQ3sR{nRvK5ԚB΂8C[:u_g+z1pb_+G_goRUpIpej8) p*Ago"H|pVh kx3qF,K=Jwz>'erGR먏Ac@廀U/j 7&I~Y㴻14&Y/6.lzAW7Oʌcf2=_ؿ1c\c%qS[ |XGs"׆}ɍ^pqsr'8w=E5ߗѷ"CsBC/ #1D QY,CtF*H%m 8I&oWqkh?Fبk c=qLۡ' h=K~d֧veNV.8|\g6ͽ6;H0oeAV}&a\Q@^{ܿcx1UGzQԳ0 D畿aϾPo#JR)Ԫo,NW_M8#K?N7[YݡaR7MI;WFfA,y5a]*__FTB:Yd\,˅R"ଳU%0fj[+wFu [f5[hP&w}>Y,c)cdǀO7Unq׹[x w&o 2;7t^K ZO>)_Y OrQ樿1 M2]O]m} 7κ@_.QM&"-VHoK lk^yj ~S GdO? Vl6ғdGO,u@&Lse?>b O05fsedx⎰c#z?"/wt f%!s60Qf&52Q%f 'Uݵܝ݊N4!,IJ2UQ mC|H[ÍSM4R4יF=9 Q}-^r 퓊QFdS/Ii^mo~hVpkB_1|S=t½QD%7s7\eU] t\ibm\YcqzcBu^,D#;ժî0Ǟ\h?91AxjLWb26(s{s*pOSY@7yI0P@4PVr%bC|V .IKyᛤmNxo# bJ[1uMTUjGaBp6c>fQID/o9CٰWS[ͤ ks Tmhy&[^`E\{7[ A ĩ#IR'jS'T 9:ZvX+Nk>V6 ]ֹ9,^OBvCl\R>D? dm^Yc6lyJ2MfC F$[llLj< ~Ae- ߊf g67iۑd5!l9לi BXh.@ $ NBS dP`l؉q$؊Lann?EyFH'w{&bPA~\\\W^ݙvnCO8s xs+;s(>>Va5ٺئؖ, e;]=O f( dNgg/_ήdװ[ٝnCQֱ/.JRGօ7o$7@V31N`}'峰WJRȫ+S 򘊨~us׏iF;hTNԁCHsxMg~1Yӑ E 'WĖZ bzrח ? ׇ AU F/?)>IP0ޗ,a1^Ꮌs ;ZP<#Hpq-|8όNLBH^ٙ$TO!$3Ҟf_/KOvRsaKwB[7y"_+';B>TvvwN_#lV9O|\S !.E0^_xؐ~c26i\p^ǷM$Ί\(S;/"x3f熮o9|0477whw /_q^d%yOC9sy#/F_?UHʏL G(S#U4YMVr|ɴK9Loq#C傯^aK5Zo: ~n֧鎯 猐*aA0ѳra|\ԑgn_;Z<+(Փ9~yt;_ ^Y2̩Oli!}H=OH0> ُ;Zaua})ǕrTO.gsr|q9_Z)/ǕrTO.gsr|q90/q*+ _*[L0/X} Ekhݯ؂Bz7eL f7o8x(p}]a/ Z?Tbo7ɳ FXyEZN~[@y+Cn]`yY&/0{Q!WEae,d]dyϷCxƣ8=_w"k;HY|#l\4o߹#EF'6s?*`{o =;Tp|z>#wbJU?BA/gWAW`aϗhA|W!|f]_ o.n=iooF?Uv34xH{3~[ ]o?#s+TKo938n#~ RwhQIs8I?ɎaG**^?+?;\0{CQ$%?sLJ/ /1qQ ? g39 #4e*`O+Pbx?! bSCEJTX|T}"/az;0[e?*|%$|с*r*1]yv:gE[:ٱW ۞ՠŖwM|Zx|^r9EzQNi(R L#G\ (,K p8!a ;_ w2(8tWKe[GW[ >QYyC篟O)ya%@ǃ>Qax,yW"8_ |07"ғT|k*>LגH>vS38_48R?8? ? {H )>Sq0CkC$xJNWC~WF%6p}9/? l_HG8X/yJΌT|EQ&_K/+wdE1Yr|R9>+_?%ldGtd$wh oΉ3\ξe^<>xe/P~x*G6a H ;yd~de#Y)$V<<-8)$'0R>I) ?AahqqdRҗlloKbFʓy>ykGE3rW"Ad>OvE/RX{=;gG9 K!eMɗrZPd+1aPdvyǔK^4L>p(޳W'}?ou+'ot=N|E z<_ߪ>Vys #*w/ v<ܔ7|dc9й;A<>"/giP+QUֿRWr~: t@|%s_־/~9H(Щ~_+|fo.-_;#O瓧DqF~~)}SѠl_T 䠜4omsZۂw}OW;E[N}O<9{E^"tFG4sFӠ'lKd=^ t>53qUdxP'DӠ e",߽!w}\xE[_5Z>OHH?Yz$9 Sؾ^`Ho!/zRi=er]E<>L燳0/@^Dnxp^>q^G#OFby<=Y\:> ) 렿c)ާoǒ)8Qp>YEg^i<\\밼=F.'܀>t-jO[@P\6>mFLo[z>àtA4Kgmu-`jRAg`q?#\+Уaϩ_:_eS>~o_r}j_;6at#w |mg4~Ԇ= 't 8W_)YӠG_\Cr{X@jbWO:>пq*r;rEX)ݟZWD{NP%Z|m~KT_W8P_ŶVe*zPԓUn7O;? :U#OMQz寧h{*BEs޿+UbWXpU>b кz@Ο'|pJl¾*}h$MRAM*}+UT} h1ޛAOW-JhU@#o49_ȼ}ske!]tA2c;Ytj_˪{\d%+V-][^ko ޾lbiiI% 4K^u_#Dec)E7lg 1z5d~,`ͪ_0.S/#?H~P2 y:_Z;VB򋪈w%%`W8)TH栭#;1hC\j] +bexˏpV" ېCDRq Ͳz "ofB ġD\ dCAg'L6t2lF7ϢB q( b1}CngfkvSvjPBj-AA67RơOšzB!zCD֟2 Nm`P"m0x^ El633o)نNrAd\O6 h "ֻYE i;mh KbC[D֝?qmc=fC::Dި6QÆrhk#Z &= .y#uzABOˡ$l)ݗC1OT=gC[9 |B6^fٔe>ByPA4CJġ Rtġ O?qTQ vPAdwك Q: E|BGmC1h~MxWI̕:{zDޘ2gQ70>ePЧ602 F L U8 !|_!P ̡,I  f +(4țq18P (YI!rwr1K =c]6琛A#tBn9ao>O! 91JPHcPE:y TI^ݬpCkƄˍ|&yI.wP8_hUYQZawf)_%C߯%>FNYm%ee\2e4@cC,0O\==#Mc'яF'_V5w8׸ߎb#cW,V@40jVuZ'V^5LbZ/6լw Ea`߿NkRcCwUm=kj\#W=j'V׭~n@pFȾ1;gMj+HȨs˜3fk1OPPί$BHUg Axhe Ѥ#TixwƠN|CHBCwU̫LP Zom|ZSjХSa ͋oZz:ƂopA A f^A̐6_ZeAfZq0rIn?Jnտ ѧ7=cp:n]\T!;10H-h 18B7q]V+t}3r5gN=,}b c=9ئ&ohߌ&ޡ9֢|P:;/f/o4 cf,ʣ gA5ş (|c {XqoIc{, [g i+fnln@KB$%4>˦Y$8mLKqiDwɘ$>ߏ̝;{{~M 4 BP+̎߁NF0H82\qӾv#tw"uf!g  1ؗ ƐJ iq?TAZJ-o-bh~arH+ C|曳?}SwwT8O#KKSP;Zow-9Lyr#O4ۇ4/!QIb +*!:'z>d0MNv ɿc) OH$2EY?=VVʽ0g `*;ʲUĶ`繻ۀIDa{p\ >kis:j 弊?(ÎZuU-fn'uS oeZIy-v s0b4l X7 9 ǁ c8r Pe~cBw` Khf n̵)f Lo"˩ņ$qfWk<~ 7 }t +H:YMKh`#/LP9~[t3|FUL{PA2~q =@%6wf8_{ƻɁL\s)U,ϖ*P> j+@/D8[ j!P\Axn,l::܃h)W84u($0< j"g=V4 IH\C :ݬۡDǁ]0Cr6NyYơYյD:!L%S)} Fb01HW9A-_!V:sz *tlp^ L ]:0raƌT|bQiΩt&:]ܛ&p59=M?o h/ M42 ԇ= >0 $I&-^!W2?zH,K/oKScIjչQ3TDf˂ʲ=ޞ]V5 I5f`{ld\^=.G9FĨn*g,L[geO4\ec1M,Ԩ(ޙ b ӊm0d$1$z I"-h9#*Lg(մg^_15Jr}:Vtw'vU{Pk3U=ތZsF=x̟2gF.wO5L||I[) hZ |:)#L^x RiunǀqFdI {ebNRG G6B Y:PoIYV3VbhYL;~0itvV6*`ӻ|ƴ o՗{|6y/K7֊kôه9., JCݎ8}Ҟ c3+?\6Y-qLch&fm=;wWZ+05fL&qv>;n }_B-g݇I-c Ky-8~r Ҝ>'m17vB @/a6VbM9Pj0rqԲ{s(mV@Z!#;W` WXPI;zڡb` J`QQ"penyb,yҳgukNb>"_Y$Y/5QwSD4`&篼 ]p9ލO:-Dc :Q]r }c\X& VSa;Ӌ;x\fܐnMVlĮ;rvB7[#-\X#jTHI?2(T/nՆwbD \=F7?7[ˡpLmV/ CZAr(JoюP#ܠv/!#LR-hEGBe-tbV qʳ{bj 4݃).Hf'|PW$Aw79'\UIC)c@ё*t3o@υ#5'l ۀoG@X7ı )>P8D1> ܖzƺ'77[ûA FD #*T(&d'G9=Qڈ+w!X`˻~9CL&CaV6 q"Ia|idf溥J_ts.P+T7C*JݼOZzB쌴r'-v,   8,D|gf 7_Dwj0)P"3(Aw@{1L+F)Pa9`,_KȀhf0Y,ɥی>Մ:5y`{ -^!f/ ^z  %t^;9xej5FV8mI )f)\vc'ҼP: W"y`m6Ņz f~gBӟJGFgPQD_%fM#o) ,^>akEcWxzL4 NXFkfDr.yj܄T0掶 c+<,*$3Ei5`CHy@j)Fk*{i*6djf㷊sRV]!|uA0]|mzSFqʨ?)3߂b1ӾZZft[:&ȐXkʪ/Ϡ7}QOoΡx8gs Nֹ厭sQ?=GK'Эuu,گXO\9Y ܔ]w0Y0=w.uHwH?olܯҭ~n5}7Y8OHs8k0H K8$F VcnD Eqqq|o?z-ؠ_uum }iٴll d% cf ; pR(Z2cBWt,yY"Y^crd~b0#9ŜnWG3xr$,o%8<;bQ*1H]ns׈+ *k.r7 ϼqXEnapq\&F\ii + A{kߪ߮~g/ҿP}BߟҞNhW) 5OmLu0ԑR 7 G ?3vf:&ܭRZoPr'EfG4̇Ou>O=!E8b<}F6.UDE;XA%cр+"(X'h?\3\GAm9{rH>t e`hm`A3BX;-z;7<+~<{hTx5F"Sn>Z0F]OEWodmpOVsTR?p, oHm&B z<€3 ?.+ތxWՊ0K/ǪâU/j }x{Ya:epQ_SN& y6kѿ5#͇jG<|H 5D_5ui/a}Q'#'}BӶ>>P $O$#R(M]M_b] 8d}¨VM.8,X0Ԣ(>Pby.J4P~8OC,K,M^p Aß7#K`@->&OEi*9yEAОA?>>|rQZΉdˀ fo>Qdۨ a(>2D+ lYUb>[;1y DƘ3CK%c<7؝b}L}9u-SJb>!2 4$yy6#{]LfR}pV,R@__Ѥ˚}&!Y\3$&7ST> &KXzJbLs +Ĵo3z{!& m nCp.p.{M?^felg$$ .n3j<1&R.M%U*V+XDkeRkM@TDw2D"RK!ϊg-p)]9. JR>i~DTpz[pO8;˟CSP>7A<·~vWO )Hxn@a$1@2Vh" y؞E, G~i\+'B%cC)lUgH"Ra:iZY\~"9gz`UT8@K9t\ڛGiN~3"6PҝAB)[ƬƸs#̜wclW)]ۏIsA{d~/J`Dn Q:߃\oHB!Lzkf[GxŃ=1A?R@mI^p5aK,:nń-DL/GlyXѴ6D Ԛ8j4]fo_VgbY+ڃ>'a)ZWvx_s5gO9⍝@_=_ijRt;a(`3B R{&x0I"])j8{)mJe sTtul"ٙĮ%mPtH|2_QB혔-(']RU|"Y^˹^ 0'ؾ #Dǩq02Y$ eK#;Z4*s&V8|_t:y?Ţv5_0&N[*2Ml WΙ]Y*\5?׈NB:KZ9,.x%e](jW/oUPz-_Xsp%Qr!h~MAwuTa}g0 dHrE/y?ǽLuǸR3$R%kJzU7FW܎݀,ͦ24đ+VYe\ 7/8Ot]Q69?Vb<&gToPa! W|}!gyI)#ͩ3{Z#U/ 5ONQ*Ʌԙx/K'Fkd:9zm}5҇0fݍ9##fq̴oʹq`iqSwHﺄ\ {N]{SpC8w;׆"[ %.6^6LKYG}V\u}(WM~׿ni! k Y+s`\*G5]+@|TE q ZU32^6'/ x8/{ͧ>D$̽d$i4˙$\$8S y1UU!sRv9PS6/9oyVyyTTy/ ,͒Ҧ-ً< jN1^F׺L tJ%/41&FnDEFU:Uh \IVdNTOn}OKNLvqjB2bS͏ LLL,_T@*- O+c_^客E'--Tbڴ|sKXg-I8S6s&'z%}/P).U~2{xX! Qbn &8|l~c:+inQ* ہsM`w1M@n/pp C )pƁX\7Y s47nZմ+vU|GUWl*7hǸuCLYt:cx+ &Nl+p!ȕ2LJ|TVsS 󸴯;?i_cx,``~$ ^x`;OLA!\~HCJI8N}Aء.扔GhģxB=)x'L9aS >BO홧 X؏|0OWWR;E;|?eS oKrv=|n戴7La}Y|VS~<Yk<ƤE`,[ /.^[ҾgL l>3!=DG~BRu!,tNk@,hIq({ch4Af<%X w\ԈvD{nEq3bxMq6Z.]wt]rLg{L 3k/h{wȷ;M;:!SnVIzY\qƩPʡNGh1t ɥe`r.O=6Ϭ)Pl}Q+0N;4W.1*RO2 gzqm$nQL uRͫV4*+P>>!UQ-Ua ?L3(A]+_dG~tny2T<ʯ r$S>O2#.}JjƬ.& 1DX0Yj1)W-77Ru,m)o,( шhrGYqMߞQMvcעqAwym(ɶpX+M!%I8@!ĉ7e˖CIpdKȒNu݅Cl5^[Zzes6pNILɵnTf0I}{uH g~{{p~>Dt\auà˟~].KvDs)Fb1iM '4 :{CAJp(0y3 cN"76>mnmIXo۹Hdp3NNsp[R?Lؔ4g~{ ?oi"stׯ XpD8MDpdE epſ8-:ѥ_y)hGqA|RZ^hms"&;:\}}61oGYKiC2W?kq=JAG]u1!BRWf(]RW9>Az"cuY GؼU uQtkoKs{KHkZAX2a$Fcàղ~>u"^ /_\Qnvo+@I$CsI tTtliͅeHKXGGp]L_Ww-(!:{DK wwC(ܭ-П:'c~:i})o3N4s*%4O,[<B^ FM ߦ Ysl5'Au/}O׽g3?|_>i~:G3XG e|m|5},*Zȷ i ' vo&q+> ^gG՚f8 &qriAxa<BC 7@> ,HzV ]l)a@?P bxAh'O zbqC!ڙZS$>F{ʔ 6 (U@lD]wKD;VHCƂ? L02H9Tp"WfiH>:b!v9D M3We<J !0BtO=, GY`tNL'v EΌ? Ȓy4(ÕO\0E`{@%Py$<4g/FH߯B. C}:}.BOo>cQZە鉜yIr4VTL-Tn8x*YH/9Jї%|LQΕaamI(-?! 7C;eS@C]|n6']3TM(aquTxt1W'g5 ܆Jv"3  H-gyK / Opp rH3_V cR3/@Ek\tWD{, TČ'jbnH.+KzYnvfԓP,+=AչhJRUK'1CV<ǂpg*zq04M$RosMCŴZ7%Dci ?OeZra4pR*\̟pÐ+#O`|UL[ګV= փ\ a(Gw 9i q ٧0?:M|%-oIMʡ L9&U?RYcۆؘ,D9m e]K&)d 7(h 3VI,-E`JZ9)ʑY>x!9>2^ \(ڽ?V?meKleUİN6yB8Ι$adfF>yKteJ lLSbJ PZaY/Lߴiθ&ݨzzs.0T橬{R9Nb3}˵Az0@ˠ3,,=1ΎogY0t/2 .x~} ʏ)LN2c`pp 4! [#e'fqݠu._3{0D >=nR3%ew uuƝLk8A.~:LCˇ*6 ]?:ܲy}ɾR^URr7[hS FqJ d 5ֳՀ \:yGۤ"S%G^o! 2.Ɉ>ʂݗ0FC7N:mwk~QuH1} ߛRrl{@tUʬKeV٢* A7L&Uu4d+r`EV5؍5񜴈U[뢍uq ܉4F_yUx7Je]BI0lRę> jk:),ԓdm:,UpJ}Xp٦^b8:3m~fOCJY2C ?@=CR3nDC-N3p=G K8YM$#nl`lg{U.jT~aʒ;14{@'6bt*ж[{x{z(uߖ| n`G+C2֖{nS?34{$P* )7j)m U#kj}_tVU\ ف#tI.p[[ d5; bvިP2bv9XI] R}0蝹z!GZ{4k v9ldhIXˣ=ӑs1Z _{GX⏣+[{fL`\\qC&F[h۪ iAC:Vmg\ GId+(NN5'zS(K hGONX͹=*GF2[w'6cet"ė9rv]su6hjs 5.u*B d,C=V\9lZjgpE6i؟46 QEI+)ܒ/(yF%TK`Pb;R[TӡSv4K͞$ʜz` Ƕ2m]xՓYK} 3CG￯D,Є?0MB<8 OrFh?t1vm+.@t|E0S>|&.]/M k(MGp`% u=$uZĪʈT\{Uᨇa:*   >"-#j: 4˯jt rZCZ]E]FBlusXO27}ZϰUl5{V2lT*E H4?:Wes'n7!J"}/՚|D:㚯u63[sULoVmRQE4' J0$bG\z! vs&Kx‡@sWkVA}dȗ0|#[ZkA9-`_&k## QbE,6"&nfy<Ь3 m<\A$NS$HZ n.]}\H{ lֲU`\%R`žuZ- #x?.訅s5w}\";;w{7J<)"u{? p";O:YȣeǕ%m-Õ}XR.(4jf VQ2wWmiG;a]\PMG˗g qs fj-'RR+./tT X[TNpW_n.QREt٢C4(jߣ]>m}kȖL*=$yIJx7;:.;0TA7~L .5k\Vզcjǃ@QPi\Z PlG4YMqW*Jf5cJ'Wz+JU*W)7b^U?i ioQUmiqtH{ /9Ipuі-l6Y,HUҞ wǼ: l7 zCp /m@Fua}3jTB.;X=8r㋮X+L,EVE[}^ڐb ]559Z-+;.-f@v9cj`=6%jj)5 :.n)Sk< u}jR%TTmxLmªhGU#YO[62y iI d?BN]Ȍ?­BmCbǟOͷφ‚b3a3Q?'s,3Um[O5wL2?, 2aƅ-Ɛ[6]diOq`Tyh gq1aHQ<]ҶHEH)L'\K߳4eԩ3-(ׅ]_;=a43A}!,Vf/?J3ԑV=@ V(T"gLm:2U {g jG /jago:uz `$|Qߺpf"9OHL4ݬ˽&]f==w*ƾk0$'blh ⓡ'ܕu{A{&-3]403,PB ]Q'`=ǫ=5mv{T@$<9ǁLP;"W@7P!r !b 7Ha&%c`]8!Bx+?O2d _a 97f\]~$FJW/{QrQQ4 .34 r-zwI#RWvY+ʗDa3Bvf -J R% ˱Qrfӳ$W"smL4Y5Ϧ}9&OnY\\'WMYH!hXe@8!] Q=dǢAu :T .)m/@i1On"o=7Hw4Ga@pM:o [B|Jq"t9-5u\NT;dHqHs1d} t[LT(rC_ԋW`;Uoҽ#Tt"X8ʣi#44ߋB1Xls\Re H=8*4VRVc?ӬMQs+f겻7R=X%4Tl𶾇,F䯱4L{6q}J߹ǽj& ~ $&He8JP4=LGI:ܯ=ŋ7ltHea>l k46"ςR\Go7^LdH{ tsQ2 z-NJK A{ج]E]jiʠT# 541_eii͡U:mC۷n fonybs gwjr.kdA.n?+U:rZ}+۾ o |uK3\~e.VeXNij<ø[OmrYOJ\g F5}&b 0X[cz?)$Wga[Rr`+\qOm6=]նId((ΊHl߃FTcN!| ?ť1>ݬɮe:lgYq6=Zv|oIZ/!톶yPV ʟ o}oـVW( 92+/HHR[m izaxlh&åd0ꅆT]=*CZ^LOʚYYm#b9Ca©r+7jl>v=L'wDEիW¤B턭udEQؑP=vp}-D-sV q!UHtM1+ʘ<:i|svVg \\[\-<~D{Ƴ\eD|jt9v%3i3{9mg]9xtyoBg㐩iAuZ_[U@?Y>Bi42xa_2>bqf|~G¡oauAh <#g8n Ы$ L4 -m~=`vrNs}W#e 7څХ]Z Z Q_eIf?jj{-}ޗ)۽ퟤLTI=\tPcC7I> ڰ:ȾvLĹu/o%\n1).NX(n%ub?Dz h߷s]ndϠ23 _H18(H$Uu WJͰvF2F`6ƣ`O듌ϭm[:r=9j~HyJnnGg S]vy'xpE.7DF{5ڕ?ǹ3GQF)dvgtL.H^:q 汓֡4]j휃Vm=G֒<ON/<ȝp[et$}qTIoB"qvHnZviaUyx=1*Cߒ{߄e0ltpXZ͆jc&2>fHX()#5pM߇yzjA426| =vMHg&?x"\  5-!:f=:z/t fEGOqnKNnόYquWP-*N{ @lI^b8>qh7>L5%M*'wE؎{ԇ>=AxCAv1*g>ڐ[z^Ҭ?De䕶 6Æޮy9lr@'$cA˸:qkNШ9B"8 iüyW) mcxcos $(WcKδb{Wa{- -Xh$v+7 |<"?aw^3}d }.y3r\ݙ;qsL"\V ^Zɀ{8Ky&XP_@"sK|Z@nHUm(@fqz?d J,)ͮڋ0OC`F cH>t9kc'(Fa|?(n'ìʎ2eá^}ť!PJPEzȌMR.tRST4x t#:k1G\vITCLojY<&Bޑ:Ԏv J+ k83 숭nρ|_apXm82V5V;_znO3 &DM c3]^(ZJBS,C[t)1ѻ/s09Q<c-`$qsb[}9>M3ĪU}D+rg'_Є/͞p/Ʃ$V ԪD$8b`qaJVRBd-5Ʀt;-dY3#7,|Nb?`l_vmuB~ɧ$ Bs"T:A8%Mq+͙iϋ}13WMýt?i߱dً4X(հh= >8$l]CEM0\7gi `EKY1#mH o.@ ل+0aa5d;˷rrw(skՍ~jY~DBTnlU$v#F&!?JyHZ[E6qҚtʾEf{^ ٬BC}pJ~Poox[~#-2Al;"ău$#Y+@΢e+:kxDzY[K֕Iug%%N5Y)"l۲WLv:iX&_-ޛ_4v +O. r)RH!Ԁ/g:YMMCM8GI>bd%1ñ0[ 4-x'3⓿u+uY$N|ߨN^kOG%+<=9A$zÏ>Rk ZݪYoCMB]wբQ\ Nَ\猄iAHp Bq$8) Qd(_b .Ey<9w~ yLeEw`}i G}7ٷ1%bs4fṿ1^O$Z[am-Napeiq16}gw3V$ 4ύXiFj(NLg^᭿kg%֝ RQ%v<1s&#ipBx;p?,|InxkQ|[vfxnߍ fr֔yU*>@兙|_s3ǚP\UnXNik*Pcx9n Oknik> kZ; 9Y( izNn?xm·qGE}K6V,kpBQ0 ̀ Pr9!`dwB7A=:xUM_%bAyʍ_Ԍ sUGdUt$[׉ BzPEJFk1w z(Ij RnkM_{ʡ6i)+0G㹃KCTcXDEJ %Mɚ< \x S%(1S9clfCL(q g k \a;;ʕmnZ^[~r_%`*wC!>ҔP {xHCZ`R"}Hg(&"/@;W#,TG:֐vn%FG)ܭƃ$21?<p_.`'4%f O4pAc . .hӂYd&…*c0pϋ0ƚp5)_ pbpQ'⎉q@'J\XRAYXѣ(X}`E~ 70ڗ3T3$W,\HA@+tC:p@#X"}Ѵ ^vQ-YW7.aHxZiH@r߯CQO q/:8d/:4CPjήZ;;H-mT 1M&ލM?)y"@5fK 9'N;iB׵ɚPM[afZuty`N#. Lno٩ uq80!B R~9u}K5U;#~ĕ0. &۴ U"o+- j"w4Mf4!eMK *z#WGh& Uxg3@{m͉Ofp@rOmp1;ғ홃}؅ː눇?1Mb,fm]bU6Us(wtwq 't d-(W u(~>: ݃:#Vaֹ$)0: 9Tb7*cilE2 pB B6ƩdՂXQ7m'}IV(H t=i±># NHl&ʡ0<{5ݻJXA] !2UP 1ڞ|9SۖQQ=/ˮm0kΞ+d9pb61ta<'S᛿gWDAi8[{I obw{%s^Fg%w*Y܇ׯ9ћfk^E-{3wٵ.Fgbfvzȗ \Ap>IR}}W3m xK5ncj2hYe"MG B9|a}~@g|?]"= ?aS}c#j9D~W&289n:]J@."JDJes\9FI(1DTIb/:~2ΔU/5)!A >,k!ﭥ8#7 \i}Bj쁻QfbXB48 7沷4ny-٪2@Y^h1,D) :dؼezkN]1aC٢xz7!UT>'^9s*DI"p9,R" K |`V Rhe\&i)E6/7.JXdHMT '*SuYGc'zth瀰'X7O 1ՇRǡlq*_ueG)O]am)U_ PSS"$>Da(1G%/ULCA1yD^R:/m(oEWr@G3s0=! LN< 0u1 7]8bJZ/)9y]nCU*EX}[ @`'F>7W֓]m$H௓&iMݓ wIJ0"G+s?~ȄW׵pK6`2s֍c 0=\Ivf'mj49b(k EF^ &G hya €$c;sv[.'V|x4gk)5 nqdТ^֔yϡ iX$>zӏRq7C2Frclmc6W ÚTXS6(fa[ ڎJBDݡ?p5̞hj.4?zHD# xꨄc*2 8!̩?agRgHRRCWhv ``_$P?&ؕBmUºmGn#L)nN9grNFRVZf] 0YB!+,{`6Rܖ'q)sw/瓸.ɖ( b[D9v[n:q%x~jG{E7@*QV %yƚ}j^oG :w9Db;nRcz-Ks\ٹ<Ş=1^ P}z}˔)Yrnl9n`t|"n gM]i?חf%Yd MazWs丒sxi1#Qm"1_~ yޤr"쨏dZ:h+o!x{9!&H^ IIvGX^}vz}}k21弦]ͮ3h(ka9?!Jf QAIRajW;JD Uzv;ތd_aFSy*ҥxCߜW89*͜d) U]l''%:n;0O2mLC^ hd(Ϥn9-46y{(´cv~3leHF\2hY9s|NVNn^Ӓ#‘%I9YɵbCGp(8a`Kn[tYB(+6 _,B}+V!܂G 4^^cKUl@RB˩V~m{b5 o9 L/Se91"uf# bop5|?&m$nG1bfՈK۲rՂ! A_YT/r5OA1g/+LL.&%6e<5#vP|NN%G麂'Yq蒈\h xc WvE j17yU-v\ 1bmx ,FZB1&ORɧXZ4Iɫḩ#L(v?#T8Yk%gؠW[Ԗz\m_3}*cbjCh9-Ġcw%J /ύ NKV}鍫,=mYa9Ԡ4q1]w? SbnRHUX+kh<$!C%m.5}T,MlL^h$N*_4bY<-7]]&͚#ϊܹqb {_EMh6כ/l9--+jz#hݫsDDk_D"qs7 n/Q{,eA4"HDYldHyՒeEr"k 3'd')C*jW *t2+}];VQyVXq_-i) F>;"-1PC jtVu!hޡN1\|5k{V_j:TjL2K8>-uxODcJ$oXXѱy4֗jRKC4WH Ǹb胍.ۊ%'զohXB?xma;>X|lif 9nd|LDvpg,Koygm{-jQ%ӖWDDĶ7!lEѫҕru4Λr^!}!3L#YXL3Vf8 OT p Lo -h6Kz ̀FiP9P<4z+blca o3@/ tVn }+woCzT=*Ai3걮z(F`b¡PeA?[7YA9~cCjIF4CKTܢwA@wh )XOP!O3WKOGuh'C?C'TH^tӀ(^Co+XtiEy9-8duՀ^D7 -_ۥMiR~|xt Ib@@3l\86Mz; ƓRkvR&SKt$m$F܇&gB`DPtS=:8=ЎLW'޳XB_>K$nuYעU. uJ %)8#rK ]3X4*!_Ő<5׾Tw%a *T{*W6&{ě抷9h${*sv]⎎L+LNYf0K݆X!`.%p8f%o匽-Ha'4w:2"Tpd'xg{֦W~wUUًBD՗ `P}1Kb*"Xnt;b"^<(}OIfǸ;YMŻ- { $=X7;6q4 ^6ŪFWS|` -Gn@ XDdR#`I`u)şVLSDiZe52W^jAJXWZX*`>4\`,DEW,@~͑D9 rV)1u(tDpc@r( tp^ k2k~?±N(;Y @Hz|QP >@J([Uɤ 2׆3OiȖ?*5*B䟈"RЃzrA5W3\"AA!DiGPc[39˒:ؚ\8H&4Uup}ZCM&[J/{;TnC ;V !)B,5S4 Ze`]NODWhasx{[ O*nZ>DR7+^l{ˆ ٩OuJV-o-ɛt.ZԻpŕˆSt^N8t%N^t~ #ڲT:E,΀+r|hgu'US`8C]o't~~i|jiOCi8 j\}4 L7,aax2^s 5=q:*(3` Op{LjgٸpX?4ϝ?)CYu#agGtUx9 qGE0"Ak4Ib1~Β=& c\ZCa,ʾ.LB8bw2] %R6$8B(EiYl@ E06wbÕhZeF7;)u7!^Ub'cu  5/xrcC,1B"g; vb;RĢ8}W+hQbUQk\-h{gb߱xCl-.˜P"YN} IB˒هP >Pͣ=4o5S_W,9Qd .r:QA Pc< LW`Ea-+ySF ޟAҽ ݡG[ ,8ide!%*.B,{ql$413y0uɫk4+ E񒭴 Jh<\q;i =J$͟AXYASZ&E'@ao\NOѱZ4i:wp6I]QsVRC ]VpB@ ̣!f"r^dq5%Վ׹#,C=ǝ# w qEe)b9gƃ()$S,ʩ{9kKT adDMմW}xzH0kĽ׉7rD7P[lKzP vb +F_Ga͈"vϮ Lctp H M;11gW ZW89.[ҭ-c : (X4{27nX'! 5^VQK:vTiZ p= Z]|q4% s`O|}L ̀ ]g@l){p8\&GXm1J97!Zt~]ڞ};. ]!R)^!ojo@Y.ZHr/Ö;.5cd2'n^Mc XAm]a u~u]@Y9pNKzE޴:v?҉ i~q#0/Һƒi[5 |ρ ]B CC;+;F}o3c.@Xi =k K-C!O1‹gty'U!@'DϮ Af:rסruIB)*>Þu$suĊL #woYZT&VJRtHN6{ʎ+Xq< gf"np~;B9q<=̢#uD9Kx9 mQ]H@1K\G깾=l٩r.r-u&f*]l'%F [Yuȗ:LJx@>D8'dBuxzotYŏn < +uܵgA)rRfr4Ὗ Uj>SueϏ'Bd)8z8a~mOgCbyė˱} χPbWRYfT ߆Ad.GylLF/b rs,?eb\` mWBRJWWf@HԲܡs K+ѾQz5d ms  w !crYq"6&W u0~vce2Hz060ӹ-VKKSuh.O^0%8=jzjD[9+k?FJX2B7s] ElE1OPE RC@ Eƨ.tjO{rY 6 3DCy2K#< fM;3d)lUĭ B(LC7$i2u ކ"=3l#ĻЂ*VM57C`|l2iNAh mKu6# /q/-Iɫy]ZF [^eׁChk ECv(LUz%cSK?I)Qe(=ōƳpAZB8 >#!|e@;5}%i|eflT#?77R80:ZKQpZؕØb=9p l< MĮe ']$x' `ywH7' n8‘ƭ6}QmS@҈b'o!Ѐ}actpg.T`:8~W<s@d5yXLqYA>pO_Zw50;Fx|=dW= Lȑ֦EV akߵ؝+iM&A"HGM"mSM6Qd%%)4WH@l"R&< ]Mϑa.Oftd[,2̻[N8z:yam;,+#^bp䎴&DG쿓{NJgJxH8;#HO?_9mhu k5]ϩa~VK+uJoX%-@Zx^uy*c@R*YkquE@ b] n Dyj <̌e4UY]ds,W\(5Qap{ `T)ٔ|wI m?q EAU?'#ZĶnQ ɹ7,v"͇ExU@L؁'ev: IGYk:T<xwY>0MwVׅ\rTpj ]vxQ++Ե 'z,'aOahLgf0pdc_w/tk~0*θ%حz 6A%"rs HA_V z0f3ϛO擝YSӮgpG *\qZT1ACbg_YU;1qVȆQm~h~a:7&">ೄUBJ;%S;ד鶆]Q+ل Do|pfgp3=.\A3ba@BE֬iv5;vm-u=ρx5w8->bGIC36nYECZ<*sV8Z+=ddU5iW dB )JYob(5vt2Jݛ0qjx >J ^jծy]A&ldF'(Kx;/)i 2w&{zf1OK=e^JXO9_B^)e|Ip|ۺӔęeȈ{ ԧ x[s0$"EصFv\/b"+Jgv^Hd1U') OQ۝xS[G[Cj!Jn\ 'Zq\E'x"k{:V@)RS2? <搢mCކO:89023wjap S4w N9&D6%79s?T'uY_7 hV:AjԂ%7R_C3 fܼABӬ^A)6}Z[.<O˜qXeW6U4=OhPSZuyMlhq<k{ůP$BG&lX#*k+*B9J.Po JB-omD`ebV}Z9x%gRv]p0D)o 8%8ظ:-6!=<*;;ʽ+h%(+ F%lʧ2:cc +MJI]23|XEt!;v+Jp׼XCEuh"q8 O&ngSEj, Feԡ?j׮ZkYGzwkذSzb-~cxcb| v-taxԵ%F/9)rǴ'5u2/꘼_ -ZqUZy)SHvK]qdل,(\ G Dfg{Cm!8$〈~03+K= %:H7S)tέYg-$We[pb@ ejD/18l΋ϒ E898|5 DLD@@_DsmU'H.Rn ut<:+Qi&Jac`2L<_Xg3CnjQ Y%C yhnn޽h<}b=/9ϲnޜ~{nuOM[ -V\oA&w4? D2gg.E#" - +hYRT']v"D\eHe H:}.u-J "eDRcP`n k±Nc6]BQڵ hErH+fWK$[lSʂ-{ pn5f.C}~ʌ@gk-Udj}K%0NyABgכl Q?Y``@D> !L|-`i{K~ByAk;`iN~ 9npVaW:n$fH<9jC'Ne^P"h]ٱV`az&1ɵe %_WZ `4y =w*KZIٝf`U`W,P6'@e«Y_L8۰=Gf=Z(z7g 7 1)NXDҸ|iG*M/gC|k}3V%B'<> <,gkd3LSQXɠoP7vjL 7AQ%||nFkTILw$vrT TݎةJ,sȥXr@swb1x7/J\T_ʯ񺘄!di&Dt::( lٮ#еj n[hay ѥtU- g^UV馤k!CӊFptڭW{|9\.Y0Ҡ<'[Ou86 CwFQ< dePku_c ` XUqEpnXHK?f~wUԧZӔq}DrO0\e3GIODJkǚ$#Hxy3Hp\D$҃-w3 tD DRR4-EґTR7ہDyanw'? ' :$ T%bQsW1D {TM{KXC 67IRpTǜY)ȌOB!>m̠uȴB+` LVku_˹xLw$d,J@q9>x>2.ul~iS_[b6߀,rO֪djH_vqS+"ybyЭYU7U1b*i]<اզ~~ g{P79t}{O)ޤbX7ܔ=O>Z߮wFw%o%N1zﶡkxt[]M J2YV°_%,rƎ D&h=ŵ=j5HWShLohK,ttʟQBN^(P 6U2 aA#.xwqF+̕VNv}糧l=EwO,렻v)|~];[wz%Byan^9~Dy;!RxBA<*%?~J]K!aO B>K}!vZ%K+?A,+j/|xZC=r\CCA nl#Ah9Z*Eq*wbcRB  I v$g["y!I⧷ZmBYe@ ԇ1iv߫(@_Ay!MlI'mwZh\2ؿRsԘ\Jg7d~GӔo~) ڠ˻CkNvb;.Z&S .dp=Ɓf.5b`z}[UF[Ùa2^"ݘ?mfNN:K灌 jȎ%8|;llS+xi9 ,kꍌokEW^pmzF/Ë{ܒ˴4TRSa1"Ρ |f-Ez_G*U9L]z> CN" (C@z>yڧŚ$Evȧg47F[km۲5C Mi% |֦8ֆN>\܇V IE*v"V{e"~=<,pƗ/b-؋p5}-&G5L Iy9UQ6Ei^hR[jꤊ" ,/.l4{7kR}ܘ\1=F߸ jsQKl1x "p8}9\W`L?c44/*wJkH?A=6RҋYTs7h'f uUI1wjxqىm>zǐs*7A/VꍾlO*ևی iܡ]G "Go6T\{sEK_$E 6ZB0F"a?rG} Gkɲ+̎O5a}b3nEq7>.~)$AFXEko2VZTim+ S㻿0[y]UMnEWq0VW-/昼=UM UqD|NC@l!&dʮFzl(}]+*7.xl|&dQhmzT+wӼK+ zJR: LlB-⿚EKKժPzo# f9jE^yHE7$VzW>%Ap{bDJ7OHPJ?LRz0)0Ȕ^ZET q'mC&1V4hJbʃB ohNs7\Uߠ Sޣ8Ǎ%q }1HPY$AUk5A7AwտѬ=89…$55-/bAd&{)U!*ѩ.uU&R|A]V77y76͆lA9զVwnIM-FҌmSuKg ,˧}rIY-GLYk(ܔhdb ͤh6T,9t8,ąpXbo;ô99m3Rgdqp,5}! 6$r3KMGJ]L b+BW+ӝF|t"#jĥp+ܗCa)J.AR8j1U蠐{q7KBQ%;;7e <7w<+YyaOpYHtm3E0ܸs j l2,nnEATwWmWlc [J-A$hӾvۦubUb 9?@}0;3ι{=LBd/|KP[Gv 蠗Er^rKʧ۩Ԗ>}00՟O^8Ԓ>]>tHTg/s/=m^вb\{V[iYG {ȫ$pCG0Vxu"?iF8ewOAÀaE[<ω)f1;̜o/NêLC\| Hh ES"#ZRw7,")YSc7@e0qo}N9? |8b9'o@$(%: C|OM9^On|5vQ$Һfl?cayIiNԝW!@TqyWG*N^~wCRA{Hƣ8'O6n}~]Ij0+؁cQڌrWhb:̼gx9.CgN2Qi ~Ȅ3gzR-B99`I[e_5 TΤ.BTO5Gf;IsɁIͮON>F,2Wm?CYp|avVU3a羪BYUmsB~Ε=SN4K]H+ʵv ^n2+Pbשx (^P.9{S>##ɟ L 72?p{P?bsF~w2nV~ZYnA(GR^zK|ψUjBY1ṅizo4nc5>z>;O(}SG)w:e?OtJ" l-IWfp.5#Zmm݌?|A"$YTC'ʎR*ZRePe8;%僭]Y+<Eipplt&[ݧ2IQC_ Mz;[L7ZIVvTnu1W /l#2,N8% bt5+p/boԾ| N_C!f}Yln@XALksDG5cwzbCP@{yʦ@F8+\q/m!YJ*ZժJf{ǣfٍaSGAVm?MU"<#[vqկ8"q2د$ Emrtد!p1u-J]P}1Ac뮶Rm7lħdU[`{!ރÁj( #j6lb:\M>y ˋ|~G#FDŽ)(WpxG.!uL&kcڒᏲxLaxN*$-exK ܝ>7&U#(* EkF~ pjǚC}|im^{uT=_hd==zӉ2o®/TLLZ/ rdudDypIӒo6}܆p0{?rv+Qm\qM%l-bZz] j=jb9C`& (KѸB^{41IY<^<I+yy.坺BKo'CϣKCK ?Ȝ$޵i]* ϟAua+ml::SJ#܃N,aP]aE|5y^*E= :3_qpڽ 7{+U] 컊ý oO, 5V_e: @J`prg?iZ}MD//Ú? o\no:zjQWY1Eu4r խ>NrfC9qV[T+G怿UV|mœ% 7PMIҰ*w֢(Gxj ydf^ʸT?e*˵ /N6|h8' (Jf1A>g焯c> Q ^TɃ/es)fah{J;A B#nJ:ɠee MFRЯXȷa:ɞө]8-c1WrNP t/!4/ xMA&hunQ2PCqk$"0y}_r0 W ݰIOn!giʁ`T򅷩u&+J[1L]j)(cྂYUCas5G C|Q%ވiw8Bcx;%5 @W$+L Ip<5߬6r DXOk;ڟl3Z'9A07H1(Yl66@l z8O3Ir/XNAZ~ lx) k3ǢTb%|xXt<#X3$ou&N =ANkO7e` ܣǁޜڳ% IyҵƄPZ<^"%K ~_"ҍLDp3)݉_^PG2e_MIHWezuuPgj˴?y Tо& tR 喝 `JW./w"aZ %'8}?ղoh Mj&t ~^;_Ys/ڜ:jgEpeVOͲ Gk*RԈaw0;>0"ݕ)h7.0Q V6~:b h33O%=ppHA*i=jy$m(0w#{2h6o&UV٫! 7پ:mxjSbJGLyu|3Q,&IoΏ<.]auƻگ!"fO>1=F@:Mp\Xőg}%+fzT,Eå諢g_KHn;wM [K%][yIĦ&~HRIa:s^(6JuD78hs4\F"sYֹ@hJYDf`n38 ݓ4fya#b5b2"B̵1_ So9 OB  \u\a]+8u2DԦb⦤+1Cʢ6*F2{~2+~5)k_&WkFjFS@W&%?J^K şVSoj L yI⹚HβPZ̔5.B2 ?i1e'<%jlY4Z=Z']2|7!-g pPGƌ [h l/k?m\G 0U3J_K+q ft݈>uXsV&%j$!i!}%J?CM.Xu &E|C"ʐr׋ǃoS|CTNٖ)F X%<dzƭ<9bOiUZz{0졧z!Ԫ6T{x;hB\d,fffGH#9bJ*S+#8~ Y„$F~`vۯX-i nKllA`MT+'QtrIkc3Ti-3qԊjcztKzHpkú*JH*+GO1(1UrX?RD0˙G8).,cef{m jS{pGt4 1؇˝ ]>baA+Wղc<Ls,3?>nb&()rDm>7;:,8I\վZ+ t2E1"5;(vI7u!;zY_lX`\ û6`7nEjWH!CEu*Q| 7QXs&C$Cf M0ۑU=V]iQ׷m Zmh;3SG#z7i? '.gvbl4/8 I* (ؖ(e&'_DIN=D.D74 p9ST'2jߝbf\NWIUO5V}JnD)hꨴcWqY;.eWX(J+/~$Qa:"vIT90\A)?ndI^{k1yH1@t "D;8 ̾Zq?[Ѧz-o/1$u\ A oH :*e w ;`s[2$s1#ʴ 5̝!/ ew$/ڭ^ϠL[E eS6@ eEi٫m#BwcQp7"(<-*-E(I +CqŷN:4Oj{8:L??qyLsG?_!: HHxTxbsH.b8?S?f2-X1W#t>1}1m,LW0fPˁ)B.F`( J\7n+_8fUeBOZ1"n2(Fp$4pF#SHX] Ok\B,t:=H9$V@ EZCNI pGA@+pB=K3RɸR3dHUqt^y2؇.V[FנQdY{Ob=<qU[B VFAC!Kqz=KːTjEeDdqk4Y|} @AR\B5_.K#^Kú֫~?IJ`J;-)]9@<+)f[rAT1%4 1G;S{cC4׿ LW Q@hPm)7O7z+YȾPk<5Aik[?G 5uKhD# u]i- Oc _(t( dzEh~EhlEtG2u_jLXNRl" i6u26ZRsC+EedՖSjwlVGb}0WtTZA,qU85C U<"#;Ϣj_ ̢BJKd~t%Rл{Wq+9{ENE^df{,쟃,D~40#{3tRDiIy[y8GƒlY;Xއٱc^4cdΝGFI&is:>hp-:<5aҞxY1 8R =ǡy9B%[#zJ3u/ziP:2sqp#kc8:^rq.1|Ẉ$\+(Tăt9J+3WЅލR5GIR=ŋQZBa3F+RJ T|!ǕXm \4Qr^R[Vfb!hLn Qzr}}mI(P$& *m_P̰%p1.rS&m%g*9$1Fd/1B**n:x,C"eNg!{5b7苵ul撈C_ zK#4CGQ.B\i~锞ܘ蚿 =LFhA- Y87p&ڠ*#a' ;̓A3"io#=?t2r|P$ (REh֡GI> qKR{.]9.kZg*j'pg.{aD=2y I먫KD:l ,e(Ju[%آ+E&H| tJuRV=JuElghjBYT( S!TLn!T[(|sEYkp&μ!xQ(P+I:d-݁Qbe)IzPhNAOJIhXH|' i㡛L1z~&H a*L TLgJ2cJZ+CcɦǗPGR>Voj<2zGc6.Ou9]7"t躂/aKj{(.ltʰdɃN~9jፌyd %KՑ p^y %ڝz #%q6% Wa|޲3< lWU-민@7Cm Ysp},,\'"\Wfk“ɢDQ$i]A|{‚. ntװGX5_7unfn&1<9nǞC-$U`O8&rD!y!yi}OYάW:C V_gwJ#3XBօ3wGګ;i"tu@N̊Ϙ1-VnHLOFB'(#t~IADbotM#H DG쮾_-<@ $g%_3S? |Aj]-b{~yD-VZ5'v8bARrC۶T`Rol O]ZީUzk6)EijR3E}x?6daI)60%bdo䅅"&㚓ũ,#GR6<[oMcP,@R(e(0B0NҬ~?(tql95}y`Χ"_]7ٍ⣥Al.z~g2_b̷Mt٘cț?>&:X+՘J\O%YִI,HhV*Ɉ 7Xڙ?#:<؆7Bx q?Ob^-߁L˒&4$Y!\!#It50?. >< F(b7xҊdR 7&0Ÿ}-y;.ۦ+]S9}!9k4Fy ?䷷c z"MIU=ڎqf s~;/]#,o71`& zZ* :iбJKʭFSeˑv{SU kZJG bpWVܝkےmbaI-r u Q")~3 6Ұ2tE&vN ai{OYP`~ BS/pmnFn헇dRnKWns5,M㸛"NVտ# \9 f9Q QpjRs~C Nt]zlI 3]}Qqo;W[_IoaPuEx*#)ۮ jWhU {յߙV+N$xe]HҼop;Pd$>Chِi) }D {1Ȟ}v((&ӳku9٦ّ*,`%(;#=KD9'\[#:vOaCD%eq%旐ozW)%?m[R=;:Tpݚ|Iw|bl܇BCݶ#Ĩm \Kvbk_4pZF|=]{TG6?( 4(ih %jp BjZU% 0c8@qR,*+!FMc JDië[NϠw-g'F2k}VDOeTn&XL*(m -/D=2[@+лK Kd^D4q/a Ŏ7;F0\^B@(h亥N*4K˗X\}"|շ+I ,dwRg!qP]rido@~FSfRO 䧡< .yS mn .̃ !rVlZ}!Y #`RpǠQed7FO ="`(+Bź_Wa%|X pMM4X]K͉Ǜ~f *Ġ,,sP=gVo^a-+ 5F}#"N<XTRaz]ªxLފHY\HNץF. 4J4 )d z6^j0r3j ,*:'ԔS  %n2|䊥JI ˛ẸbN]y.>b蛡{R_h=ӇL?n/ ޿]b{:2^A&ÀwDԝa^L% xS ,1^|:VA 7Q®; ŏ-c1D4Zæg}{Lc05a?X3zSKZdoRkZzoרe1sKE镥+d>WtAK K,ok04н@yU~qsLil zd3 -m>5QVW&„ $H#?6eI gf2ՄWJ*y_]7q|յm>U+` COK %sߙlCs=s=n勵 hkYk|9COh丏cۃe H? 1ݤg3p ӾkXuLF:oGȈiMbfUV@~ l.T\xپt-2 <<*Eo; 1Z! ѩy*!x>NaGiqx</{(r 6(]G5E~H{ˎlT͍JVaRԑ@ 4ٟв%q." n͝cz֥F}rÀ Ԓj@ |4F[XN]Cil p?,$#4M1lFT#( .I4n0Lcz쓴 Rvô|[ڮݶܝ:EG-VV3&-eѭhwXU:o >{y~$aC1dvD`O.U'_O7f}ť8,gN[1XqTRťTci`nK4|A/ifoҗToK4gu;mx03a|KN :CR01NOVfrnk6v5?7epefxC k6X5lf暭wsC &K0pNGmmug|YaNl9/Zt_N:=55]vAX|p\i WL1bnCv¢+ YdB"wFW~<ק*&R5A.L@Zc G\lH=ymqjn80;Pj:,TETZ ZdiMRm7(\4^H/ c,\ ߍY%[ 腫슱D2BN@s||Тb)H -ĥ-_CTҖ$ܢf|^GTs2c]g{\sہcNM-l[=[m/^:V /+UeA-|bj.nLM!)q/|<gOg|lBqrkAj-[(}A!ܤ,3sy(,$EVc*Yv50qMGڣY*q'NlcPvncst)Vbԝ6Ggw l:$-4a˴To ZPsmjǃbƒNsvLR` (ASNV$ȿ)KSж" q3L6CZ EoB˯Җ_p9ir#Clz6@ w+O~սLW隇vlzƐ 3wC?\3`eS^'t~3q;ü@ >9ckCC)-w_3S\6:;6ev{y(=ceD r&+jR2*vw* =NN* UjPf)fl`+nΚ <6 5@~c/^D})QאX0;Bދ/&w4]1ezU/>1=1&L&Ӌ7TJdi˧q5)J `v!j*z &j  %_N$EiVV{N?{U'm $.!;)x3{OJ>+ !\3Cᗮ_1|.Nԅ"幫F|tPJ#h =q3t(>7{#t(>"( _g(jH~_~N6K^Gp;Vy-}%@Ѹ뉾ԛ&*R9z'> pY3=m+).YoGJW{fdd  Ge]YAǼ9l Pn78ߘA|u;*o/ꢫSki |ɹH%\)]b!H/V4ý'K1EU".۶LmwZ 5+}M,d,&Ggݣ4qVa42nc5Q'^ 5x9=>gEqb)0=2a,ՁA"ˣe5 pnFn(}\ o> vtC͡[Ng*"`t3r 'uբTL'-_"|G9c_,jX U.ys (\\h0jSE~nlTmQI4hѨ,rU3D Ӣ1ʕ5rӢµ<۟s) YQRIޡ'dQU++LRQ4714vQa7 kBS'S&&.!EOHfx{;CR8{[c T1/ZCWAGc*ĻakmPjܺ@wi%ZٓR<\.i3V̚38YcD;>,[IҔJ bEO@k|kZxƭ\"ZټkUV%*$#C5ƫᒶ .$TS5z;)E2E*\]\>iHC=\zr4m^@3 ہp3n[nrqq!kRAor{o#2 <#A/ w!vVpb< z- yk+)m8Ԡʂzya "9ھuB^sצ_j!'TĚnv}^h ڻwίh0B`ǡ4܆ ɫ`* )e l0w\4uvYR\I܈4d3K&V5zM*PE#PތZ0QhX2#olUi?+M y>8٘͘I5gϊ.j[L^@39{ G #I 0%4B0a!]דlc&#Z0BLܹCQ#|ˮp{]voJ0l֖ -}V&R&\bQx6eu!x^0HyA# M%Ht[{Jc6$UU,߸"uw@z e&5QOs@Pr d6>mVXŘ mc,PU:ܸ.wwD]/9..m?)y_QCT>DQNMqx(.?qw֐QJM=.Mtևgi7.]ٴ37i+Nu瀄{ s .ZЀP笪kJY\| IUh nD]ze{d4H[/%ά)78ri-P.9d|RF&cUl֘7Bc??MZl&G=a5ze`( d;k]oXuٷHl9K~C @$ ?usX/vH8.`ouFzQwIqgKZʃ&Ѳ 6%-u*xp-l: #a$;Rl'9&ac;Ա.N߾ REXd ^? zʠ k~{?Fu "cbmkfncsNդ j6-%0ƀ1sxlMYTH`ȆǐERQy$`Л @1 .[i\j@۔Q֩xk@' ZBsJAb$V'җqLo eW?y6 =OǍZU;O_U@? y(+`Z zhRJ1KS .b1b \W~A@:?/ӑ0e ~f1*L @"gZqaGƯ0X[li|U98ѕ-Kp6Q-ݮ TR}ZʮCαAOhJ!~vu|AK;OEi2\hRȃɧf=Ln좚*Ω>j;^rwkL`=?vSU3Q>ߑ;-!"L;-lw+ }|to[!f ĺ;o;)sRȄ0t"jOc[k vd;aؚ2)ſ7gz/ Xj*W9!t09agKy>)kz3s9$wWg4#DHtNǩAH` lNq~ D׃ToqcAVb4ԪE WUR~ ᴨ'hIҦbEhv,oߦ'ۅrA^g{N`?/U#җF!颣Qሙ;;|i}v$'̰|F[e\+t0ڏ=6@hj 0a'DOTgSyO -7',x"luKk,-`Y%dQ;lmjA|_Nڇh12]H7{*H 9}}?_QCWi2P4V\![ILT}[4{Eвա^ {t[<0F8ͿI)0oѭq.iŹvwV֪dxmdA>5fId+{},'lm#[=K4ew(C{̽x9 :dPST E*\_n$%OlOH4lmUM+ޏmU8=c-7@y }}˵"orI;TUl YuSLf[v{zUaec]lm)D$A~ÑE,+bݑyS'7g*dxYG:K~7y',o]N-hfTB9BUCr +Sqmy҉FIl( `u 6Mttx_ccf1HV{ 6Zϡ :V=.;?Q^%cO|V L*5Շ8KV/޻}[ۯ&ވKcP~hrAG?*oht¢|oZ8‡҅ooJnb5D^TkgdMʯY2pqtޗu>y GDcKȹ'@+б5)INMBU,<@4,ĪFD%=W(?'XIgH &2r=a];A!R;Ro/XciJ`RǼ*yU\k8ʏȚA6YVa4aESsOWVB}>ۧ_ t}6|b{,CWG+c_gV9U[%? t$jqVl:VV"![/Z׵\'+uM[{!c6+X*+ۏB qBx+ \=@WmB +swŵZ{#4 Upt8䡯0t#}Csṑ6&<$)䚬l (;lTj }h6*fg3I۸oy)oYj*D6G:Ks7wgl\4/4BUVVC47UC.MJY(<.Ta!]m^r `$(5\ .%Fr !+{.-ԯP1j $C9W"o& ,fE,1 l)-L'xliJx!+049H>7qK<~ t&GEZV$t Ga+ V*Tʥ֩̄rrj,b~YQu{1^85j e>0q=Qls9FHv,}r]_"&5; Wo@]y}FHFUd++q_dՌICgL@{H*iTȌ/!~I<H qoj(%4TT ?"%*)w]45Ƃ*V!dyu<..38. \`ʈRŘ9,ܦU䒶#;WhE|ӥ@0V/}_6l4TTTKsu0uڗQo*۽:H* إON,P`a, ֻ &u&n}ΓnWS]w4uCם]wump\2Kp<=KB0?ȩx8~)0mQ PğʡΦ4tЅNQ9(i.It*g(C)/, z4&J⶘Ⱦz}+`91%* 䖶^:ȃIZX?,kZۥ2=uA[7f\τ%ѷ=u p%g=O53C$ލtzX*N5Q)eD_!֨oSZTmxBy Hl(mB^ NԏpK ##޸2R<3[ܨ%b/Qi :-#eDq}t{.F5GXWl8&D+| w1l.+A#6u|l/2ùx) l>SRO}_E y!T#Z]`Zek]A]}{jT췰 &,ihhxrGMxJ8g F#50jӼZ,DG 2g =lB ĕ( {'=Naz:u.A!*iljFe.`YJZIgADh0QCuCw"V),#OC+RWD} %2pd 6]"M6Gh!ǎdk>7f*)8k+qԽNa<_}o`zn00SZ~*N[4`5hÀ=(ފZ2cx{1{Ml@&8>1 n x{clBAc};\~VW"ts8} NԦ]WΚW.q>buم:cq9LTگ VE?-FG-еGHtk vMCo CVNxrA X !)r A t#,\ \ PA:ţR G[ Ph1xN 7$'@9b M*`%'@Ubp HKt:+Z)oC bzF V#hOt\_$@w z1A bЃ F1Mݞ ^W4({&ީ# 감M$CQ9$x_?rBSe)8mz/EE i-H+gQQ67l(m4az 3\m9Q肙XNcfGX7[o$A~ú&*"5}]46pTȷ\%Gs`N^wpb(kZzW 5ʥݼP9`٨garKܷn-34D-92fZ=~;;v'ɕu ev-5 e8% Z0exqghu,;Z#ω ;7 A GAG1Vg>9%II38%@sUz*+W"(_ !HN@pIʖhG] bpE4 VPc~\oGM~ȆJ &D'M lBTy}dz Y&d?{ٔtdmpV^ᯭ_HM+Njt^kz\+ ͫ=DůyGyhӉZ *Fho_*]GܮOq wOն}Im2%2i/m朜&\')u:) [f"k\3Bs:kmGBג&5mBorfhoj¿ "ObȔ=t{<[1r=XdkҐڂSO\a>'G}d+-Jw#on~"+M"x~`6uJa{5ڭC]Vȶ>u!X^PQjX/GRL|@TL6^$\NAuZzeJrJ3qQOg8a5m7"N  [?ٍ|1t~_c/hx{A1=%MIzڄ}I&2}7GL14ϯ gpud Fgz"E 06rx_Kh(rgv/J [R2*;R AT/ֱI+jQđHK\4{{W\^KʣqN樵ϩ'*@k_Iȉ#eiBq*вpƄQ>=F2 Ά_nC~4H?/mHs/=jI?U+zGTe:>)]?լ=}nb?[Zk2'ȉ'z?1qeB#-wWW-'PYn(er!-Y B B5zM^wo A6]>My#DGu34quYQtF*ϏƗF5'o ߤhujT~vnN} +` _nvԠmֈ'K -҉r-6 5*4g )M2$K C;B=byh'dU^ x*Vfc%ǥPt\_LX xV Hu,Y+IH5tx =?bПZho^#,~wut fi ix(=^XqAj lG4.F_%&%6_ ~\:tw23'فzO{ϙ %)9{О'+/Idah/eNNcX}%o Hē%?$$ BH8d9~_TIK2 P_{V+k[(u|O2M$6#}HYۮK@߿<5Ug@MG /)@+5W%f)[H2 PgǍi/V1h۷F hʙxM+vZVv"@rΕ+%٬.Oޘ#WeG ڂR,+zbJ*rn-I jئ>ꢷ Zޭ]\N֦3fch}47+D"Ս0GcՎ\# yerx0-sBx\7S4zŽ5቗gad=B\[d [~ejAR&dY)&8ET6 h*1 '$eo*VBfKVVMth(E9o>s"Ddk>`UX)j-0BcTnTwsۿUk*}{$ #:||1%l!~DTS@ e@ .h \o4:"t3&o _lyVRN =4Ծ{jn޶2yWoGw ݃5bMMRJ7نY>7ЫX.}_7RD\I҄F_D  iLC㛷(6Rj64`7֓W`:oQnI%VEj@PԤ ;4MI;""[TZOGb79B6fNѡ6VhQ#xVr8KYxˇT8FjcU4̴1xV'ݦqRY 0DNJaDN6$74A+5#^v]eoԊ}+Xm>>\̶,!: i毤hDURX &z){ږh d> almWC5AgAo:Aj! JT(gժu}4] c&v·Y4 %Y|$m?z+B3VnTڼՎͩDr|tw-e=p6zc?{HNk=,f 3dp^lxTX1)J&ku 5p_Y 5FzaoVmR=([5w$;1lyϓr\p\9S^& i_:6Z (#/\P/"\sH#M-{ufkx'P(0.S\o`&̦z5: "r3yGt/Egͪ>< ΄ |Fn֍/$Z"ied^1W#/oT>ECԶ lI4krpy }KKc{@鐴$Ro)zTm6Mc/Eg)d wun O23`NXٚٳbJPd'Ɍs|御^_O"uv&73GOzNmV6Uo{׏M ]n>d> ''of|2C,r zfJ;!ya! ז.6XS`~;ٲlD'*ڌ")ш(|cY,d0HM9Kp"+sMAj`V٨L4ygw<;hGwG}c fhlOL=E/m >NjtRmktT4U3lRRh!9'" r*Mp;6}qfi}gRitF\?>H$é5~eΟaOizfugt;>b9|p毨GD䥃}rc;GCr&vy' e~nMq$җ9"_8|3H4Y U#ZGlo}MPv%£|P#CmSJDRuD6舤JlTn# VeuSzi,~(]0UfD#`>5KQ$)b[84ao,kh"QnR;b8|B&:ʧHܕ~6+"įػPçVCU}E( z̸՝JޫQ^jxX+ykZj#5|B @3~Ʒ3ᏴFHNQMqE}HׯWhP,vݳtLއ}YX:H\Q d4hw%ghmvfڷKg^C69يdry\eo%2g>X]\.0 W~'T /sl׺09/[7l7=n8ʷ ?ouQmD+FIX9ֹ#a]oxGOtO5x*O a2 }ށP~ކπؔ*4^G6[0^GF#f4k-MJ~-}ebl`, @pJ#,DМx]KiG6[0ZBЬ&P-0x,Ex# ,ƦF-ϸQ@p"DJtQfX:Y 4^i'яKg3Mj{^9c eնngx=ف ބOxʶ ?]W;w{=-x){ ʳav֯4,,Ά"Cx((|3 E!A.֭݅*EI;},J+ R,cÀ^O^{tԱ[7<% Db)#q vVeK'7Ƭh@y]g}>j4 ̣R ߰n}}k# ~l65YlA0!s#&<)~OUGm{A\K\zɓ[m  =M*rq+ͦ*;awCPJ.;=&w:P 3: RA_s!B| >_ lyRw|ՄkۇWOΏWB=π>c@4]H^ԅT}ׅC?Zɝ64%O >Џ[(h>uM3U&{#&D%z[D0k@^=-ވ6˃ Fr|UX{8XهO@$x=OΗ VR\7"A&ZI.%[BP\*?jFp O57N[Uk) H{TGYEv"7b@$Sã ȃE%#h-BбLXJGTFB^钑.md CV%9R IBa燄&ƒCa AC m+ӉK RjJQ#RM-EKj-ZjTTh)so?)ye9g9dh).s?{Eݷ_[,W]_tsX1ֶvq#;y8=W~q> uqL]\>*;fq"Ź];ĹM׈zq^%ŹY[9&qq*]\!9[-Υ <2/i p{`3QЇ b`_H I4p5 z%jp! hl[@ nbp%8Gތ4ql`9\'y< 6ՠ,yb  :0\ I` >oWx'0º!+e}LG߭ 6{vWDcz}?B]ڹ/5iBQt:HU #Pʏޘ^ڬyszSVЅ&_ZNUUe:U9f-9,8,ӉVP)rE7"$Y?WuqW/!уHFF!QS=_r9BPQb ꡕL,BK41[*YzdQ,([ uHu!tdd.7:d!>4Ue 1y]؈\=\ ;băwZнQ]cEhy8/%*}qCm]JtEEɢܢ[¢4CaoDO, Q֤hdm}gͪyrSFs=EwؼNg֗23Bk BRTYXڦՁ(w5oAЇzhYnt|'Q]_JUFvEtjB}[d]<)4C9atZZi s_F=YxD0#iRՆ-ZIo 5o3 zm§4~>[XFXK24dz:%Ay=4#Y*73R=XV+e*@dݞ16 j! o0i2$y?ZMjPjܑN~UACK\_#dtrrYjPSSR!*OHT.)]LQDQfh< Idj lVM"+5K+>(!1|#DMO,W)&Dm<ӕ}>J %Zq?Gl}2)*,mē{fEHO(7V5S=q ^!!kv'AH]X!u`WFCZN]4he][֯iD|s`?^Tz$y|IL}_$ZrFYDы5HGzF7Q |wFKDFk4\0Ls@lF_[ZW8F7\,=v@p7hh/}a4zyF5 nP~Q|Fkh%hs`FF]B \=&[zt# t:k` z~:>hxLvppbF4 >A sЋ5ڒk4I?f_ڄ{"@Հ20F+kGA?~_'! fJ[CydߋKotWN2\>Lw_<9逫$r^,Ny3D%[t'nT"bkzySBSV^ci^ë żgWA*kA+^Wu˼jQ(MA %>$Vs4FIuH֞0K^hsX"_5+ү7Z7"Py3dUe\gΕZ!~W޼gA- 5z,5Uɨ5r OxRʿ@ Շmy$r+k#n]YjJ|4F'&S^X%q;^? g|X^=#A‡[-JFjr6{ KjA妈\k؇xl}q'FʬOQL_"5¸KZOŐ++RM̜3c2/6z3 4<Չ~ꐲ 1CŕodJ>9xE"Ff{~!21ZzH^֒ Yd],Y-@kt﹙ѥK|3 c=(~ٕ8ImZ,])qɬ"8 :s|T!J1'6׿,JJn͊Y97Ei͇wYKlaq~3AkJ<ᭃ!FHLDƥUMp[!+/Ƥhݴݴ,lͲ,`Kי?2XIJlHLRDG1,_B'\hIU@|ngt׍GL@MIMY*-!-#2c|s䵈'rE) IWYCja<_dēQ +_\-J<<31҉WŰP`J5h3R~b-6ZTMS֗JO* v}?3O\R_ I&cV5T.ߔSHSɰp'm5Tujl[uDMjkh^y4oHOìԃ I!UGzJ#4^6E&D,y{QajdQ11>}XgXɐom]8S=GMM+EGURU]!fFy`k >cސ얩}[}5+KU٬4m%G^=x=U{:X} 4}5H|Eʣ$-Ӥ<+*fHk7R(e(EYjsXz$K18a\w=ym>TF#SȱTrtv%ǔ$s&^1,sBfYAtx9BOogF˲hzt!]|N$t _=2]JT/E!JT7IG͓?uLɿ?p:ϴArZn!!E? gp }T',UM@_BLE?KU{NW1Ydʸ|opo3x-7OPGޔKyӃY\kڤ{)g* Q)Fӻm>kйyrik׿vazW1+`)Ιv̔}p9$[$gJ'AA)]@C!GCNj#H]=W7x}<%u+#$.\ѝtlV9'8cp;-}R' ؃zX~뱸65]߉k^k^gn3]et}کf5>)(۔f6c؜ 8~?Ʊ0Et0W19AJוȓi6 VpoaJ%‡?O髕r evX98K.,UŐ=Sɩ#ÒSJy*n%]A.`w9˩dwުdWl-=;=F+d+<U2sf%cϰnc`:rkxX_lVTUS-VQ_u(3y W`7ŠP)`׬񦫽&Užo2/sJӞ=,Ӟ`5D} UkajMtZ;e'ghdIx:ΥP|-0@Ô=g8՟K Pj,|*M C^~Hv94jnmr)LmQ}(%q|mDL'd3h%S?e@8RpJa@ ǺOj Td)܊A!aي͙:OV?{瞗Ė6Xam1ζWQmmAqElCSMt4zצiӄ/^|)ɶvd[? kVG .zrM2-st{JOE/7Vv7KV5.zԜ})64#wV0.mJ?EMuQɽ9ld7^zEj:7hotS`4;tQ)ZJ͟e@@?p^@;}xսwݛku~սl{9VP^{_lu`u<1%VVVYSLVkEmK]^O;&L1zxq)ݐiIJxOJ]lV()r( * e,fvwvy#W oof]L;zEnh +0qd 0@Ť@9!tdߑLIIH_Ǡ>A+){Ƕz<rnk/ =d #֕MX L+^bkgL#󕕕+D.apx&I.I[l&'B79u䄫- E~l,7P hl(gu({wS2l R[1\;ok .˟-IvdtK٘AڪRԲ[2I޷윖[[nAo;A>[૦ ry|{|0T.?ۈ;S.`}ȉ`"{iƽ4M0^4=^8: /?ez$r37c'񥋗$֗ Ћ/zeTcʥۻW5a7n6v έ*<|j;)cT+A#Y@/^:>nO}~X0WszNy<9"rzhN}gEhzb]}`%QPZ&[" fV J7#[2a몵vSz5p -q.jWj*ҙVŵ׫/b*z['֎"?Ui X`cVlkNw)OJ!z N=^a 2]WLI|"~·kp)~lc>[-{}7w!kѡvCρ3G#yH$/ɡ"O`0juAB3"{0+qpR)̬/|̠=m )$zAgdЫ= &.ȩ'B%27u?99u #wھ{5 +0dɨ_ep'23)ȐGN-u1^Nprr Bw#%$L"u3s~xɰ1rl$a ?ZT?=J#gt^/_Cg/w=s-1Ɋ{~6X 7%՗]pI{''+˪6&}ȫ1Π CX!;P}qLaO-\DcL>sǘMI Ef/Bשּׁ,87<$&W e#/ĢU2 TlG0̓G X>re{ =?-*5)a&jg"I3aQ J% f}bOzhemԟdDH4su0$1:ߒ$ 7:.(uaTnIb l#QV#]CϦ5 xc aC~ xj"shZvB$J7G4=4_% qɸ>&[c?sum` 5^<Ӿzƿxz#FDFċs/ޢY}ƨhnx9p/)Q3]ϳ'd@9n?5^8935go32)^uS,,,9DƠ^ ≠hm ^Py,^ '0&'b$Y.;u#]aЮ:z{Z!nL1j8 #|s:Φ 'K30<ᕆKE.+FcFWU i)*':XڼNMch0;/;SRoOE["|xl"/P ./F5Le4ߺ@ .8XjN0;)? gc|.F}|D z6t98J3G`J}ѱf!3o:xpʇ y)/"Z1#ʟtg 7m:& ̒dAU4^]Xt^w-  g|ߢq?hu8h/"zL}@^X0?QbNXoZyOyh ^7NzE^yKuz`^·[1B|eBbzt]7^&)$?.!qrSArlSnЄGV:/8o.{^ԒKEPvdXC B Wv>iBIıK h)_I TH zP뻸(^\%ռӧ~n!vQbz_|gBA wtl###׺nZm^խrl7]_,Lÿlfuc[;!q+/Zj#zԷw=U]m7ӻ&Y*PC %pKVP֕Tgڇλ$>AK8>13")"?n"xg0CnBgb G0#8bUc_-wqyQBb.x`q3"+ AG}>'œ:' 8nA;b$}]W rStG'/#@\i{5w&kb7'\kֶpPZ*zزd<`+VDŗ4ai A۠{mJ wlْMwY\6׮OK[}G}}6mdnTϤy["ӷ#wKH|Wf4F2^KJ~bP|Os0[Ӄs[ e.21l2=.::*#{XK0 /@?%vT+3Ƶk39w9ݕ18@l+t4UQSQM ll=\.1/~pdϖ7x Rv126-g5Djq)խcM=N-K6b6Kg}HkϯYur:^}'M}ǩz:u-v޽F{6Ҡ̌DK'ӓC-YÍe(d 9O[z%*/|-2б[$i8ؓ-ZAF+|,a@j]#ג|pixgFJ9] Oa`c 2 w*: _WǨ#rsn=p?xSĚ}'= ׀af`D/DَRENo-gE2h{W4:9)6M%01KәȏLŋb'}+[Svb.eUۥP9+=S .e6R{GXw߸'NJ{/ªscԃIfAeW{S F<&]OK`2ˋѱss!.xGR_ XOz[V%p :=/3p8\l,W8u˗t~I."J/4z;O7</1pyiFQ=فѾ&5?٬KY>,jk,trw4c,Fj{ۏUO|?;Wku~2<$w҉)}-D7]I"Z:6=')crxTQӥS'ɧw7,rixĨke =dsǩޕ簾2G!c,/ߦ1;S` g2 %h*Dv=A4-y{6mdlΜ޻ݮK*k0ᏮYcX myEb5Z3Nٛr}ኜs%~Ó/o*c"6CCTf~oqBsL5sbf%AʇYk#?~zl|+/U Hf+?#ܧ) Ȭu?蓤味IgC!x9֟3| 5&{X\y7,0C>,4_E$_!ϙH\+ VmDLrf+s?6:ds_\{Ojzh[G(7Mz-=zu!rHkg(%dB!jJUTm6DK9=Ws}^k5Z}IߢwCQ~J?p ;d^~<p.!\GQ|HI$I$ҏ !7LEHBBdK%TRK49KZDivU>C_iDt/=BS42*ڴIu z7[-RNu^! b1E Ke*FLRID)Sʒ)$UJ EVo3,y'SY\yL^hz\'oCZ%)J 3 i-eWírSi'|w/*?gY|_J~!Z~ _o7D' n2,!O(BBPX$T B HBD!pR8+İ"'VxJ<-$)Y$mvK{#Q 'rw,ɪlSlIHbҮIwGSr %2iNm6V/Xax*?_u- #>s%iK ]Ior-I)&dYJVGFr hOӛh~V {)1w/;=Fio}7[=mO :v~);% ,tnrO˅'a8(IT"UOI?H]W7u A7t2ATTVꔝ^rNIVר&`N&h㵕Z_8N&}H:@n#% }5iM/i/*[mOt%c,00>43ϙ/,̲>-s?rA6o-V#G J}AL28)!JTf$kI:F7Mv"q Q2|M2@qڽګڏZ>/_JF6WBthm2o5/uEgq\?z\>w'ɿ$LjvqxL$]>&h=^@HULBOVֶi[/᭸#$Ѯt=HQoG'Agsll%rsKj1)N|K CjѹEgE'߆(8HH5Dc1c3+o@ BOUCo8H"f2FYƝ.c|l@ߦ%-dLyn aR7MscfYoo/_[S m\W^ w9?w C],g2wJ@k2/#y|\n TC]Nw+MͳNb 5[}gwz" ī:'eIgC+,bjn476 +B0CJLos y__?p Kz`c8ht1瘫̿M냉V5׍KDdAq9.˧qZK?I徲)r{DQBܲ@=MXa},d;@6),1l X?7 M2:U1XmgNZ Zqm|~_7xBf^ XbNzr l7O2 J,})9DeR)ӕm 唂UWkj z> w6#3υy(WAC tPbA(cn &A}K| Jϥ h P*?ch,jN ꈠW[^95Dҿ05q脘܎MĒv$QETiz<ް$k+wýB їOg*BC"x U)KEK*&HSn!ݖKO y|_}\aPrxՆj_AS_4 -vjǴW%^c+tWJތ ,bv?'VsM-8hdK֕j}Pu45IP{Wk+T_'c>*c G˺㷑Mg:*y Tv-=r+_}5?? /-10i~\O= %+MQg+1B7J"ۨƨ`|6QyCV?QZ!I:4NQ;]ix}K??:bfGsd޳O)U*0ZzLӓ%iiʴf33Z637b1]6؋`ٌ\N$'p:Ln!â/ Bpa$mX^:RS],K7E`>0ZElS*U OU{]m7zh}z^c8`;;] ;=}Vi,e3LAp-kvq X_  υ\hJl!vR4Y+r˟G_[売R]Գ:`rpqB>gi5M~Twϙg +U0_\.A~89W  x3"2q]#Y\_ j mY'aF&~)͕) GNQSQP: Agby fcg$8#|c0M,*Aըrey-])Ԅ[S/)wGPjQpVm :KgwZ+-^#z=Jn4jc o0]4;G m8N K?_>#aw 2/u;_Nrf>8i5<:A]D=t݃ȡle.3+Tb+X.>R^YȓHerUѪpԿ< H۲G+AFI3eM2/Wcp NaPqMJaF+FuN>ø RJZMԪUW?Q>jaz![7"|~TOE0fFoc +R[RyXUAATSG9*us6b,^(c0\;c<6f";c?1~?N&%:g+ ,9UzN!oঁCi6!¬fq B V;JS;TRIs=?iu~D4pn=')o ]mYNy }xsL_b;jf5">ghkjco4!ցsDT̓Ȗ6#o/k-of$Sm(=}oǦw|DqBso{"1ߤ9-Rk'ܤ{=~$Jgn:?$_NJҴgM+}i*Y_.߅3O15ο6G[=gp'"~Ac'8+:;u-K]?oRC~)Kmwك3v,:~7OM=M|kߟiQŭcσή n/gj~}j ?:/}&Ο_qk!'{W'ny{|u\jyһ=B[;M<9Ϳ|OϤqkד Sq椫nmIѧnJr߭ Iz۫$ׯz="~7>GVEWP>u˔ xQ' ![oz0E/?E\ֺĴ`fJ \LbWBo 7/xh!nlAMG4BׯeL: \H YOr/#QzA v<%o}۟OSoaS)f" [zgSןK|n?ø)]WR]"L!b/ B/gQ^oʿ ^?7vc_O/6VtzὫ5ÜX&]bsQRa ZH렟yqV,p?hMi,Aڄh?2}I, v/0a$N8?:i+k?AߞV i,A`$$!GP&sE7\pDl{V.k݉_*sv3 Z~BZ/lt2& NqVӜ5#s)Soܩv.ȷBࢸl 9(>iYྤ^#Zf+eQyٛ۞ HC3@|'z +K~@n?#Mw9%ں!ZɘHi$1/~xx9zs'G䶤J>\9_v- l#U4$>0kcUY/J /EZ5H715S5ݾuHb~=9Bj9lΔ4Av[o~u0eE6gtxw:ȋ;sDAN\8~? o;kgg_P}]\>  Oiuw|߻WLJWEs~lC- ;;hጶG6揇jvm gi{'Փ>.ٟI=/p:^}d֟Aa g_AدL m`XFSH K̓%EXb):w^AVNּD|yY Bbd帳wKB1/raQV~nV='os_uUƥKm, 9g;)؝00+nX>Y +_Ȟ0)$ ^ZꛄFyV"^Czۥx=9:y4^ ;+hFz=J2OWz"+tBYx}ܙHb(}- x%ڕC6:;m#x-krI4f()xM=,w2> $x\\>? Ϸu$x+!z4<`~j|'u{!-LZж4 f,=hը5I"hU)6ys]xnV~)-(csl ]r `Z,̛WڙUh%ƂK -M /f/[t+1-G90w>/BM38LΜPND5N,r ظj͛;/+ru咬[}y\Bl}fR7R"LŇ0B3,_Ľ5)X4/'kNiA0/D#1̙7/]ȩ6t1"G uU9SIB?$V&׬¥yrtHDGsxW!sȤQQ@ s"l!1rsAH~ބ\@Vh01,9̍%&x\T ܆r9T'8ĺ|9/, \V8\h =uu{z. M3SGK*Xl(q}SuuT)F딷( Utz)qnԕp4{Tݡ%P M]EVW [٘MĚ$:D9p 1jMvzcS%No>wE=؜mbEW)%N]])>2I<J))J-jF-(EQ LI=<If[VF|o X97 )B{o`P٨ ~F{Mfx *t!v` az Wx&zR|d#ci)*N{V:OFa^ .hD? ϷibQkK۷k\u3}:Eb& 0q.+I8?K_s>ĞRG0O˄Fiz)wɌ;ÌCB ܸC8Q v 6lBjLW|E xh08ꨃF_Ҕ-:a 0i> M]8wH cR^mW {$[IQv4 8I2PX1lw!Z0 M=fֲ,zr_.w=aWZqlvXFh!Z7&#_eԽalnN 3t:::w"~u o M$?Lɂ#iz.9'M[G=xNneFvA|Q|xrat0kѡ515#ݏݏfn =fg69fY#9% jXzJ ՜, 3Vda]a6-?n{XK)ku.fyF r Ok Xae]UyA V#oP8[]m( -%<`+T3?2;|78Wid,ks5Hw+AulF&&m@Czu5kqt"i:)u0fX=/(|M҉1 K.DpÏﻁr B\rmB*V֙jzu+;Ό[H J"#rzzɾwLk Wv*׵tU 9};cwɾkJB6XAY!w8~1>qbn{[e|6}?L7~ ^\: =#G +Z<}1_!!WGSWC(RB 4:WQRip ؓ&T%E%}{(^Cя*{WЕ(\;kɸuޗvhs[Z`]YE0A/0)9OQRV9x4t IN\=@P#}* X=R(`\ X]<]]BC`8\fdj qȨ `R;X|$([hxL/iLwJ rS^| f$V 8)W ')@N}Ўr.f$M2i5#8>9z8jp4cz]Orn#;:UuA;qrY VՋ Ny Q))ǔ.\b&'V46a"If[uVuUکI}* ۩F49-jVKc߭ϰ{k'+ghU=,lEr f`47$Dss 7U dE(LXts| .͊?a<DΣAלW; G=04GL%׆jdه]HFa :2~h^JEqt0詟()r$ *T~἟O?_GH)sh^RzZHɚ|!)}ϼKkB V|E(a?)nZ&ԞKjUR'#WW/]fia|0_ӆ uff[{0e7LDxt`U.9tS5p?TV\Q׺ z2Ϊl`T笚  ^O3~`V\jp6}t34Ug@,~hqz3xlKSMKGU(xgce/YFZ;bhY4 >YEIiC]Ri>E`1猥Gh=JDJ `" dpmɧ܀kc9z|/49#BܧH"+b50ݖϋ^-v6^.|/uvp$ ;@qոj\WZa0Z֥Ku(Հp] VmppXQ PxEԥB%uVYSW7~Dc'R>艔S(7q[#\ka|:,>tx:-ṓT/?Tѱ*~[̼(cd~[ .շ$u<<ӣ)=)jYRr}0y}"퉄BXug*lA(QkSiqA6CY=L%fdq3P (uWwT SO'Fzb5 $a-5(NтIbK+:>@(D[Y\E}-GiOxXaKN7iHrOtHE^ 2ppusyzДZ eQjZf)_:%&Wqg%)0MgLPdtC v*4mrU}ծS nY GK{D]_KI)@6+=B23jG[h{1Л Cԗr)S匬 6~G1zA|$Ck#fd hK?`hu=zJ T"c;Hq*c8<}%T{5ȕtWB z&֦2/`>ͽ?(b1ߤ\6GR ?:#v6ڣ"Gar5FYwДqkcFcELQ1SO\TWd[pz)K/i4GcS2јM1b~kQPxiY;etEIѰX7LcO7wri=tJa#|9q[HsdTK5oR0tt!'䃷(Hjms(Q$rOKN'gz7BWbDwS}+$wkj,6 tbl*ÈW^l~)]o?]o/Xxg>= 윰RvzEN|>\Q6i@N\؟.CQM٬,,T̝7Olڝte;;ak5}A6,g`-zxt4J#pw6yZ;{f `ʑ31F> y# FzhrwdZLZӄt.tb\kr'ޤp0U݇W=֛ {ignACg#Ri:b=~g{GO<7Wb{n͓p d ,u^[ږLc5UbpXܱG^p8*bdc IҤ63k3#r[j[W 9J?jIϽ6)I[ԡsБvwVUMe@)0Ryv74^ !nn\W3|>0|Ux^|\Mhjtk¡4gфHRgc],z Z&Sg'A]j4uĨ㗬_7(W_'(cD)d$T$ҭsiUz}%k;;"gV)l-|?LD?@ "o-aX&GѾ2qW 6.]>I OÆ( d$,mWLKio&13ZbK' {p1M.L%%(oG*?H~,Se<-:~%rq3 *: c,Lh< 98k[; H-a JcM]S>*Xj_'@~ E&?-]~xdIYeI}2'[uQbjI a髶 &##pZf`Sr|~9B\(RB0Yib6Cڔ Z:] ?Axv蔈lA- [hIJ)G:X[>E$I0 "wJkj3t( uE(#<-pF5F! ߴ a-.GRny+muѝRk̛IsS#:iW[8TSოM=\p"0?yw_$浫YG\S{$0C@aU@rxXFe)2XlNz-Rz,>(97q{7R9+`(hcGj ,xar|JI|1J%g Xr6)7‎= VC?9\N\#8yn:*g:[(.2Pn__mZ8tؖ`{.Ek{GX dIf0p2f-˦R[ǒ$KeCnA^ Ydu9ٔp/M{$Q]V]|җl"ӣzz~\Rq9y E"G#]( IA) ƣť<ݫD0hw4}5RI! *7-0ss%˖ -L]yJ7t`ߛs,F*.8jb/')\3/^Bs}j:wr۽A.W#cBl3C>ڝ $=I]N>˄$OKR]u@u+MBKVPӽø KR pJ1!.)&\)wQ'}1 c 7|!$;=i=`C{vi/g# FBTQD?MқduWǮXTu ֭VqDP̐ON0IvZY o FɄ{N6'5۠ib-N KXF<$Oqf6LMK$A5 | SI꺒Յe!vbX+FQĹ`D+{#, NvyV8d5>p`A8C]:e}M dBsrs'̀]L ɕ1mhb[pnwY75qE5jO{ : %2`Bne(sHT#2@cMuО\Ii*L;Z[m|_^h@s{ema32z"Xx;6`4͎V<j4 ǢwJF)'bإWd[nd?*'wq a-4x,AE a8rAG ;܏n.-n(tpb#"MAYYzuRDKa6GR}Wl+=:m^ª,F )=DpquP%^]Un*~)ߑYuˤ$,>T) sY98&,(#mm$ VuIԺ$׳Sq0Jz?.%/HU$į ;czuf)è_ >qNQ?#OBć{REY<]cf.O(XUaumW}[)6vFU@SZwIZY@F)- R^ A~v?Z܋9g%WR.$ Kvsʎ+$~XG~PqD);CwM99+$^ >qR'"I2?RvAUG8:!ʎ*4:N'zҙ~ߵ>rHser}al6 $x!AZU9 ono M4$7z3#?ΔZ;oьO'bɫ&zxK yt\^y|aXu p\Ro|v.+\|05Fb6!Fzk p16 l#bheVjhnh%zIxuQ&4%#~ɬy9ɕ}f 9~${*.帽(-vO 8ڵ2u*&Cs2JJnȥmZ_[u}s3D~}#CdٿB"TDJbd#RE%@+7d;"`"|&mP2dA6z"8CS"p$Z/Ѯzd?쵫os$GXp…V|MraPv0®7R⍔F*nˇq[kAGY_)'\p9_8u(tО >~#Tj̓V  p]?uv(ȖBd/b0<}+kک.u~.>iJ0ö($^Wwvy>;ﱀêtg)]4զ m$K I4Oo 5MT#CyKM2b+\=òޔ*tO'J{ih"T_ V9<1ˇDZ|4,Oeyjg?e4~h;&,8=\6?qF6Q<*fZw~ %E+χHUnv"WRX]\q Kb tom$quQG{yjvUIf]XԽÈ8C0hu=]N SDc?8]" ]t^z tJU|J45E_ឃ` ;v?`{61d쵈ZRf8y`DRry[K) #[D4ȇܚsX4fYuIi!>4sМ|EDΜ ة ))OV{jz=:wE+I1{Xp0H.h$Y 赒V4OmX?B<̎ ?R.ȈKy<nPq}S2O{i "=8&f◪=pM*)ʗHȎgڜ6m L/\,H^!rCpo^|7|f{hJ1G0Zf]~7m 1pЏu-+3C2*0G"BwrH6x)A '!R;>ofB@]fab|DoqN|^n2]֫|'P=[sg+ ߲O:wo!7PfO!("npkD8 ':IB1u&` .w46#%9P!mPFCӡ5 H"oV]KZ-eSEQna3笶,(L$Y{6 nlÈA 1BJsNS) †;Ӝk!WiEГ@s_؁ em9 bbQyB< xf,.8#wI)9 b/L$oC%^u`WUK#Y`K{ȇѡ,q|KCQ4ơP(:IF>RFPo+p>~LFg GԿd(ᗑ7Bh_!QbٱeyI:0OAQZzp,_=:76C'd7%f| MG!z M<#gNn 3biM,aӐG[лӇY0_ڙ'߷A|CҌr6oGnX0W$cRE[f +F<=9/e0~M;:PT(M;^%PH~MTWwJu ]uCs*׬YE]RuzjR4`v9:}Eژ}>+d%^rH $VHv3p<&Gho9|ax6Bhn&GF/t>àXi| >f+QƩ\n(28ͣR6< .vߞ;O^o&p]1s_0kB*_q.SI;j^xjQ\j2n)vo Xykr 7q; q:]cB Fj_vݒb~+tkp酃v)A-4HP0{z_^&^{d ԂvA΀~Ƒ"uΈ~Cl)5O_@P!DB|! Z@ >ԜWpg׍ςd)y) /Ps&%3  UCgAі)m u(yE~3xLlѭf'=0whPCfRbJjsCDB&Е,# BFv~ 4;s4adpE Z` c7BcS6_eSOIsjtbhG%Û#gK햞I6z(>=v[']div/"P2L"=۫>KC?t OuHxfY}椻noo3MVYxa@>gQi#<)Toם3Ql;L%n[z, 6xb*G/)Ʒ6_D`Qu?!*0x5m_p {s98s3y.a~0_N s͚ ~`p1\cMY| 9#Bg>z,BYhv|]m<]9ataYH6-{䜘ꈠe0l+0\Y@o砲;snx;x * ǿ~đEek"N ~v -?zi{`P5ERLZ؉`{[?Kcdc.cuK @E(ly=/Za/(ߤMh5fo3rܲ" <,cJ!ePqF W_ӈZ91%A2?"w'/`,w.dL&91ES@N ؚ}+ /b),^3!i),̯V9:=UϿgM$޳ܴpZa|*[=ş# !x&'ɀٮeZ%^g}^]l>x2zuxuYb(yuZo>ЬW5s,5l@} GWd 7<Sjbe_?y@OI?txkAqDXL4຃]w smf$81𜪞x~=9V/Y59 M1N͕Tv &Kv=\D7ny$kQPŘ'Ue鈏'S-w[ ֤^q kpEº_ }AaaF)qCoQj  */O]iEVkS\Sb0Pm wIz (,on:@)F}T؈ZҜXU^/IKLF0Y  fdDp4"9Qm'rD4[)qA;qQ}. I+O EƉ{Duz&Ճ/ A彉q| 591B:,ks7]au,X@iwNCym8Zb۞e fMM0P$"UHOlrXEj}j3|9%WSMמFڒ=,f cH? Q=855 @B3Hz"p'~Fk?+3j5 n[E{ͿkTfXj.|e ^FV̎`&ẛ}̧KO"wdžqvkө^ؤR*%e +& 1z=,;G'C %{jA+.&%a#dHMlj=:gKwz>f@\G6o\mlJ̶@gcgfR7L[t7-C5y?3LC0!<2;Ri^B_=xK3˜+қ`MlY?>8ï>N]Cd |?LɋFܚ\e-'eBڪͯv6ݷw&&B< w&dV udzNŅ>m*L=MNe6?)*|!3 r "}ɖE=UڱfGژ?#la>-Ɗ6(,J.jPKrSt8]X3 y;8ʺ4V֑Ei:=+Xj'>% 8U<L?0f'< %*+=5V]FĢ1X~Ͷ:[ڟ]}bm{CoEGgy0wד|;,WlC?Ȓ # ZͤFYibݫ[H&hRjduhEǕ˶}BE! aI$9{غ#ϔ*]x>"Ρ\z;U */hE*b^Ðǝ__`:/Y;V_~=ϕ\w(̗5|mo֖,:\ǁ vyЗ.tohXgJmÊ2XK?-aU 2@u>-MU!dMOz%zRʢ9jb+-9E풊$'"[MEImqncO6Lx25[yt B3dFJ%X>L[ֲMn3n5GhdGEn/'MyY3?Sڎw3/Qϕ!ӯ`wLOli֭8SO2DqiɗA8y}<ɘڏ< ҵ_WzC &('T=JJBA- xUΫHjD4V % ?KzHp_mcϥBDWxUmlo`K1OM=$ۡ!8.Q̀?{a* < TIUTMaO5hyi!-TKKmaA YECFvri(eRe0p_tRH^ުj ,nŘ&?RjkVTMF |jUj$0`s ~/lOvf\TߚpH }wt u@(V Wf%R/Y Vj@G=d3#2TYLK jQ*b}=YVZAO6+A7#Q"dJYZhq8 CgVU 'ܜ$Ou/lh4 1Cs}U.XY,,sf{YD%tQuYW(ЩY Lm{jԈt_կzWWףJ/.ēh5kC?7ER8m|vmژ 'NJb.(8z½rC_oTʈ\+I{S#}ӤOA{@e'L@[ :h.Ep76>FzA\oFx;I-]B湤#}qI?"ϫI/~~҃I0ɤOn&` _~H߄t.&#UE1z9lt/⸀s?x%}/rv??Dx?;yQG8IB,fo;GHy-ʧ@w;:# cFҟ;#{H_ Y9s9?Dz?GI >. )՘X>< -5߹`Pk}x?{~ywΜ .IhBm S/`c[C0}!1D:ÁrU |5qw-G= We](H݅i VX hU*¯VI 9r X x̕^ x xZZ5[̶B?ŦN}UaiMw+ͩVMq^Xf-W:ĆfYUb[jk'bXh xa?Oc3}=Yq*߄͸E}ʐA O  a,ql؆w(`S׏QdU9n[eU6+-DYk")௸T Q@]]Y3*< FyZ YQz4t<Ϊ*[,ov.4Jy Jt!6+7mR0tFu5an`߫Ze->oI jeVr%Z^_IWWጐFq0lqS/ؿ4ojWU "gۑR<ݤ J9X1^'k*`. u # H].#[<+R fڏhT /|ϗ[^߳rҳ5ơ5+V2./RXgX̟ TT\T3y)SjJdb ,@BCѢo h th0a*)“&?rÃ8X1],@"4aZ~M?rMQ}a)L^iWkCrJt#FETfzVY'5>3p:އODǨʄm|~[YyE7_,~{[u+9|@vTН٠2;E78p( ƒRtVۀ+R0Zy5 c"Tpi, Q  9]@܉DiaĠl~Mor_e J@K6PPPgsWHNBz]Kn=tZQ.ͼLz>]//&6[cg# c S `0f %raa3aG7gM"mddaɾqecNy%M]n  ?|ȷ}~0L$,*appXPUEݦLFJsYk1XZ@Țad%o#i2\N֓[ȇWɷI/#Q#(JfSy9:M'>LF߬{PKG,c\̯W7~ޥߤ~nxܠebO|㓄bRxPxAm\lxnj;G8i:d:f4 17O31MkNp*JˋӖ,R#]=BsWAm6|_ė??? +Az{cq18ϸh3ڍ?2N2mnztYaa-mx31:3b !y $w+AͥSm.Ms r^қQ7Q[bd~<<sI(c L/63ޣD(~jP0Ŀ|DyRz4C>_~ R0rEj7Y ~5%L .'3ƅF'ȗgL)=f{ڒk"{'AT_m̃4:B~Ld:LuB)LՍҭ=EsNח  3n(2dxʐ+Lr&i%h#'pqj5ıY7ɿ cdYxXxxtĘ͏5LLK{--[,AYzmGN8e {`ؓЎwg.nESs.K`,咸Ttd. Z,.+s \)Wٸskm6s[mܣvhMvrp/pn/ʽ-!;>NrN,]ູ^*^kx>OZ>啀|2gBR/m| 5|PGNg/ kAGI4ɟ |7#A%/$ i$LB: 4!SraPX \A54 P ۄG“Nw -PZׄ!C8"R8-t g.- $3k ~lFxڦ!"ӓ/ y0+q-WjkwڋkKeVYҦ..N:46[f)Ù9%Q 7hb4cU<6WJɉ4`P=|NɓډrOGEC4=% /Ʒn5{ӀIco4H£H:"-߳HSX^Ը|GTe|r+}C| |*զ2}Ӂ ?st>K` -CA\{Aۇ>"qk'Z0W )+o)ϷZq4NPViljJQp2Hx=anz Y5=3sV<]%'—V.Η3BzJ|Cg:nF['k 烯 I|:VI苉qXT1VG KQvG %$?| BhIf0&L2`*INd&/k M )-nVsjoo+t|Gc B 2O3v^V×]Ty/7{Om%;HڭƟt+X_-_O'8y0YyJe~>i}#_Kgi; }#[1ۛ,{1'A:^ L C-DC]^EǿK{Qu *0;/4^8[-4* KF, S M_iG U9|~<l/:6V^m̳8-i H[ rL" +L ]7T m;88AbNC_ kU׃ŰijqXV^1Y=IlWfe 5dazxp^w^1_8!OQFscga쿰j7? T| Y8;(|[g!^UkHNҨuh1qCeuFzqcS]=<Ѯ)N6ӭbpWwfUCsZJ&{ϸT^:X1;ԍF9d&dKVr͓x x.yj|K~aSlQ]Уu58bz:zbM26Lsre'(@"f."?*ޓC8TAzH|0%._3q8Qdd×.y}hCRv;aسzppթF9]xv*DV-굏p o$C= j ǃuOi'ՉSMJ9X $jiɊX7hA%0B2n Wo2yx^}M`Բ  6テH? Ԋ^QU!Ӭ˜wJ>1w}Dz%̘-I1<~)/HzA4>`~!V4UՇ܎L ~*lVAIa;./= !]?ц3Dl@]i_9yG0=xG0oGG;  i?2z[! W˿0 mImZPWqOCA0gmAwEXcqm :u ?dy,Whۆlܷy;1]mޗtw6 Ғ<ҿ(lD &ǟ'7S-ppI}upϜR4M}& #1pUJZյe)V.8g/u>ujmP @Uʭ&˻rI 4A'젨V|\{ATМA8N;;jj]6]K tBA.ʗ6?jg=]6C3R$wWۇ m Vdd2$U }qd8Єl˶N2HdT.g)f41`ó Ρ}Q^u'sHT'^ζ]Peғճ՜˶"@iP#(cE9p= \$mTIdY$<Xq{^҃Sv6JEzA]cK= (Tq0=g-zܶS7rp)]Kk)s(}Uf U tȘ~%՗K?&Ơ::ΥlZX j@yBiibvl]:hA)Wܠ~Q[Wv9NLcO~݆F~bBBvS4sý1|>BNc{EΝs'uqws<}m[:1絇DJ$Qz9N.;L]^¬\BjyBhB-=;CZ?  C Lh.9޷2[x";iQ i!#(0vCX"Ǭ?M'rz>Pc|=ߺR6{xI `L4Prc&{W?vŅ}ߴI[&E=4Cn#jpMnJ ,Mh@(]?2;G=.u\=DHcJ W ?CǩIsyBN:BMIUTRpA+cZ'?v^i=_o9S3t$p/c\_&Άn FuZ.oqNۂVv "P\}9wJ~r~ xҕ2_%E&9i Dti^:?1ZZaH˦bNBҽ4o0:^/ lD/B ^wȋy(@1ZJp*"Gq;]'mKy)^|{r~ ('* k"&'gH(Ž^2kwՎ]B?^k؎L1 WCɓa)3O |1Kou#;a[OL!G.40 ,N`~ 6+z{V0"H\`Yej9鐘W|8 &ηB/ͷXHpH=L,WK}tWt~ğZ+ՆF'/ֽ vI:ş |eAY+k(YbdZKMs"P41_C7ӧCpjgk@H҅Qq%nyr'0)񩀹0 {RҌ[>0C>IlǞs$F#>)Q|VA[(qAKb(@fJPTCT/rJ=?ScQV"I̕V,xʬ@T_SÿV3FmIT]+9l}I>(s\Y} JNz<^ZrP-](Y7 KUUUK<5X|]Yzln= M>Pca3BBh5+IkVZHd_2˹d2'"`:7|p"zHU`-߫2+qes.MZj:J䐁X`* V @%XG䒢S~Mn()G?k bKHBwZ 2{ r5[0e` 9.A>}]>vA+HM MކHUyâ#Wa4an, +̼uC'>K " (B>'aӲn Q[2W@+ ' -y(&8u^^fd<'K+> :Bt@ZL(A]s2R~m% &C_M>ccY1ukb]Kq iBd܎&A3 E`A?MtOs ]TrHqg&z 6@ P} P<%0[DfL1ۼhޡ3PvȦ!Dc{s.NaՇ0p B6pF65X @ƶVӾskNx.[G$djV#2dzeDĭ/݀f뮁bc\miXl,s2&ȍ&Nv4M V3݂Bܽuo 0v>vXߋ;DlZ3%|ن-8vݾ};Qu-s ^B(v!' e. e16e# ݊ n~b}$. 08ax,I( tظv(җg楂})W7ٖD)-PƵÉڍI1Ua,S w$ȥ1}0Fwcq(Nؤ!1C8aMsCMe[mzX/N_D@,`gÊUB7!=L!mt?āUJ2;ƇhE1SEncRmMH<&2 ՞\oE"6w PU>G"o2āX=*+򱨏A Xuht7ҷ9@p B4@ZXdIZ2}~/oňp by*kUsE%#F=`< ^j5(4rQ 9P8iw2 E}re7ʠal1uM8u+P>b;}<'DX/kv'saǸx로]Qnz_\nF"LEbw_}~dB;@.|4pB3q}nĖ-o}$}H2 ͒' h4,kI\ͦubZw "MeZ7EuoCН"r&mR"UL4=1rnr#GD%(E*QV^7 I 6on#=a5[9G"$(s'*V{f /C!Ei},8J1YԏT!ɚ+)>ѼA\E l<YaQ瀨QaF屮zaIQ6A*A96ҙY`d+N6uI܋Mܦ5 S9ȟq+a;+iB{B{*X$ࣉHW7ꨤʦq̱m$f){4dhb`tW꿥h ȶ)$ &|ܬ`aHŧsS|QgE8_gT6)6t"v.7YEf8]7B(īC\"~M@x@0bܮg7\fϸфy-Q$-pH]diORU0$}/KQ!)سpcݼ·cFwl(])D/6#yQaPCaϜ{dq`6N F[n<CLva`/ iL ~lf nNZjU˗IΪZ˔UKU[,T(˸1aޤUNRA4~lkA4W~ Ƕ5ѱmmtޔ%MЦ8&kڐyS:Pڄ8= UoqhnJ! ǛG8Do>;7!q-kRz;phІ9ya ȧ9܃m$X{:26@nђ@K)#IySӦ9k~m՞^֊V=0~ȉD|>3$>."{S o쾔&=SG;9:Qc M:HR+AZۤk;݊(ZtF444s*\[#0\#`yR6hjDl4+59 <ğJ5m+WjVIIÝ.5 @IH))Uߡ=#hv"d" "95@?-=P$ <ȿLF@DR EH![0GoYtd- uWME a"z P "qf~ 7+4ϼ 诩?W3RrР.:i;,p?w<.\~ 3X5[2+(Xd9p^ƼG3i L^QRY@:U[*tX6AjeAe;7hI d <;mk3DjvX1: *r=ja+}i{)3_Qs߼޹8ςﵢWzGR3_4L 58*wXu? ǵ0dX,}d(; o/0;T8^he/@nI^ ),dvrׁ2ze;)}x -Qobo9}ؼE:s~Pvsawm+NϡeFj%J-Hw  uQVM SC+\<Ǔ<ܕ8dWf9}, TJGS9[;dXzEg`Rg!ߧ`?c'1OALƯC]b  o_F5_Y\XJZ_X)}!%Z<L* kŸ*&G=S*uQ7&o l3Pg?-Ͷd= 0V*pȦUZUZRFe"["$؏wpeE47eܖ&!j ֓13tGSoe/à,  ف x!M!fdʂC=6ʋ IQ|jP` Ȍ9atBf] 'Wcn4-f"i7N,4׶#y~J<)"4aJ}~ݝxi<@_J] w%DMT7lssh;G-n \mNqϰgRWB'G^bcmV?&7ߤө־_FR[2Z;G#U\Ɨ8 4Һi fUhAL]% hHL~@* rrya= jV*nVrYx`VDL7gǖ s0ו7_ZMDxƒ\\9BN@a$G_ mWC]Ǡfl|Q.z|bv;Y.xrXbah1 ZZHfk?L|4NhǕ+PU?u-L"4$L7'x$jƧ+|k WL4,U?eL 3ɨLZiz\9s$ݧ7HT|78-g1n%ŏ0tHȸ:nTcdd>[ZdO}t([lGo㐓*6^]d̑`;7cBUƼlEPU :7ǻm_1c]=KD9ƾیfRS,DߘݦzɞfУ>GBn3 "@U1f/>y0vln5ՙ[3hr1Y![n -E[vdbEqˆE/ۯCL7KP(-il@f66,xb F@u # ٯƌ(Ac y݋%l5ȴaωݼ>f\t:ދi 7o\Vo~ GQ_ЎgE[Y'I[{( M`Uj1@tK]I`E] U,+$0Vȅ=tF1tu3~Ր񽑠/PߡS\3*dm;>ֈ,+ _̨Pcv^yg8/U2n03g3zZoYJ2Cww[oaZWr~Wb&(}cЈT;DX`B-nGAѫn5iv|-Qa\I0$ `™j<"+uPN7j*8k̚qLDYBd0 Kn?Aع5)ݶ#p)ݿ.Vd~gUnAb>I@]e=,0@ ͇k42v"uy:[\LK 205a zB/ޚݖ D]ɭ"=)Io|Pb^X-"V ERz *WL7wS.j J>%beŴ!^Xƾ j4ᅟ&P^N +t\@Rtdd29jo 7js4pQuw/, h1˙`qA~c/ ӧ~!=V+5F!ꦩe}ARܘ_sdn,PJm[>|Š}#63ܸ!!n%)*]Ĕ4żiJ{n"{C"+qX+}bԈ{uX>zoqrfឆA+|k~&Iq&Q”%X_kXZ$kɒ\+fWivYگo츋:b޸Xw^}2;$17[MJFɽxC"v^'m(C.-6 H,(ۧ.0*,$eQ`^Θ E"xV TH!Un_W ҝB~a7 JQQ '?Q&:Xj4W%k>Ŋ)mg&1x"CW߰tI Z5|Uiq̈@#C 1gTݾM.Eh6v22^;^y2arNFbx3ddq7*:YI7Mgz@$g:b ݤ D&l.Y_(ZeևSJڊ@O$9NҗQrz11l~.~[B@dҞ__H1El$OK绢d,Zxi6+vI ^9k _rN/3[2+(]‭@t6^m15S kHFE|5rGLWۭf8CVa?J_[Y3_ߥNo މ`NCU[%<" |NhpBhC5tme 8,V,hȒZdN Aqpc vL\"E2Z7A aHMl#";cE4/hFd?H*3J|[g?΄ć'>+x $' bƄ#G[̦V\p|0E:ب<ģcg\dq)фY\R{!o^@em!fGDqn3Ŀ!2/7b u!ObnAZnP-uP7f@{$&?(8Yff@h40zιgm^cEI JaghT|@D :]6Px^q8Q 'ݠ^qkv<߫xۨ8W?h_vێvx1*F4nnF|ڃ'H02c#T۵:cՑaWAw tߟ,-T(I}H|!PfuU+7uM2B a}9iCr? q_.&r1 :88lLtd.&vlOa5Ij_!ty#ˊLeE&ˤrs0̏pl)I{+xu6]99#s+Ru^K\f]X.?Xǟ[Ӽyݮ{]\_q=Fp,Խlޮ6/׋.b޿Rmwˍ0%5rfa^jFB?r}]}X6_Ysu/rǼX~bZ 2 p* V֤$5I|v˵%.Y^} s8$[jcE?17k&f7ۺ8eAU嗪O^9e9J q!O@ՠhcMO^UZT]K{NY/-_ݭ-jk¡xػmolWcG T1 Fy/:nEOSl]VbbɑCP6CoM!IM.Z= A}CH'lBADy5WBL]w1rW58J (&6Cf3FT Q٨U`^+c^?  ( 2ƈۉFW__PP[bY8!"i 8lK$@@׆TlM4wmgxN}@,|Fd}%x0څ$#bƝ(5K$+2/ ̪3[T Dm 1e}ΈrF\ ω >sЗB4 \!4 ^PǬ 7'xO2famή}i-.JcjF. OZY  yR7M!iP2 pjfsufR͖2͖Z1kfGF!ݣ6\R]LX Z!PĤ=I{ Mkl'+I tHZnKN۳j@D!Uҗ=-2(2H\!8ڱY#랣m\H3gmzRE,1tV3/,ķ7ǷoDCBs-f ~>8[|:}")EpSqsB7?2?aPo4<~f8^1hU9kd%M@+)<{^ώ@v߮7Qr^cr|^$8;0v/*Pm0 >H*$&Wqt lMGl4׺i׎kK YQ MhŻągE <HlOӮ$b}*f-=w[>7>pA$zw9~mX%FZ2JѰQ'F dt+NhTبB?*> E;qF,rD \7OQL_.1¢EE > Z\2+(piEս!$R[Jt"8om6^ ׷6Sx4#od}+ŸN5OoǾ}S؟?>6cP/|EѼpd^}_d'@ZM2CGui|Q#׻.s~1#ct:Gi:G>qQ#?yB#9:GvɶV9s SJY%c5+?Ooo2SYԛW6 @ CntiRvYJ B;mUf8Hk cGPPor#W»|حr co5d ,Ž3]cp&ۃy+oQ b2\+M ѡS#RٚxhR6 vC½\ Vd|s6|G T#*ڐ*9+/@d>+A(K$ ]s߻/#$QxTx x53p,llph rF ~뷮Z)ÔϟGboqEu$V8('rFF.!w\t B@n((lhn3#uZg֡vZpjPP+t ~%@Ǚy{~|}<۳6 Y8LL<,Ճxcy<l. =q =}â-35cnOBIXtT=- c{=u K ƙ"uW|O:k_1x1)Tփ!;+50B70ɧ<+v8 +y1M`A0~4A‡GqӾu6y},qa%bb<.6|XK.j76?X6ImTUjruaL=}x?W9R /'[pعUN0R#vz(@xK8HCzT!;.[/v9 4:_8ŵ%n8e;Z޺:ŵoD- uoMTہ zS7ߵN+o" +Vsk1mEN+D(΁/)-'#|6 jO-&xvhGԤ7$ I@jwjyۼ5Hny - Ak14=p~ܦ؃ٻQ )kٸ$PiXƑd R'(f ΂r;Pd\ M D2"E^sTAC@_az")ѤlQ/ ذ ($_&Wm]a}"}: U\>,b./KDI1!X|(Q~+2,">+xߛPm =d9a#\.lL%#4ǏBDe?>k0@J%W H1}Նd)R } _Ekq/%KЯxՆ +&n&.i <2K)=lRu.NɃ`o# <4Z|.P7zO6ھe_o DzNdyܑ`tJ #Q HXQB HXgL S B>Vx 8^Dqңذ?Zq0Z>F}73GU~nB%pqK[Ȱo]kW.S@ خJڽ=XaP}R'ۗxTZi_HæVsZ0 ̀SIdF98oT|aRkP'lV /1W-Od'kj;EMS?xfJJysGTX7Uzvjq Y9SJA]Z~k݈Rž&yc;d+ B* OQeC#5awyoFMQH(\M%x|\M2* -rT(B޸0wC4z^VĵYuAx{63WgHmp 2giR©;:W+je˨xo}pqڂ:Y-\E6P<&:]1#PUj4y5 ff <-U#gs;ѐ68i0 +&֬`-= 2VBϱ E:iEyڄ9zoGÒ[a_i>-sO14BOJixHj}9,̵+ vlk%ZEv@K&fMcg$v{+qI;+mdwbMGr3La:hRk eCjCbEGHzQ EBgz O:-a ĵkuiQ֥ƿkSਢiBA4kNvxƛԳKZ5UX!-5'Fc`oRGm *gb jԝ k4uaa- :w!ZOa4{\_,/Ka+6|8"a&d JKMP`. *`ny|K5`tnuqi|N~(t._XXn6WTųυ1ےӍI^ym=PNI0ofpHbCM%jEnelk/̘841c_c͌9^ BZwrn ȅzP 4k0}'ָ6{זo`kBs /nlo'1xHW:ع!¹\ܶ!᜛[ ,ᥐ)G(.E`X696jNvj3恱lTcz >:=BڜxCBgOThqW#yC Xth󆒘Hh!>^tDń&+~#s'$+ IME.$u4r[%qɅCTOaCTK^i0R6F3D Du$F`N rOCԑIh]o/Iq 1it3ip{v(E@7;q3Lϵΰڂ7:ga.h",>XRhwCc撌`t$hX0sAmrP05I^Vd-.&л&ǐכo8j.F55-園o-}UrùV9jw(#xsaڎG໹x|HZB积@M$~}p.S/2;L]/\B;L>zv{M=nvӟjM<<iqKɅy-%yNyua}jQP*4rϦЖnfBG Ue #raG]/-[-%=͍=Zo^?TmjkSsc7nc x\{;v}FS>64\x򪄼6 vV brua 9[4"l-NV&-$=h ?:ݚNr:.DfMg f4-ҊMM-B*RsnLȠ7XNH]p؁Cg0Lx ij.bLѣ''1}!郀ďh+d p +b\1!33|iKKfh9!aE\bd ѓZ/:S .ZD^mlB6RL^rX߆#K2ዋťBqLT]Ƿ `N(8KSċ3 5}5q'5\7L>!LMB,xmBm0nѰ#|v18;y"vE\dW:+kPRZw":"v4{x3B=8y/t 6l/ *EEEwE ED%)Z" '9`9ZpVUP.rPN9ҕBb&A2|DR "AJȃ!0A* E#`$u%Q2Qh4`e8Ͼ,nȷ> RτK+nX=6;Vn gE瘔Vv(l 0&K5(d Vj_PBcG.ZG.񐱰{ >+Үp0Nlf 1}=GTA>D*n1,D=!k0N8McTShQv\^:v馿@TL~ D# =(D =߃X_].+ןoP#/pcϽ>6nQT "v".6"2i[cu;pm^IKA&\]5~ n*/5~"]D؈O}}8Np (2&?@z3֭>ҋ|C²l5bżG^r$^,|bKB XY.N?~30dp3[hvbeiؒ2ObCd~`-7z;*:}ۊxs6L쓴`CJOHmR^8 0UZzMw~<8ztqxxq>fb2rIg%%'Lr (}XOdTYlL)3 ef<<<|S٫72ot^V::ϙc~=yO{>D޻y}םUʢZrjj~ՃVAKߩ~z[uNWTITTjZ֫ZOZݨ~X~WSEuf懚BsFx5?BK)1͛w4i4_hjӴckoJ*AkҖkZ+mvnmvv)kնi_վ=}_WKՍMtj,|R]W[۪_UGw@CG7B?So/WzE/ַ_ӿG>O52 ?2 ,\b2x 45\4'sFܸXmxxG;'?7~a$ANsfqxx^CGſw_!yq8Y*%!QH|I)Y%4J6JDk~N&|"\$E:B*bEZ/mTUzZh/II~.B*"T2$C"74"ٝm.r +=R3-WsڐKHZ?LCU6tI Mr#S H EIp^5|v/4j ξߛ7ݻOŭ\|Sm\觠uJʬ}E}6`6^ɩYRKʱsOs|eR-[O^ XЊvziwՎP4 m;yc*7Dl1;BN+,Q/:ao)t9)m`q)DSA0\'h&>u_"7 S8r/zNϱtQC!=sk0X`)&~SHxr W){TD aIG'-'[rr-$Q6d$$Jذn{H5Jv3d)\+.'[e9\eaIS #cy|R :uZЦlMfOǜ Ǫi]>pM뙅d½Lt>km폶6o7͌KPrd p /!j=Js2 ɻn~hU3 V 5g }z PYV nY2gᏃw*cxJ3x 2a ?e?.~׶D2ȼjlǝzcϤ6@~"Qf7[&H,lH e}:FHN̒%k$.e_/o&0Ꮾm(_> +5j`@L|Q_[UibVh ʺoqyV(vbRC z̲r50˝v MVge9:˝.9RnQd ~@)2hJd:: xHywGZN% X#ae;~g'L|+`rNDֻufW!P#|H *Zx/d2~D D {+r?Dqb߅" f\:$y2uh@$!>O!6oT " OeRMex<:(Dy:D+8pD<[ސo"XfoF[r6>d6,  T\+l0~`|6[3LMUp P@8Vt u!k˾VzHwmP^ZWM\[w.zi-?|[QYմ̫Z?-6 zauic]/=7[CțEtHX/ME^ 2A=[n H48D@ -o5Nsj=Z"4i%m Ni΍.. h3jQ!4D10zAF(-ǟn}̞ڳ$ٷ%b?L^`r&v>y6ŬX/qScJX'RGvV'CC4 ۱R ^A} !6j+ @e^7y#8D;VjbQRdd:_p,EkRc`N3cQ題@$3B,Xv~3VׯTk# WgxA{[)vs dvF3TW‚W4^Q{,w)焐y nUp kO0Rrl?7"$諨ոvonW]0i}-/-_=7t:#tHj1P7Yzc?K Axfa/RYӊ@ b̵n nX{ `EkK\ ,"\.5;X|!4 %TX+Q3jXl\6/ {F|1T-ך55q| ?Q2KCĠjfN)& k*$XSIAC{-LҢ%8uoH,R`S_m*IF?v+J t$aV6R.7XPkbS0*C=^ڼ?0k90B&}}!) :窯G` H9)w jܐ /[euVlgqfujRvvRv < ͗B2B|-}a%#P ֠i:piPB=Ʊ?|NYhfm͹3hoiez6Vĝ#eo[YƎƨknIM1ec^sywi ̊J:~ F+\!=Rf[Q\4{{jXX@]!uF7z ,2 tDBZa׷PdLӍh 6d蟦相 ]_ p%Y c\I &@8D?7EM'hVX!Rrp+ c<ᒼj ܿFjܮ "*j3K44Kq(ZQzMBCsQk+pt-0W3nիz/.>-o ]M0o^ewvafc35*~)|4䢘ʕnnmC AOoGf;'p}-۱M$U\(2ޫcN ;_w?&CoMFBN,KB.rcA:T~j:Z3h 7N-*#Nmz4C9SlϨ_OnOEK0jdRO.?FM5aqi;JʵɵelF@}jn0FƻŜfgcE|\# ӆ%n(n޳k, a!RWh\WJ7 _ q/M9{+;48j.(DsP, w-XCڽF6c.4oݛgmr|GNŵ PAfo^;(W81e::CS"N w%5xlule)h~*m׍6=6pb| fG k-W̜ c(>(b+ ާBQ͗0 k? JEkpG+_`Ué+J]SbУzCz1 ܣLh8"Muc %jh'k6817mY%80%w7ukIENB/+W̟Roid;3?1f#ҎSkj@+.#YvգY\r[h5m?-y`T:TJ >ؾIR,EJN4x#5N5Lhrbc.Y3s)u\U}G朔grp6 +RJHNT"7f:lG5vhEڼjڪA&`g~s.̭Pʭ\,8ь=Ńnģ]:1{Kp )ukD>TDh%)ۓc3iRp$w?ѬO4=ڋQyKI8Nfr|ݶv7mMo*IZ 9C ƒ7.mprS̵i_u=c `hrOQ#s''H~H{Uƨ}ꗬVR@JZ=ͺdw4-5KIS.YOۏ륓q#SJ}Vm3q3Ng/i1KO #ڒd,Wj% " SU NgurׯRh\|+! ̖7̕KP Ԟ*ef燓MCj ta9yb˒5^5B1'NwK%j"t%끧߾d=oY1-Bځ/^ہȤ5)"Z|_67i.ay͠ߜ U|;)>QCpI<F 1P &LKU+>K1>cX !Q PPT:\ZZe ax،hYc@x& ]NLt^ ZL)@D6a ZbUj AG-}f4p#7Ƚf'ɭ $EDrȵ w BZz^ ږښeZC9j!BHm*KflUԂ:K'!tB 4J mPU !/f @]!xlf>4_5rJYMnпb@9 pK:|As괦WF;dbgĪƧvtL䠯;B܋+yfe3C8*E[qf``> 'SӆlUJpfTV4RcSjL5!kWd{KuJd>A?ҭt wo G bJ<0 Ɯ fT`*n[>aB1)<f@sxБhDUxğwˬ^t4z_'P%wⷈZ~aAw)/8tao\mSXOЋ|5xܳ 0h ;x2{?~T$=ȴD"`x :@)-Vbs > T6op5 sĈGe0"V@4Zx:+ ?k<P_)~` ue;~H2S4s~w)us43h<1BMR  oh"hY&(LSĆ)4=4ȗbK"^aM8Cg [EntjNڞDAWX˥^S \߷>ܝǐrMCј;Ci@oϙB K '\/|6~A2E$-&{q78J{7% +x3Ǐ}Ho+D"$t>"ONnwVn(>) n6ľa! |i~%_̌uS$zA7Y! gj mZ1]34sh=ARhLzuS"IAgOC>Nj4}ŸtwOW~}zcs_ԇAm= ) OxfX"+k?uhpn}OЎ',gx wIFW\?)7ijY4>ɚп ݀6CSc '¼`&n2;.|+\4v- C m2wJ%ug)Ö~>.X蟱"$QɝMъQMČ\#*L,A @d+I&Q*f9Dqi !cVAk(z.(A{GW?"(N' WɰB$FJDJPɋSV*{N̋`J"%A3ˬPr{ĔQE0J "4R;f/ WE# hxM,D~6ztV)THG+F ScE %8%RF G Ӵb@"]+ΎfD b`L_ 'jr!b|%R׊"ӵH &)\Vsp \;9xjפHŲ@pIۀ/ RS,3ZvJ;{䀑p0 I;>sH D;޿bxvlWKCٱw0/*:6Xuy.:.2G\ECPuvnvJ#˅4Tʘcr8 PPG#2B z)Z7I.+2Đ(U=|bat ӹcF0n\\Hۡی_nvn;}u#Z-+[Q\+}w=;U|@E8|#5XI w z'SMeã_7*_FKXE 5'̯10ڜ̼7u?@v SOZ8IC/FLU[ǻj )[B|\s/:[xe gIzf[y>RaBNT cСbM* 0 $Ia=}I{,[~/_# G ALƚl"^M,8p0ڔGcjS2ؓװ=G'? :Ϣ vR5= D0 ~=q$yF}L}lk7s1vb5d(ˎ,'hs3+[3:Z Bti} I~?d3VXGCq7C ʱxcJD(}|j_;EOMO k,V7.&# Ɛ5rk$;Hyc}{0 * ܭXHT:˞b;N(znCZlܢi6̉/dOMpHyDrKk,Z$6ԣn8{PFۺp-Bx]SH'NvNIɰY ǴĵQPV)@NQ9P Anv Dzӟp}߈/ܥ368w▏ J8 6`Sӭ .|Fv(NRXyT^1^z돲m.3 .XuYhPo`.K~X}q3As9av훙M>۽L9H}D>Q&iäntaW)Z"`ntYqSRT/h!#7& S(P"#+  0ok ^6%}67[ʼnM LTTڔ"ɶAjLaAUJukDaC=SE2ٓ\.ĿѰvËؒZߤ9OBLӾܢv`2wh9=KdVM4)r czq=c3:?>iP9,nnUPܴ G;5_|&gzzԙgw+{o͍d; z 34nf&nfݹ} .*2flTC!tr&q aFR [#K>K;V+ka(|"v,LҌv;{f ya2Щhz";KV$q *.U[Ejdts٨KG0%8_7.d6\ dnjH8iiNB< EWԘHx UgBN4hpA!Tj"Wr*^Y9kW~$U\Xrڑg3N_ݰvbU`+JU1s0ū1?t5TJD)Stp|xB 1F2ckantb1`=v  Տۦ:W\93u> mj5$>'5]:;=Pf2DeZ J'y<+k%٬V%kɎ)a%x cA!+5#u960Wr<$+?<?$sXbn%S6a; DU _sB7לWu  B7Iv&oYEOIn'Ϛ.N|p[OLykvT{h[=#! lJ{ g#c^z)&U,h˻NlWfؒO]bg26-Aa.045cH{yf^po; 'WV9v[Y=<\ |re5#zۗW W^Y_7~-Cf/N^ʼn cOՠw{p QǒgVO&D.Zl5跅lv9$Pw2Dr{P2l kMdrxgNSrо/H2yFTބȥd#+Gw] mh"v>Փ}Jr  dJF)Y-_f؂SV XۀD>©[Qw=>c$KJ\F>o k}> rQvCΫYS1ޤ *˝{U7.mGr*QRx@->i Ds2-]sܔXo;t|Y.znפ'=_O**͌O^͟Z^h簗{DNxq`} hُ#/U]<+<3.c76ehfw##$7ѢW58K(JKLi|fk ʓU_ n{{}܉ _2 x8b\KbRF[V* Qdo5B=O{ށn?R!ګ4<42vЧ7}k?'r,;Ev̟ U~Y?j?~8N>Cg ¬18ϳ6l뷡Z؊kјemŦJ9=לXPCF{4Hd!޵Q+{0k{cfjD`\ȿWF@K%OxI/Ca@r79 Ux9ScXM PzνTOù _Sow쑹152(Mj#ng?1 &W{~*pi+H˻xWDrTqUed}e,(ƠO VջÍdwD;X萄q] 2npCàYMYwQc|*5>H*_< Wk7sGAS3iַZ>Wcsc:d<:1CS :NR8z+JWiB?wrKI1N7j|ʷ7(lu/:ʵEs(^k|5aQ3\{2@[:Ft z7 M? }ajw]m)tArrE$zlQ*F*'Go%+vULWD\bV!_eD|4DػQti` Rθz~g`e{^ߟ2_ANhVMj~LvYFh~_zN/q7mXꆫh;_mL^STFg6uY/Ūhab1:R7=O"\4rU<ڡ=NH{ĵE!ׇiS8Ԛ !&LQ=Olڇho&&j^ζu3RSzJV1Kh.\DgFseWh!fMy#ɻ֝Gr:[`?ٖb?Ϲ~!Z(B{}h.s_wν'VO-1!aH148xs?'8/CA;{mD `?ưmQ-c1A=Ymc eO \ mF+xWX>|>1s-J3gʧA^CvRU~pbŚ+6"I3 -)|t+llG@?v_5 JCUѰ1EbĔnPR*5KugJgK,u q 8=AXaO %Bȭ4t*ҿuݞ7Uމ71ڋ0-;.) '0Rh@5lվYIuuhtEV@yo*qN3]lrNbLYqZS0c$W|5ž}~p870rұ*oc ^KB5;n }Z3њ eA^;MF-21B@rƁt}ǟbA:>B;"0ξ78\r8P%V^ Dc* JU"3 Bh?lKͧn>f I%MH 9svHCwk";h~j Ѿݷ4eW X$bڄ7}5t<^3ږn7pY.$<-q .?)Ƃ.QK~\zXT]ߘNcՓ UfJC+E¸mLm3?"Ə{pUΞn^պҡ6My.seTF#ʷJFz}վBZ l$J6d^*ZK;b|:+r&\_`܆O^ovĝCɗʴbL{N/Y7:dU`9-{vm/Ql=ȋVݶItq! pv%bP</ku':QR2boO~H\*mB$SNI@1E^3kIu52/X7$f>FqЦ7S;@BeEu%vE{ ^= ުm}bɋX~#Ԏ۹dpHlh;vYJ= mDi%ÂF V OmbK@xHT6Z4L:9JߑGo%#66F8dZ6(sz- n}I w)4<$Eyv"ߜ?}ivnAD\qG7XCq.ڢ3q'-\By ,*=_wPΫ F2:Kgog=#]<Ǣ/,hmxio$KX~G=ЋŹbxl!c~/>^d#v> r1I,d# vg` t!uey&*isy Pw>ʢ-0]qS2 rm?[_gEFxѰ _Oz1 lj2T SnA.&Viu pHO&Xމ <L/}1Ght32Oa6Rm\2țT! ?!ֆ\[fҟd)' -v́Q\ `ӛΑaca E6.v JԮwKjoqUTB ,f" ş3 . 9;36-jSV\$0NT`u R \SBt 12+S[fbYzp)00b[!TKψjY޻%wMn- Qs)9fn5[$h^lP> ʤ'aT2A.u(#v؋5fҔͽ}5QNɷ[mÑo+ 7"uYv~~I\aj?Ȍ2^2lU J**FڈG͡!OA_|2Kc<)E_l"V4䑹 >;jc1蓌i_>DC]_)K] 1dlg(\um{ӹc#H{iKbq7L۾^Z5kaʚ?S!/D ϐK]/Pl 833҉m9WcS@6{ٿY dr. e t_EhʠS^1\4l?UڬәraCkɹQ#Qy]3RF Hn4e[Eg#I,A7&o)'Ab1'Pw}٪? &VAY}h522GYk@cźWR np#U(i-ыPQY_#CwL(,赯d2;9 }nו\n.KuZw!;6m3_# 'Mq:!9ȥɋh K9R5Z^'&59Stʇ LDXRH_f@#-fқ(l*K>C>__ T30nR(,8}P IbNCtd5$&$q3Ϋ %AXstw[ ⭴x}q'J'H:c5;zr^7 z&ùVɭe׻v߇*qG+J`޷ƫZ#.x}+3t]ҙQ*$8QQ|HV㙾8 #g*u5( ٜBIB,,nk5+#XLF]W!(+ i TƅX4{!d85Ef'qsC.=NJeRoB^B F.i#б?`I=)p5Fٍ=ghOfl?<̦G OEZ:la6)bE +Jf+H{m^ ODZطuEUU AIHQJe12@4ud[RV&ZiJHN:suUOQd&DGautu_OB_(xa>'ϳ[|,"S"[_t7Pi[B=|>m9[kڕc=$*ͪ7Q+>jm-O&u`shVaLE|kv,Vt{ukImՆU=c2<ބlAqoK61{ GT5l>%mO#*n?L,M.7n&8" C_ \4&*h.$IA6w-X'N3xeI&eVdZ%%~./ n`U2X}*kb=!Lܦe@Lg_ g}ׂ\ >w`6/ȦSY j7ӗh"nĵ `vkSf.?ESMK'l+Tlu$.y$̶i Ņ-80/UWGMenFPHZȫ`MX\7n5TI QּiBUer0P5Dg=ggYb{E^}Ju Ti;?7v]1j1sdx~TM1%CJ,iHec20쒚!&wZ)5/gv@J;G̯9m򵧷r-n7 ~t_yp$DI$lK|yk4Dx2ǵ+p_3s4E~OH!t9\ !95;2e:O*[rEB$ipf"HY=|9X! :7 Zo.w=T,QF {S{ zg&4zFɺ,k f_3KjP %ߡQKIp 4 9m,(o f)M?PayDȢzO0w -Vm zrjCx~vnTAHvʍGM@L @2 \Nppsȫ)yي3nn@{f<Glǻn#/ V`{r\3im=8V?wԶlA&=]hw]Ksk0.hŎͥG3y<IyK_,y^kXX7)×?gb8i(q_C[e8-bw{Nc!%ֽY?q[@6 MvEZ 7Yo0~QwfO7eBjB[PHVypJO.\P   Q!quggRjXpY=-C z>͂:/%G=G [qh!g&!|~__5/R/a 9\XC#| ['IF=a&FF䞥Ab J#y L.%VF*3 >spl<786ö29۶ӯ2\bSҠr3kn[oVQG+hD3d6ieG?`/I90?( NJD\WޤIJu4h6U:|/~X<3<'Z IwG5y$ FK-aQCbS7xN 5wp(l(\}d*%d)j `5^A3qIH{&a$mGN͞.Slj3b؀A!7 j&?%u#6A~*FcUfg{: {L'c7T:[ԏpEEW~uǡebGHbGɹĂkB-h0%򀞘ӿ`< CVVðv K:xS:zU6 A-M@ ewH 2w| >Y/dIfR[ja>&Y ^6}1Xd飸 YEfesJf ߬ ͌J_1ñCiVKR'ML[]љltLVbE 4.Z2f7 *d Q_T`"[$2aԯiNα"eTQo6iYrJDg0Xӿ!ClNسjoqV2bi T"*9;ܵ}_P쬃a]Y+>ԝkah%; c"ό6ppm[.qz`&GE e3T678FiV|Nݹ4i-Uo1Ȧ|B&S134';E!'Ά%qL$ӽѦ Rz%asyv}h"%.wЕR CiѮ%KpI PW| iC"/Q|Zڦч00t7% u:8wvN 1P6r-"l# mF[̚enz[O"{&up.ZQZ>:7U](} 2y\PNyvͭysjgU,ʄpk 6!MM׎lB[:666rŖ#UMuCƆ+ll?I.)o^е{Z1ln\Y]jv!}˶} I9۷>ذac8-W+2v? "{CㆆOSCci,5֎ 0зcK+|MM(lsI.>B\ͦȻքT4l$/LWcD~?prp1~i,CQcf~tܻA4t~O5?Q+ 2.u;+K~5#5MwoiK#k"-ߌui [{w[ZֆMٻiSᆍխ6BeVü*7ȭ[ YT̒|7g)D`h=-& ~'bW 1=W4tlR] P%4U+ i-\+_:MZ *w -M^^"2&ٿ]"SŰ~(5uM]S5uM]S5uM]SDž1,$.-7G;;9oz7yΩ֙kꚺkꚺkꚺ7a{D* 3  }1op1 p'AxNǹ/{J{<$yi`S'*3[/JHP::IH@'뽱aaa/Y3[}SxέvY=2f(.4!3UCcC'7u]uF36O2+g {<c5!Ϗq[P/hOP0Pq@юG{pMa sQ ~oK<um ? A۾ Y"M G!*DϳZ!=n@ n@%F,5ʔ^2k7e#&=uvvc䂇nI@)k 1Kp2M/V0 ; p;G3+- =|ڎ l)yK(d59&E٠$Ck"$*NwM#ObXfa# anHDFlw`MF-gg2/Do`6/? ~-|B| ^¦9[&OҴ~cƆ41}ulw0*A= nݷ}$ ٚho}_kG'Eԓ}N/moE؆hGKR[ݟ'Ȼ`%HDTkx+ ЌsJIt- O^}#GŷOw%}ZG8Oj߈hTLƴ@cv;˂F),KbŅG?+<f)sWgWlyP\/G*Aw/) W16F]fh;\F ;+K;B9_[5^eWa{EZ}V}If"*DJ<)30MtH= z!C7uww_ Eqcaţq;SRVs˖:$.'T>q7U;Gglu~UJ뻮nt2{J/& F]FܥwU潙N(M| jcmKw}GiٮLXFy6d #nS8 ,.~ \^&PX oJ!a zW uzNzHor@*b7\&6t_?fN1Ԝ CKmʯ?(h{U*E6~hXo.]H9:Z`p|&@%-]<H!\>Q7>U{c29^eBEYژvyz.$M!.*7b?D3'_Oy!~N-y3f^_3cDFߤOJ+:9bѝDv_tgqf>'& C.Ż2XޗR@w2<_縉yYXG&6U&VlVNQO䂮~˹DI{a_+M!N$-~GyWTD;vR?Okqq;Śda zp'@ ]k_'v@Kmb<=C><m@, l#h礁 ݝ&ގʚC|jY8 t N=x+F"Ae Bv[ߗ"@ '| C@Ɇ|(~TK` X fX#&@aCkO Y7 T@WOzk`z:!N}) u!hpkb+>/RT"|FB?&HuF\UY K*w zFnpKeZt ]Xt) pst+)3y\B}{ڈe^D1^DebRb.~5ޒ,ͣJoFSl4{1]u<*=W(hz[惦_Ș'#~LG"gy3M` {3@TcEpPWʚ|^Y{#缫s`@W>5e˿j}l\ Jc0h5SlW-:.Hk%Yی>etI^Qvҹ[*yOaR;ۭ*^}S5LmQC6m"[$5iׄVkW֕hz|oW˩,5Cesw6\:uDCwd,cho7[8疃PC4b^taR jԘgU:yiM$VJNOr'J\n<jM/O/дS~If=wumax j^Sy_z\ =|@@S E=2Y iLbˑ3}WG^+D ApQI([] -،[6 O`S3 {#)R(7z#evR/c3hFo>4eu v?N< n2joFoc>U}U*X_ioI*,ygΙT'(\c{Ad >B1ؒz-cL NaYC>L|s*<c|sѐ^gze@K# 1 )+i48IDRzA9崨 b\n9m}8hy:SưƝ۫[ܙGZZ3 Ndk~8 i2u9ӗ RijVSvֺso"Ҟ}_krN 3l3oIىWo^o3jc)w!q&E?XF1N0\=Ouɩaa'-Y" j^7WJz_ߩ1zfj hB¦!cz0S]]tyr ^NcxFeTRp-`ü49u==^@ Rsپ&ޗ$XOdH" ߹uƟLNX~Z+\W$L|H/Có)yTM,6b,wCLZsqn?5~v\?9~hҹhB@~ Y0&H\,y1_:Do({SuYeZOTӺ]! vyea=}ydXZ]2Z@ɀb{WeYz@zxVQP~k~o%n {yoJRE&AcJa{@iG:S|Ѓ )8T=E˜eu]d\tZ0Z|Z_(o&,! GT*"wpF$z{9-@2<TU_BPoi4w{-e\ 6WTںIlyo oQcꍧn٪z DcaElQPsVnؓG/Zk<A~jBz#X`󌍼D~.k"dm,L ]͌yZ=iF$2q'Q ;޵~2 C[M5ש+YMLzYJGo%5gy^@Cf>9w6[},Kouԉ)X/i7SLo^]W ׳%>w>K}0 pjV P \ QlF+Ǖ(1fDݱњ`?%uZ\doUM-" %`5} Tf)D9W *L"AK2U2mVB*\b_z9c*ˮz݉WG[(WEv!+i`a8k 9vl6[` $}զ%}E}V}6462~wCƺ ѣLY -Xo|m? jNh\GO HĐUCh6rH:+=ϻ dTG#FN'i3uH-l9%ji5]-l%sEHn s:qL~m"O}y3EgfI* Jyi GІmgRRO|[@-'ZvCiv!/%ZcVb.F#}xyK˿5lgYpcuhQ|f񞏼Ag֏0^qyXQW/j9)i঵!N^9jpuDx*oCJQ\Efsy .wP7]F7fk7:+_=/Ј=(E~:Ȓ06e7d ;OӣzlM$'ڼV fNa[+?cOos? eHɷQ\gol:Xmz$> `O(n524'nWRHЧKյ7{%4{%ofLiffw j.2TJz5HßO}i?ƆW?0h+bңdBf=i@FddrYq8ul^snt(W/es$QCg@xWgt|ÿR! jO{>IFwdu'eq=ތ^V+=ejļX;.^&9.WO?6]|̩wPźU,d*o^ h|WSӓq0Egx #SR!_MamwQ-Rm$/?ur?DwV G_,JzsޜGf"Em8U4tLYȠ>w?Ν!$P|,K0Voe5 $Jy f/Z.T<ęr8!U󀖢U0NLRDzAdqϐ:v,1 Q@"T{OT[Me V:꺡dĆ!r 61zŒb锵áJ64= W܋G*% cE}Zi"5 E#vAWWKRj~WE&!Y5ulq̂y0z8/Y_:˂u Jw,ʛX"n% dJffh{m#H tҌ3#{Pft<` H7eu8 :i ń$B7=17il-kEv&Kijl\7qs[e)߂[^]a8Gm+fXxVK \t&5ȇK{x JK6k$< ֏Gr85 7"mLٌ~M=(urA>IA˜ ;bU PІo)mWc*@n !ZOfw.;o F-vZ(9$`d(>-%{~쯔Zs)\#rc"l+ doOFiN^#+e_Ql_%c3Ų d, aD(ʨ^ρB@Cx"Kԃ8 i,pSAv||H5 t y?1WN~BoBTW ճ"r/?_"H:?a-E-h=Ñ=d&;Yu67;aJ[{Q@C9 dgCj,^-qu@S䍲KnKIf!P+IU\̂Tlp(q`&EPY|iciKZ]aM3&WP[y4Ӳy=<Ŧ?MfZo7V/LwR sY*p 0>3?_] 3s5@_z0LiB!}y/f G_>@}9f!З?C 9Jӹy~Ce'­pw H4")D c:<NWՏM;K]- [Co2I܂4d<}w-#Jy5c*tم*^"i$Cp ?ZV]JkWa 6{+kX?νd:G= :8 fR2>wt c- /Y|w/{|t"?<=벌vŬY;\Mr=IcNm#r}fAXa7Mxibrv uIxp .ԃKҠxZXӇN0@<3 wyM=Mlf&6dl XڅzD̰G-7c֪eLX!%op>s CA3L̙x-ƍW Sϐ̌}Uyٌ|  )xΏU{*GGhYV Eb1@/T5} }0XFj؞7#ISpWN<n:,V~F%ɠ!e3ƊܬuFsj}^BO-6(Yh*g*Lλ"Q!nEiY+mzS"QBߔPN c"XV䲑{'K#{f[i H l=_/$+<6Zςʎ6d ɺ%egp>]ft<,ק{k 'Sy-%ni4ۿꄿ+#3aeYW~+xJS ,?ݥx ꍇl|/n"5*9OJaⳘGkY R4wT1O kiHuu*J9I@.~mHM0; Ґ;<Wd:cO5JǹZqY%2,6gΘkmdd wo{,[L(X=݌sM5(d`7 ~W.Lts zQ?Cps**\*V߲͂{-C ^ꡇ_Ք]j%6^O|XJcDzW^I_Wۻ* Vʂ\qy#3UfFRF|˖;':/+zqbahQ`,`Vq ,0I޲Ze4j&M󌯆9qq;_@n(vL/b$ @iXV=Yye5˵l22FҲeu+47H0HΙ,9 }p =n2 HL͠v e>nE tFT4b$ˏ,} ŝ9y;/|{ UڰpN۶ʋ}HK ha7ˮWjqe,ٌeee3V˂+4Wf,Wu6v^^|p[xYj ?Ӝ=opEAgr[ݝ;yI#`g^lP,3VvYPEX>>k@3* + HdfH9 S& ېo蛈/Ȉ0M~P1<RoݦZmjEGzU.OND;fK~pM&J_n~F+:XDqwg\~uNb]3ۣx]JWl\cWl9}c%JqvOF}K,פ씿Z:^ IWFRFT E/;n L/<^gx]v+3NC}l3'.نuj{7Xp\<8%9vXN~㤷yԓ'Y|o/iyl}PUm,uƏ9;΢ݣ;F & ':_2=)3K[IxwN!4R{# ;5|)`E@ɠbxy.6C̞yu^̾ (K&x)4v9Q?lHSZtʫS^:l 5Hw>?-do(IWJ*Zz.Oݸ /io9rCi[[`WNk:ҲҬhP|+Zx\Cl=幹E㚴{4GfN]jx8 ^.v/Jr\~`Nr~m٘Z [^.)3[!$J`3kHm:v,4q+E]K)L ,?\>ekvV_ߚEqp{IY+|N}ZNԉ-ؖӒrکi2tၿqg&> FǪ80[59-W+zB`[%_:; չU3 olBZ&wmHvcѸ~\1˶yg8>E_ť̎nKaªj*tMV4 $c.I'jQíZ%vnôn ٜ'{kÉѷG|g->|&gE$I Ͱ,𭔙7[ُyu=ZA>w'~wR ۾ X j eZ) w՞mkR1Ir(W"rx.^Dž]qvT䉧BeV!G=TV,TL՟ :In- X==zq7uWA?{ <6}(JD<¥tRbЮΑW$Qq:PӘ(6K̈́".s:E9)AK1[/Zp& `҇II| iRRhB}l&dgb-8;tOpbxmbQ6e?D,{wh`GMR.K{ipz<}{OR??ݝE<Q]tM׾]bE*g}[ uxATnղe)3ЛT>g4K(?[;h e '&Imf%T& w@ڔ 6E W왥l"5lŐS 6 CbUAFlŐoZ%cy72ԷʼE[0VK@rˮ9m5H/QhNpg-auBa5́x6{HyZSVœ Qqz( hp'mnd>!^5Rʓ&*-*q-z1犌ؙۣ$#qZ%Qm$z]e2W].d ڡ1 Q'^0 *%VB 1i4 ϭЎx5ëb3 it*@X' otj H/'j3rW[zBp.lyQ[$6GY=vgXq9R@(+")y 0(?+,#cg27"-ϱyO#xOu' ˆ;1~mSA 22;brS\I cWM.5&\΂̮_(}R6ĸfeRX UZU4}*9ԊLoŒZW:{ìCt`7Ք3 P9ygy<܃ vaZT[!}׎"^9[#ۂph[!{8N^1Wܾ9#JadnߧO/fM7^ߧl3z9s `D6_;* &б.UzmG0gg GU@@_YU@Wc+T֕4g9н@FuBMQV:₞ r-jCQK֐utw[g"P& al a]6#5Pc(ݭ\0H#R;^8"dZ%tEL `rh%8zݠ-tim&^vr:lQT>-ĐpMm4Å휟,SRm-WythDtH5j/ gTaA5 96 t2Wh31k%bٱ6j쩺W[`QY7_>iZEV2u2oLGo0[S'==My$}ߞ8ԯP|Pp:u!&jMIVHA.bGyǒ(h\uMq$C ڰyR6H^]~u=M?΍ߖ$Mz;5ynEi}62=c;IE'x$`8e.Rgˉƚf ɘNߙ1.ٙiF49'TNB:*9BPv* oC9Ip"Cs";I+^iH}4{'vѨ"=XMEWDž88d*Tk)҄@i2ӃZn+ ~/I TE/Q;0S}]8gZ>uU~kme(c/+vҞ,&В縮ELbI8~(vEϽI>]cHT4CܡJE ˡHqWŇ ABoޜl:1wk Xxgrk-s#~!w$*7$$,- JXNVKs&ufcO I1k t1̛ ^ג TD^ݛ.>tx[48ώP#?HJuDi53U\Y*H(-̹$~HN$˺\wP ZRHNdeCyykݯ3 !V&%Y4LfXv)`EtF%igj,vsf("/o|ga" R4Hkfk;2(QP4H (\7EĔ{}FKV.OM r(G$:LwBo{蘫)A8:C]$Ri-9I.Tҕi)CH)tSt`r-`#PԏRK H.eك;t;-:9Ed3!tr l%l9=h4b@qQ$MsnιtA&/*-M;,4yb%Sr;!vn= މgi` MIN'zh>G s8I}CsT#4u1&]> pٸzq{04$b1C@q+)T3"; Ɇ\o qM *y,em0Ry75 e},DL# ) d_gdNj ! .6Qv ˎ IJ cڔ)of=w(Y([wff}w'3L/J 8 D+ :=j@\( #ĜN#СR'X7Bp!:$kA/Y'!nK]s@ mxPAPA ߊ"5=>=w@f3)vBޥ/q=uG:ZRvJ:v4OkNKh;@wu[os 'R03Y >w{Xv1;kq4NiS͇h"hztXZ:q!Ru^xDuiadK4[HnRpQmr/2XiRAH+`XұUA|BT>_0j6&d|`9d*YjκLq@7wVrov۟3:ݺ%'cǣ#mѶ%uڪY:G`{))M]M 6*ƖHDզPBt"_IVg8,QjL!⠧G^4YB* cm%G4}iu+ݣ?zߖMk-XA0˞k7]Fw $&f֭BxL;ވJ{Ƈba}X~8oeMYV%)xu\4MƶDR *J1R$M܁D@cmjU ڳȶ*V5zF |AsK* Ֆ/lfn";9}gfE=OP7Kże UYg|Wi?ot+esԧEto^"Vu|LD .O2RJMp/z D.Eܢ(t;O>kp/ mm3 æFPJadۨY} xjg$FVúƑ:jM2c^iKПTpBHJD BIܛ8N| g{~39+vj#}-ݵv7Ϝ~yܭt_OGq /qwyM{u,/?QM'%ŷ ˴dQ~wԃ~2^o =(ૉprnjlڷi67Ges(-|{">,{M-zA Kz!}X Y5{,o5RwCڻzA=g37:R:B.7&: N72t>R  ڴNAjEKn ^n ^(VtlyQCV jd,k/HY'qɜ zJ/4:KնFο7i !FuDc+zG{.F }b4UCG r>>eZ@CD)B Ӂ(|@ԉsmIG Fz?IsUOd: V7l,U.Z'~(m5/ eCFCW De\( k3؛xȕb w@_EUr-\B C>R־;[DmEnShЃO[/ - vHvca0mN}qޙIz @ "![S!ǒU^OQJ\SQ:O *!هQHڻ*Gur g.]6!z{zƎEy˗.d,z9Kc*J)6{֢i f=Ưzbf\ ϛ@%[I{5U_춂5Ӗk'/-=mRZz>̺ dwԕ/[5J6sچZǞ[[_W[_n 0ʆ%KtQ+y'B0\Ie}Iw]ڸ뮟x1JHg(k(3$3*o+ɭ[U*@!){r_7i҄`M#X BA{"\%|ƮUJ/gjTށA}xzBu„*,-.s|%AjDgFex>֡1C2b$̓آe F XQ-yaDDǨwҌ,ù&l<1A9 8b+flyle0kp6,0s /R0('`naYT W,$8H5|1$v@ 3dU@601 .aZ2p^?I?o@z#1]x3|dvIm&&ec058G쏌UX9=YDIVf eb7[ȵm02bR#v.\B ?>K Z tI4k87C  5zHe4r7Tp-6w³!tO mq?!'i w?& $',oizҋ@8#Zir~2{s<'C IcK+}~$@"AT`qxT >`_ R 9_m'h1<>a|.<3e%Pv@ ?#jwd(;!+@Ad5coy+q*[0HdHIGN9iN#]'=6:ixĴү %mO]|J K&j &`+x$Udl/a2Idä~/o }02D]`Ȱ愠2~*/㓁* J+aB!=HD^ǯ Ĭ1(}4 >Q$ԦZ P>X DEoXg l;{xct5 uX+ѩ֘Pb@XI'Jo2jG줽3F9*mJǠ~ ѺXktk@\Br.1<?t?]b;=t^ЪՖ _A6zUZіj=g PN Aʈm`=԰ QarQ$53 8و8hr*2ɠanPb!6/tƒb6<Ldxd}*Af2 wٙYtv65UI]*I42 *ra@cKܾ22ۄZovǶ|mב'VJJטo1B@ Gg:nlda9wQG<d9~ EM7b0ۆccFJqWMe"w2,|o}ьhս'|d:rʤ[傏<+!Z-1C*NvyfS(mkɉ3Ydbvdu; WZhPjWz1ڀ?} 4B6y(t͐Oa({t}Q`킡<ġLPlH Ge0$ԢLPm䡘䡘ȵ߭quȹȕYMY*JT=x~yޒ$b5lG.HQV=8uFғBSm}z@>.h&݉%Y(0t %6$3Vw6 TUv^2בڵԋlwעNI\LaPZU=oٗ2dm  x d޼~Kam:&"l᭼=(<{7{!pXχo.Sx`S[Ϗ$P' ˆtYVpɡʨR6eEܛ_Ɗ brmsD<$ aejF/9å2ZUQ>ߡ=p5( 2>AV\w*o3{Q #?ˌʂ:6+eye@^.EH&}4 aEJrO_KCs -]$4ɟ=~(ʡ W.ZW ,7ep!" .ʺ\bU(3#:ig-~ezʋ 8zY0\9󛘌Txr>ٞžӑչ{ e, FI6yi00k6eFc>Bae;öE1 j z=|- GO{jt7=ǫahzz£󨧡4X>K3leQ{\ӑ[*(kFaeƧ]mN79`6^m4^ŀIsNʈz6th]?L}t0 VK(쇥Ր(4g eU '3,NQqӐi>!-r]4]yeZOK5zX߫'4U%ԫ#=c'7u]g[6’ D!bK!4",TP)̓ On ZľwWOT~گwsEc =kbۮȽlw~НƞC #>Fy7k`U_RП$8{s_o7}㹦z$vvYH\ {}]|tk̗j ʍύύύύύύύύϟgw`=58~W0Ds朗KSY%Œ-KYRqh?mUg|JwXlؖ8g4Gc×:To^|2i%8jy$T}`j 2ݔ/^%Y{Lx)$jws{.p7o!(2}?@ZGW{S|ߝAV̭I=+bL[+')RORŤ\6wP\`7t]fC|ux7u݅kMž涘Bf+tGK{ȭ&[DsT6 j]s/"fEtl)[*=j\\NVf=ܾYJ6hVl*p裋qk :b0|q:0ad+UE[ yT]2^z=+'^߫={, [Fj]Cl|DŽ(ߔ.A]CץoXNtCgp_cii< T{4qm5ǁMl6lx Ah@m[+6(VBJ6 %G:*`x]ց :Je~w4eՕpBقmxMl^}q1+]H\yk.hv}$ 'L&}R!M," oSH-ׁiw\.O;R={_E>IWrxj6k34N@K=%n=_ ;U[Q8Hg㓕{8tx&q C佪6J˟i7 j:xo'JA Tye'{<| us$5jV4׬ rz.@Y_50AAqnj O+HbLv!@|;-.N[賽Iᠨ}">->SqBfqw zFYDb-m'+Dm9Y1b3C6-6E(H)gx^_ E7d{]|,Hf MxD9_\ZbUY#$\ąV*Wp3ܼbZ/޾?DRb?A4ÇYY5wJ H e+>D/bE:vQ!|q4&_* \" DMv[00cI][;d,;RV)ET&]6T+ L$#WЬ}%xHq(hb[\+J/F&^{ϰc)5ЖbgBZpiMeUW7EI2I5 -*!1(i?.?.ouy,\s dzmw>E.w6h|$ޫq>^t$sێ!TJƁ(xat ҈r@_ƟļS*E%_S E. .>!D+mc}dA0Pp J91t2H5XXϒ {ԆX<"q:IԆ5&C@yP6qFըqRkCZE0Du.ܭWpס66ImmjSm A}ߑog%@c߿`(Zm]5M#ٺ-SB=bWhCV)~JJ!`Ֆ LP[@vR T5Nm_w!R˷\[- B~\4Eu}ðևTO:@]FHa"j _6yPQ?10c/IJ7[LhɣQ_Y*4+H p|| K(ՅvIcjuS( a\vΉ4o'<3L*32{4/@({4G0,wlKS2Ǥ!N* 492b6OϺfϖ_ k,|pL5&; +8bڒKT|ˎQ՜ή4 k/c K5,>pf LnRN P6 gPv(֑Yd ɵuCSF|򲡩MF;قDN] ʠI#h9?ˈ2u᭐F+E=$.Rmʟ^9H2h\Dy,WzU0^ɟ|}|%+GzMFl{xYȟ`u2*9ZjL-y"XRmU6qq$pvIlG eM%݀`7#us#@EV`VcӦ :VM} d|\=jlQUi/ȽU;{%^6r]<>߅ݦ@xe ~g8 ebRwZx)Ƹ"H>udL~d7OAߚDkΝV$=|8nGd)O;o5}x&oOt=F(5 (,Ktzw@> ,aF8110cϰ.89{-w`I"SV~+W$D^$` +77)1c,xBALK(u*A1CMb[-\t/=z\ʞs1 ݠ=xyw.(Tq.$_Da"Ihk83Y28+Yh;”6\S0h*&׫$*4/loù,#/rϚMѶq3+ֳZDDTr/+ؓdoq\/Zh,`mIX'dôh(BBQZ %~ISE8F&RovyDX1SŴ #C5Yf!n4e_+{ΙݤZD $EJpaZvNL jJX٣N #jܒ-R,4}囄Mh mKmī#(|:JnX<8Op$a#[eDP[o ?:Xd  VDi2Š{kryp$v20ΧP?CNbǍ6'G@LPɱ*$i&@D,vIV` ;TU;87=^u]ӱ=R;J##\ۂy0s#4x4Ԭ\7QjHaSA'Fi 6~,5g;3?}SSèK{>ixy @ڗƴW3vk-J-#ӌΒ#(ĭ^UT"w,@UjZ@UO}dh3dgPCg4}Dk4`"knЌ7Beλ:oU۔/exl*='ڒ;e 0Le@mCkYh BTro 8KOl1ID7?'Ή|1:t'V", |nÝc?_S)|E4|-0h+Y (2k w~q%|MIPMI~Z&ůLf9-Y#xJN|E$фOɂ凑MTӀRt) 1 ^LPUGZ|AW`q4lKm9S*f9o$ Հb$/N9tW#~r+Zߞ?p\]x}6hytVfϣ3Q<.~F?6>Bpi};j>P!vDγ&;Qq(ً1g+"Tzhb'{{73fpƮ#QvK0}iQ(8!cȨ< "׈%>HF HKew[ڲW/P(ʯ&+5 lHFnjLSxXgq0toܾ%Ϯ})ƃxOZXWTHY Jd\s#)ch/Rs( ̋ YUizyV{y,+嶺z b:-ei\*{íŷ St3ctW"l d)I0ѿ_ix[c|t8ÁtUEbf>gCvPC@6W7#PGy* ~6OD3eJN+42W^-EF403ho Kw]=dZO%Y~_RXaОVC'0[ p *<)U'}'6u{ `A{Z|{i௓7$6N'w5+Vm=!\Llvڣ "#o] Ҋs0\ ºz(83)fҰ(9/J۝zK t'"UH1_c9'2}*Ov eHh}͍Q3Htv#Uл_vtomOB-A<Πw{Aotj'8 "'qׁGZ Xib40#^$P0[[LI!}.E&ح ݌ P; H _#$ vӪeeDq: Sr\޶#9FKrPRG35<KtJg?mw:T8/bc/5B:o5z:\l=[#ZUWP0A~1b[ 6!{ 'tuȑW~R!}-BIoiDN5(I6RզQk4G&kt%{9:4X䑬j!|a-eUʷ[W&kB 9p*19d 1W} 9pU@k6w?:r+:)؊ye` '[q /{WҟUYҤLc BCee7Ɵy.{U;hO$pnx[V_9) Ƣy ITW`5j!6^4'`#)a6*)>}tob>YTSswB ܓCSc}JpyN(wf~`@䋓 (&ƹg2=#L\(0 K/f) :9KeZfPfUm\v*kNц2>,'8GhͱE3O)P*WUɟŪs= a.P\GOU5:ɯƫ'̵u4Vp] t]o[ 9G'H&kh%!3ɵ/Z3륤2q_D.ƼΟ!ͭCh[%`GHZԇl_,ek>/ԓdtȒv&% fhKgfO,\s͝ŌyFKFK2A2S(g* ,`ʋ 7VK^yO&Íp27Z+b|thUɕ=o0ꁠ2ODZyH* Euѓ&܁6˻F>` ?oHGI[$)R>Db"{U H-g 3Mn6gt0Unp vCL>1{sb ʹJK/mrؑF{q*>kAUG{U>Lz2hgB#pU0;drCgskb@|ƿj"'Ks~ ?_ QKub}e$E@X&dCpg6SGotUPraOsQs;Qp}75?NT!rAn}'sup<k?c˜/2kO뀢NZĔ1F5 ӌHg. ngggƙta)7SqO0^Cb~Tw{dп+fW],0M!˻YTƦ Q$:C^ߛ%C1Kk-5cēn? a0"Ԁץyn}:}7`¤1eKG!g Q-L#{~XcbFkS+ GB ]}4}Z05> qXqWAyױHid5$_DCzu /%Ֆ0#R a+v}Fg{g uuf*z\*Z u[ p0w9 hfϺh֍s /粹BK Bv}>ԢeMs{mk%Ȭ,ǍŮA bew={u^woSe-֎5}]BZJ[K7)٦=plLlk_Mc^s8 t;ī7wt3h^~a+xRRf_B\ W=7K_z.GgxݚpZ]ǝ-hpT,9֮[2k\q~˞>ΐa&xNQܪ&zCZ꟬ij3hnT  Ѽ2/ϳ $*4KOAsլB3=;YefSlTsVn:e|{F7w^qp xJ"G- VE ߾RIOgGFJAD\U]XT%̯FRARɥ.ZXY//'QY/ |' śͷ jh}i#dI/At1pJ{sb4un89Vyy ڛ _PY%>_0r"=iY?YDpKPPiG_O+ ^:}x@Mf3g$v9[ z`L [J5[(Ei% !\oN\Z V-@| Q*sE>_Thrv8#|òVSdw46dc=i[jIOgcMp^' ZdNFDnjp0\Jwq$t|<; qf%/ݬQHs40<3 -A4xtgx|%1C3~1>C| :?gai,-tw/*'b߅6ɈAUkmr]*fJZQ+tE!V4+aI7eS1}Aoq}>gW|R1rJ{Nhq'^5P eP/ޫSuDl 0a*㛎رu 9K^Jdmv.dwb5x\_R^/-t(͠wtwMW~$=2m6akp8,lac@1ؑ ,(~f4hNXԗ)8uĉAf by/`LlM1cK Ρ`{~TWؐd JHX<馘7ߴD=Ks.$\ڝzݛ=sKj< {?}ЌΰC…l?u(0m ʊ_=p VYXKru*&NJ/vk:ypU+aTĊȧ VW[4f/Qg8/6[ѿCG-<\dmMGhJ?*mJB/>}P=vu̹}ɘ%HHKNzږ*xԒѬu[jȑ°ZvHD/~"8ovO+E%=_Dzn<ۥxĠdwi-[n왝FTCAC$_pӥgWjwlҦ@k+<rsZS:pt?,v"%r޳ 9UI۱[Ş lok$bC}X3So;>b?g$WrzRo AVWF#cbIOJWC..'8lԧ,YJJe.Xl6?5agt~oS(~4=(Xu.[7 nf'=5TlY$e|YV/ n"jm'q[ Ј@Ր\ $E{F>S4\3^2|CBgs@B ZvyO [26 =Bl< ӄg?!03/ː\qϨg?4|בc:#ZΘJ=rr#B> 3^mL;LәAh$E@%-LJ#ƇOGP5Qœ7H{BȪK ,,} (xm(eeGGhΩoR9RoHw>K>Ă@Z ?\$; p˴M=G#+V{[9 sLY4=h7Uqq>/'eq=*qկO;;;1

NX JUkďZBC;VP ,|=":: urjE*3d'Nx(swzI<f%jS8ܨةn#@Im%pip?ˊYģes"gP!5$ VI<[ܨw(rI!I=9 (ꅾݺ3#W: ? Ғs;[za"mx6EQ$T2&QFSNRFT2_9)P򍉢Έ {C(^$,P7t{NO+,ՙQ+y4fwtuρQlz꣋f$){f\2.,pO䏼Tu@;=zU*E>cbK?5iYpHjRɈ^(93p3HDyC6<Jꯞ)y?WyDq*^j؏M#%O*^$c'Qx߰Qnٮ؏ՐėEe<LYEvd"d4e|q0k%b?vKr`3ڏ ȞP˲#s,]X셻ij<8rZy Kp=ZZ&y28J=ZVVn侶GEtaH;k[~K鷨;#")<~:t̾RImpTbS ?IWa#x7~f؄_&D*b?d7/X,Nc'\iY鮥C^ƿU\$ڪXŝPD d}NЛ+'s2ذh]ߓ |0= $0ejBF9e} Vv+nTbuﯤ2Hdh^ yqq[SOLry~@ؚgD[[ݸslX|_;|[EUKono~r`.Ph2I^zCB(Op p{ T}:Ġ? AC tC.BPusCBG2G"q:@9͠LC[q8pRqȡQ(@: #B'hC'Gh9N*0N3-2 V g TơK BQe@U1#,)C 1T]f> tq 1*J!:ġ {)tUrhA B B"BC~i63(Qs1B: " oS#W20:BPȠ@dH pRȨ@e3'qB ǡb (Cf 4Bf*PhE@yݱb9tLeC5Lg:' A}>?u3<Zk>ddbf>䅯7]iSt]dPz(Ԏ"n _ wGP n^,Z.yjX d̫YF÷jB'qenjF[x!t z0 W)뉩k2xfVdc|?p]íޜ+)+)f`:L9#sC}Yr=.?En:_k)̓qg#g# ]UB7 ܦP/ jY},a,"U97RVһZ.n] IG\kkZuq.V*aG?:v\v%eIÀvdǭ]kw"];C嗔]sZ ةb5hz|7EvTS:?Ϊ'(e60B(?evo΄?Eb?k1?Cafrf=x\"8T'Cf(z;~%}ĿQ-[fSφPz*=kq֘9.!(V+!R7W_tA/P۫ )PTrKn8[=A`w)/E5nQ_'_!sz{b<LH\g/g7=}|(Uq$4̑ 3nIųFNxb鈁eA`z|]]j3잒mž mFǩ>)b\>$;Я8O%x %4胆$y>9Rtg맖w9%vej !Mc=64iދɸMmgMX3uwNXh*^e ,S!PRz^Ň5&B,@Yy9q>J?k{埫jc i!}gM.R[8jU)ɥ0\% ?g|3vг_+Y(, Q_}/ 6* /p̹/yTJネjak9ӀePn,%ן-{f ɓ eph급BYzb3YFf0GoBI"񬿟v]650GƟ):w2ȯ#Op(m hkن5q>Q :wΡq3, a 5chvB[}0kkKaʖo#G%JTKf:fJW!7X#-b5r+4IR+㯛l4WX1}-pJhz-{Yg.Ehle,IcWgӒKl_¤ Ab$b t-Ft$m^ OPm̔YcY,j̎Bc]:,9jeFk,9lcMʟow6cjhüJQ2ThCHX{ 7m|ڋ0bP2?[|*sU-n6숻L!$.oZjkR^Owp2-C *b1#Ίfʫ敶o0ֺԖrCC9MWq[Jh)3a/ﹸ[."WD"[;/zr1M`ؘI./m(ٗ|J>jiJM{_ 0+J휭v&Y{8;f1Ε;gq4(_@FI^'dupۘfR.hZr)鴔ofPtL˃&PW졗NmLQgpCӗP%3z0I#O/4;Ev“&+BsϺ\ERBy88 8\~?gxi>ҕ 'w Cvn/o'Ql9HHyWW6N!oFi*i*i*ir44 8k+c{A/ϸ}s2^J%M#L^{f>P\,37EзopΤ& ACDq֢V[!1aJ^3`8 5 鑌,֚*M*|/'^Q{ǻ`6;kbYanjwuB"[ꐧU˓+[K⮝Z9]މW/8kyF"JE%]wwm,///}v?ǃoa!ǹfOݬ 1w`90/:0fYqp"2SN/H˸ǥtٸPޮޭ=0E9Y4X+'laM 8}bl!U-I1Vċ"wqKمc g:^egú Тv^L^Gz7z[UUի U)ݒKaFw%ayAD/!<@;)rmFzkmاY}3.R@f)b#weZqFd] [Z_F\8jy3ⅎA@c&g.p!pFLOgf'evd峪8cHdv$+%E47+T襽*ċ<Q:&JU*"޼Dڭ xˇ"KQT/W|(HRt^˳%.VQqb,DG`gE݆;gU>ny8tʔt:î V[|wT]M3oپXJ$%̪CLcjc?6UvQG3HNeV%PwYK#.EG )g0sKX&:C:ac墧A<.0ӗyysv7&9Unh^BA6m #Z}5{V X~?UNSGM3 !ӭ U!z C@Kxf!v(6mM0#T V^aAuvuvыco:rM#Ձ Sܴ{ g_}DQW=)%>V#D9k*Qv>i6R*-8.x#U)>P!n*޵ _PuB E<֕UU]nXZ!eUn˹ Q?UۗC4DO!uUx2ةCjZd0XY8մDŽ eE_CަK鿂U%m&:~y ڈi;fոG_PeFj('u ȨwFh>NURv\EJ5+s2KSc=7ՙ kkKT%~]Y[:̒4%01C/mJL> ]:qny)Wh1e$"oAlF?D0>Atf!}?"uQH_j:Rnb ^Kq_6\3%YA` JYgg[83C> _͖ }5AScY%P٘@g#m$gU=XVs*ǠZSѓ3A+߶A<RT}e)Ap~լ@&jUxe\VPp~d_~--}b]mW|ή;m+gG kpt}hU[F .PjSվ(Yg 7l+AU>%m_Q*}Ea瓐.㷞qg?\̏%4` hvA֓N;U,ͺ,beڷj")GaHNkon/ؒ\d++QP@p ' a L?!lA ;ן3A5]Rnìy77뒡0եr>1hz_Zj`cK @@ @@ r -U@sE 2X/ [1@ þvz ƅa-t cBR/|j )lM) OS' PGQ5'R,]SQCR3E  z(-g(|« (P g)`e{!7(̣PMBCL(lM OR{ Q(( S8B($(\`ol/p =/PC~ RhNam ߥRx( PxF(GrPpQFa5f JIsO:m7xoqӆ |L߭*_s wͫ`ݕUՋﹷfeںW ^PZZ /}oJX'GS* Mp\eP涊`z>׏P:NI5|lӺ#\-qʽce$Sbg8;#Ykg5v:q -!ݡHN$ka&PqĹ$R v%ç$vzd4YI R,]x^ω؛27̴%flϻo}Fc4orW=8s~e~">}O_ħ/Nt3}g>|2-y{׹^Z]WN6PX6RNNAq[֊fˮL4x u] 4%G|w#2 kXk.oOz3bBXq~^2tS8Teh!$>?6*93%4Xj)oToƵ݋WOe?{,'vU|[~Uêx8 h0##H޹(c {ދu/Qf}H.!0vd ZwVh FkA| Mi$,wCZj߻ꏭsō[^.P3Ɇp^; &ǪZƤ,O^BnSBc&{[$ Vk+LE(2p송Xn7͹{x aNTD>L% ZԢ&vEU3vwq' }8qoU4$c=M1嬗:Mpł{;ˠ!ˠ2wfn=  ! =P! aL(O`??{/:#pH7ulkD9v(SA8.8q6*m;nJqy22^?=E}*kpS՝o>e(a%&b@Q:tkfYF0{+oIf(6} yzݫWw4#Xl6>4g "ew&p rFZygUTV޽5 'X鞹Lބܗry}oSF(w \nlTCT6ك4_2ݤ5Sr%e»!\jম^_ ~k#֎@;F8FI:x3!dT)e!f{Yjom9D+pL'#ڋL'Y#NjP&_{yχxGE&8zvlEʵ`oyx_0lO,Jhےai 5E𴾺 P̹'qnƳUxI~j([MOAP~R.JahH}C5*@=`庯q,Rޯ)G; $#3f&3y b=5xoH1ٳwtj]˚Jdl5Bw^e%OXt| ycXqwQWr/ \Mw~Ҹ+bǚGܸc?WCW( o a3VV^ C\ 5^x][mv[AxUr kEzܷ2Te!!dI!eqx=f']1yj ty/_nu_O>񪿀$#̲9]4˭"&m/Ɇ& 9f [6owoXH}yP*̀.LytQ>*%0݋V{cOB1 ~ONP .h{ vfW;]irV<( `GQբ~H1*W XbC[;7@+ָJ-)TxKgI,Z J>aag%jcd\irY,-#R&?^D'f傤)g5tcȞxjkGfmoq9rYJj<>ҌQO}CYR͕cRxF]hJs;˱%&&7 SS#(d9' 8k yDr[&29w-&g樺rG)LD!UOu] _SQ/qT9ϑjwT+aWyCt=tΎ/^%|{s/Ru/rr1ϰ+m#S7zj Ex9U~ٽ7^% 9#`sS؋68 8 )?z .a M$%PHJk~w dz6e* Tҍ`!$ s>.Qk8tkc2>{VkUa9Xu]ll)ϡ'##@qsWp0rn_[z׌\~3ER8bT , GW_jqtIp 3 eԺ؂shI]p_.^, 618 U6Y8^-#P%yŻA#(śx3 =H8YWS&0ff%8)rn̲\YގYކY, At`},iY oW @L*{vO?GJylqsP9m^S G>9n`cU|1OpV2c6Ky) NeE\4T.R)J ++54BGq#e924!ϻ(pwp=Bd-'j4V //KS# =n084]ZmFQ^U^Z,(-3{d\`*-f_6Np>|̱fEHpnE 4ܯ?6UʮAGLU C08m$> YJr%(yN^ȖKrA(]P 17B[נM*#YƱK+]# $R(TԗU #EUՀcaCׯt򼁔fbWT A 3FeQym ;]ߧx}Ț?Ϲ~hRbH&|yZSJ)r8QZn Y-j=#ynu+,U^1VcDOHy hXkZ)/ef[ɵ';s=q\=-&QLذ9RэGQ)ؔo!Yt@D֪.Va ك} +8vůg gɷDrv(_  @^~8~Ԓ0Нwzpمa[7鐳f4w5 2n&5Fzc)ċx*(xا{]=Pxma]Z_N l:|yrbuX2#hպ;7܌y6xF`8aE9V$ě1n1VxXncGpa]i Å⯸{TV6`iD ! $ ܢjqKӲd1ubˈrihإ]Sb7KOat/vuhx`p/XogUD y60t%V*tRmQb!wE|aNfVqJ/in}wկWfπ|-m3%xsIKop3l=5-A#O3Ɏ|&LRRi<#~Dz'APvueW TKkO Ӵ[ՄNM@yE6J ;.pv'L8^\jdv6lL JK FL>P/S> 3gIA${I}俶31J2iXNaZYr>V4Ib^b7* [3ي4$0Ksp'~3bGMɢM8AU4ͤE~K롌Q$:M\!vd\cJ<a_ #<KTo9vks/Q矑O3t,:KUsWYꛝ^wt&܈D[mW_j3kW~: U5`l&AZDab߅IӞ:*No IMgck7xkyn3D) b^(7,9(g\ Й#e:bzza ҋgiu[)mRVTH=Y;,rAKfr3frf2 3c&ik1v(3i -HFWscR<.k7kZC{ U5l-VEJÝK!W^֎a]֎Lou< e3 ɡuP$Z5g Mb VQO-`XOXpUoX:,Y aKǰsj7&]vnD; H5K-=߂E~p %ؒ;%ؒ^lI/[ҋ-Ŗ-y;h :Y6D83љpm$8rȢ *.T]k[5Fr;PߘI7 1zs 52[MB aԿ"`@A zb)$Ц2E#<*mQNĢ$\S.se<9v(;^+ͱ˙Xa;jOaVr{5l⺝^5jQs Gl_Fj\MV{HǮ+kP"mZG|<Uɕ1π\8%/ZџL.ohm3#ԍbLZ>He-V% Uf\{ *\DMnYSvNa߄ĤUrLV(1ݝwΡj5$hYTЏʳr.Rw34r*,J-pWwYQgwR݌[gÎ~xFPmba&z%:wzJwVĞxt2Pn]lSFl@~]ԓ0~2:Юǧyn 5eqm_Dy"nt̻GU jjz e)!zmOL)~;5^쳘sj!۵ٯ9l"7pPXn3)R& *'S('qAONL!L+U"累i[Oq fp&wrSQMIrMm[?s]{"b$}+޺_sn#y݁KF<^w)~/K{ t^[yW\;W,vZa,Er]!;v*'<^vmiN,hi1p>ՈRpP)4G25 l6rGod=dim\EnjEռ[ ([e nTzYsYDF@C^ss"^ YV̟f*>N>%+׺_s' &N gJscs U;0UW)㡰sf2iZH9 |<ڏÍtGg>hQ̈ЮtY?͡NYxf t>N}=^{%K[Ž3-3ŻϹ̟DbRO/ 9Oʅkl?b4tbۥBe%R*r8K4;8 RR$%kw1'8 (|Lʇ&OwasǙ-LY<2EΝ50"ȕ&F)ZU F3Ĉ7lOͅd5q.I!V W)rtRn1+~M1\ 5a2 ,!LN\ŭVca'<R ;x]>[hjS4(Ke%(Jem J+q*, 9-^"ŠP%>UcB m0F=b~bf+=rOEq;fxL_ZIobW[,>o*)8 %ݹٔSWr'+)``G R;n;vFز!9Ob`p ĝMs$wCnoO ²`.)I*mG[Ylpy^ȂT / Ka?&x@Gx3%X,6N $~n'W%6/ok? 8J+_X״= ΨضLDBYSij@6IRQhi`L?+ohX]-Pz1+|B<_g !,-FFyvׯ)Rց|ءL%*xzl*P cU@o0n X[Rҭont/@ >Z=g:=y6ܫ,<i: Jb''{";s5+"~[ #(D! *Tt>7aJ?wg qQX(,˄ /3&gčŧ}?wOğEV:OҤRT)]*z)!]-͕Hk҇RO eIRyGy|R^'ow/ˇJWr")R\2GY,SV)'ʫa[%[橅P+)j:KVA]Q7;}1K;[5Ҫ˵GmH[Kۥ>Ҿ~Һ\4 ژn$bcx8l|cbdgfi rΌךכKUFq)YsyaX-2"kBre--ٶWۛmpm+bq$@-ޖJǤ)rap@8*txX\.nAʑ {!OE^+?,?'JRZ(  eYjl[Uv)S[ ѐ6F@oh[@_>ѾDCBSQ=D\'i/ķῂ>w>J{_ucq2;=<3 &9̬4/5mkkaV/ε8KFZeV5ͪF`ZmMnDNs|{ #l oRoVHK'm eEyZyMy[H^IхJdP_ч1̜od 1P \*W!\&q#<|g|3He)^Z x;~,~oC}|?_g ;zz=_և.#1) Ќ*Θk06|皍`"2k.l1{FpP+<"-lzwCq)*DRUvH;!)a DX4M@Uh2 B EP ~x?hݎѽh Z6-sC9{<< VS` ,E5uC(t7HS2<䩯4U3Xmv Ċ%A M0h +L}>/E\ҟˍi>s9\ vs|sA]Kt;XUh_n 2X0XTn?gۄoj*} -y /7D4u*jER[ (7Qg*|o_ ^`e6!?L .\(T=n;q1!=.=/eE+7kG}W%П} AB|3} ;Ȱ jnX_ϷU۲Ge%4;h_a7Ѿ^jc v9]ȼɼݼ\KyʷnͰ:;69M):+~# ,DŽ)|.t@Ve3ą9֊ϊw|Iv~nRؑ8M Ym{"m04I?,KΑwY #$k'Ww9M=lٯµ*n}?glOr =!r P{!ޅmƭY#ƅ~ӦJw`o#!@*XI'KWe _ڸa%VA<"aҞ>D;fvue@py =%߇74ctH>!ɓwS啸v]kCް$µPHWDAA_ }m|6R>\P1"zЇ `~P=P* IХAej6/3lݥ~x(t/#I0N#@1J[@`5hՀx=ʅ{ t10dπa̦j@w} ÷ FP*Y b1-P+@qC0(xփ~ #TUn N!-X 9( , $pZ`h'X7H̏uB`3G2čsk~ LY 9l+8xТ}WuT ^kJV걻f)}^a#,uZR5jFz^HE2+|\oŠ^p{ӶN~C?P(BO0 h[v;Jb C7 -[]r>X<(ɾ䊭54NxÔ ==&3bw. rgn(ufD]-\>t1Vw:*䈯ؓ-(QβJg?WPۘqpfa1 m%mi=\2\9#a}ҋV"F1[JSKlS lS 6ס߰lid[ 5ߴ9ƣ+n; KQ vJބ4 t F=c:i?8o2d` ~;YP U{҂o%sPMN)#9H)TeMvT{zNzdg'ng+Hpb!}<`!)@ M62R t$K 44H8v<󥬢H(2qWr2uz:ź/d63~)a9,;"t3i*>`N6E'4܎e <M%oLS?qq-~bk-iVhP9FZuN 0Ԫ,GO1]z_puQzxOaHF|tb4ۼ6: [Hf"RLyv}#wr))SZS~t)EN:i(4hPk#\3y'O!Jۧh 5 mи mPS6BLfZmbF5^@nkY%/:̏s$;Shԙ64dyJ3QƋ(e;{bB'p>[_἖W6Jy~XUn6#G&~}Ȫy̰^ n3=ILM?@=*#t7דjnt'v&&-̥uL=+H2ؗk9l: Sx'<ބF_f+ ;E}6mhd(uEjѦ-۴%L3B+/X E8Zx`^ i̕!2+PT@C[B(!G:>y !M/xmɍ6u$UV$uP$߾Zͨr.OW WVj]Z]w .qdjW-ZukU8j]?[ie,jԟgcH>]ۆƾfkI D 8Wo:)nZ1t>!H|!jlw fo#IB(s<QT,Ck\cem׸lv k% ;2CHKyt,JRGt,19?s HbΏ;bv^c<ćȡ'e8;mGem!擺:I`Z!A'7 XM_;bˈ#`N1`EWN_+1W:+0UD:*ϓ*'asHnJy9#f>vօ4S yGf |ir],N[h0"v}69 uiރ&Uσ#\At1zuU~@3"8@%TO2 ^=ޢUo"7U.R^b#O'n MݲF-p^Q0mq0~1nw}.r-Q'<@b=?㝺]r@gۅǶ}X`n2/ݵ|?]?iz~s}L &$܇P~QTJ WOkZ Ǯ|*WOۮP>S+>Ӗ_Wj|Z Ն8mO_͝2\_ ;m)F=vBcW @yďRLȃ hlU2xnN۴čݏ;mNJrHR7V&3t:s--۩ZY]}pw ]$~X8 QL-+A*g'UaټerBR)e(9@;}ޟCfv=ҳ Z72N]IvU(7SǨ_' [z8V(8g8rpr$^DtRd\n@hłOޗ^U\nre1L6XO>1W4omDW^Z5x=  an۠a3w`G1sɭ1؆.wcRr&Mݥy/fEJ 4 rC;0tA7&0=1Cp> @~& Ga4 #p20 Yv~Oӥqp&MW1: "&NS,Li |15<|~~߄߂߆/`Z{%L cj|YL?/ku5 C8E_J<6T=v <4iGJ* G'ZNyގBo+Mrj|qX45̱!76aPU8>%Ȉ UKV[tX< XW.7b9#[}Qt&Ox渺wQf `b>o- |";Z"z К`]!C]5ZJpE5H{,`0M A۴@DpesNn~0l'vp `̋32=}X]/Bݺt/ofGh&Pq8e/9u_Qko&E {C)v[^)I_DԺYoG6oH C5BUڕx iֆB#0⤾Wa䙺V:aRʅyyq5}24@3_dx)T}]={$͋u1t^JKbfȧvSեc FO$f/GV]_u }ATsŀOH|.읫~]S@'V=7 K1EB̒6#[D㝫Y0~ >&>gm?cYEJyTT<06%L͆Svcԋ5ٖ;/8v͡r\h = DRh~,]HIP<_WPj^)ܙ{d~ՙޔt}ɼcBjEљ/>eSj㢕##+)}415R.ٛ.$OJ ԥ^oƥTHoI/OH/W9 x22gjN7-e }q} e|\J*#>3IQdΓ'N_ 9K}wDZWL]VMW$]Z\ޑNREBn/FpN]{ʦf1O#n'ftSf;3<8qG,b19{m{iH6W*l^9_'ɤ{hs?=%1&β S=[V/E*^_W :B Zt?@Iy8-*>@(;Z%iAH4*t(VΤ5C5?F:pCUPA[<@K #ƚrNnY.ʔ24? YH=#U$迄e%yK_>LFRƓrZQXEh۫vukE,?'2d52܊v^HԽ ꠥ\XUێ$ vOb1dX)Q x~TtX?2vX?l+l:lZ5|ի,W9@3c렖/ Ɗ&= m>!o 'U-krŵIptY:=Ca l't&5,1 Lvt@UE˥*i9yNj҆D0a8QBH֏bMj GF$Ep)|N 1'8XqA4tDnE6KAUn.;VCFSK D7(Na<@QiahdI0V51Өh]bp~ )>T:TK2FMsN w@̞vzEkdiN`eLqwJ֝2GQ J`빀 $֯Y[lcϯN_0ZSmvLYc1\h͇ۤ-O>pQ9@8V?;^Sܿ7іc9n1mh.<8&mQErr Mx}g0jQ am(\ M?"xuDn9V,rͩ&*U22cRVzD)n {;-cy"_qy5:n #bG= (DYH7 -$Q-zI- ?s;̏+ M.W ߟ[dL)c `t7K;4`~?lxw.:*&ťjVc՛KFbNV/t;+.d$G|)36*㕞wBݡm=`>XÞH1H>e)Q (c}d<^;Gʚ>2Pd 2{ *V#L\R5ߺLF\@=k!&o=-tKt q2>~4QCAM{‹D5'ڜ‹(VoIK^HR?noٿž&_ C!O^pjkG/TtQhU]*kFY&j 0Os[k>ԉ004Y$s}q M(! O#3y'AU#؉]-)W,pF51e`krlĪs /єۜ|MK2apK]]%i6i9MPU=h;;32,Q' %TG2eHK{PKWZnt-Ägx i> }<F<,f n3nM \* KT;m(iCZ [; JfS.{Nb4֜SxO0)u/ kE#ʯahɎ`cV~ްdEݷ6S5e~$5@{KӤN&_`1Ӆ]3&0D Ɓ;cVk@K x :֜h vt"?D5EnG9U>ASl~r*-\ʆYܪ3&3t#,>܎F'ZЧ^D+K ȝ=4 PzYCr!b6ͬZ9Mvps /f}Ą! ^)7jbGeϣ6رZ|7(TKp{ܟLSK;K(.P」hг0WYv́mf1B@wO:%{eKOHnvC1U@Q/o ӬG9G@n[zP{,b}[Ⱦ^d{y][I=2< OQsq lmF>N-NtIẢ7WGѓT G%wM9M]F9(mjZ(b@@;7.=72.v,Is+IY@7(NNʘU&e|c9 fja\K)Bo&[Ȕ?x8)R"2RhtW8Ȅ|`RiO},aύ܁Cp2= 2$,1?/NdSI$)8MNs>ؚK[ UlZ=0 8lSx?μ}´???.?J n~yKe/wd ?6@ U($'!DjۗA|&x1p4371oyEv4(YJVc PGhsCut[sZeaݨZmׁ x^zf؛zO+.}7_#YV;^9,ڛπ`Py~XaE߂?o _uzq&m>?!Vb]v90:JaxCE'n-xcdݸ4g07oO&&@Aͪs+a_ރ9&sO4L(?U"\i.4d":]&:\ӸTU>grZSHwaUI*%K+VNZݾ 7ޛݟY4we7 En,чqWhF>Qi7p}S k9.|pFaP JJgrw_\AҜ ނziyl[CA?'u옶g؋A?R e$$Ҏ^1"CJ(lL0a>KiFEa L?j"-S[aʬT~ur4Q|~-k l~Vޟd6rCډK,yB.KANKPd2 eH`[ I X سĞm(±B Y[r^7h*7j٭7}pYc)"C<%zA:(18[ՂӔJ226h: q*5=]&/6'oQZ%J(6@[KW.g\X:vJ7Z[*(.? aM&'.Wck#X,<#6D /lMZVa.ٌ O&;lP?oZm)˕+kVWúxN%`bSɧyDA*rLP I@r.EN͢(RK|~(ěҒo8HYd+^SVRFkqZlTTEs7xЅ+W:3u+B 1K)@דf?ShUN-FAJ{9hN;pp:Ol!_YlPFt)~?lA рoGK㋅K)Mxۄo 9В܅o3x,e]GhA@}jnZ#\7`(s}7n[\ 7_naf w SZkS2Yc 0=}ُ')R8- *0)]7},I>n.tU~+-<*Wfh`902a@2}rP^#.͟>iģ{'Q)・JvpVUѵ_ NO*p 1#4v-3p fBڄ&7M[cnjّ=ZGrI:<Ϙs V(VN^тr";8Ǧgx@c>O lsS_/oڝ ߚ(|FL;pӼ}Zm,]ڸ27>ħ*2Lo$ ,T'ޤXH}](FL|;ߦSvSk wHF|| |*J$,ozXnv$kҟ %^܎9~f,@V4<\;H0|/k462,?]0]<$/;?C9mGL ǭypn.`mf`^5*Q=5&kU]-DdvMp5V#GW<攍zEd΂39Y{s=~W<2(|\QoVlI' kK}çA!ӧuk>>(-\[qQ8ރ׊0 @{ɭR!PHgu+ ",CȜ{L)axT̓F:骨/NTykIIBJ"8 a&ֲNhٻeZ>q@}50\`K&42j|CeD>o:DB.PwTRCw5]K {8-{~g:145ߞW é<:NܟdҦgkyu TS^LBC4[6܇"g+\AGvKbջu >Uj jHZom99?yI8a&Ьa*EǸuň_|ʿژ?QYtpCo"Qs 'A+Xާɀ97G Ҡ/Kؓ dQ cz!sGH)؇b-4Jߨ/O_a6/Slb WnaE/|VB*V~(,UUx~J"[}p*_YSR1(3?(=mꝰhMV.=N٥D-䖍Go zip# ֜3-lRvlE}Y¿+HŬ2Z&yrWBm)~5H􀠗[A"x4 >ATN*\~1.*" M ku;v o5Q7b#|iBx`ҏck?iRM^}l}>1$QUBrq !P!wLC=dD}1I [Jv,%߾Ud$o&Ioi"^Upَ1z(4&DQlRMUvײxIG5%lJ-Nw4M[SRb0dĵ?Y5?Uy:eKqOzJHqpOri@%U?e TXNz Ws2@EOKp6~1\[\QWQ{U9:TDuylg Qg>Hbikm=jbPe0-GA<9!hKS%ICt~60SuW\3Bt-~$Ne}+@ʽOy3g,l>83_q$|z\ Bp7cBiә3ړn|ýSdr"鈄ގ9Cư ˽A} ^O2IMGE[|>`$/}^u(6>); ,:zd(G$|BXݻݘtx̹]Jf Adj;šH$- KiSZRCxbLr(\e@(|U=HݽkTqo4PW}`7FsFdzbбU˳q=ym'$Q2<ɚB\R9Ҹyӊ:|W&@`59 s0 hLP+JP_T5uckH/k^3YfCX7[Ke ,vv=+oIt1x_!u$V++NXYzUz߽Vh_Cpxސ1J! @cy5rwO>K ;!qkogTf]8ܷ-Jn]A.Bdr$6,q&r!_HSw5T"q °qZ|BTYIeT9.F#ry7g"94ǕQJ5k4X %QikBVrQ fʞPP 3 B k#5 QFH#:tF _SG5UBR (3m .IzUX*E//OudP觎lSզ,WHZJuo,Μ9<*]ο&6o=^"7\mI:З6xl!2"|L:_#7_=wmů^WZwt@6dنVi!?B;GLA+[O_z}Jlu 3NGyl)ox;$]3lut1v' =)d7gYTwå"Uvw8>-j5}7iO.˙L(GMZ)pz{D.bZ,J Uh;xTq#H]pՙVNhl@"(nHɊIɎ=RM g Ydstڃ;Zp&ir ɔShs}V,kg.3Y޾|{߾cθn:$MױrK~? {x3?4b4GO& O'.&nFР<^!sLH q21 _9~C9(">f+D00d瀻3p}xdM!\{$)1£U+CL.*BR䚺@:jcBuNo/,&d6 jݎ "JB6ߺ`. C-zRkԤy%'|-@t{vD 6<8&@hU 1>LV%o Uiy an/ m^36|k#|(Ø;G~"m߿ :#4=B.[z_#WXj|=0;ĊcYXŐ bhC02[fx1q$k O$h汘Sbo[sei@2c@搵TY7YcP>6@y\Oz3w!EB+t}k.wnK[ĠmwzpAތ0bGBc01yc*nsm'-MUB`DE6-!u(.O86QHŽr%Z6  I!BfoOr]\!Ύ)[3^*BsO` GIK$&je CQ Qo9y0O:|%,qo6ݜH֏NAsύ+2{  rxLc~%U5/ZolH:ok'刚KM S y[6}VW38v'PND[V_J cb7-7EUh.lfG6$1B` "{/- > ')P d|y\);>lq=ك^ J־%BpJ_߈VG2OfzحAYERX<..DMȅݜUx8@yT^ʛIE=`(/b-ol {Sdm̥O[8V7OoċrŴP*ŒRɱ<%͠;ޅʖh(g (gn=ecܪz( T :^PqgX%Rҕ<}ͤ RГ^Ÿ͆ѢdаgR[zy!*Ov.B.OsJtԅJt3+\:_)G'bzL$WWI$FQe2U F 9p ?JH؍:U= *uBTN,N׉-Gɳ D(=`4χ&o5}F# {#K9 Ɍp٭a߼ƒ~x)7Qhl=R<_<2A o~GGЮUzC1"Ur~T]ytN-Ki9˴2[(o(NoTSQk7AT7L4x!z캔}Kw~;>˾ӋoɲqKhﰔ-t-sr )_E+a5\!Y@[%ϗkH}0a?ڣ툝gdbQ cTfq2A_.&F{-+VVceeirR}^SZˮ;ʺԅ;Zkz re;SXcTb,5)N\*+>1vzy(UVYgUR.݆*=mKxqj ɰ)Zu>ضno9oDim-O֐A)=/N ~jz˸gG hVw";\Cn}j[_5h V-P)oP%'ub:TQm.Om⨓?omϮg:K+UsU샫Xt }APʬi%ϴ7>XSZ2ëLwNϰzMmv| :$C ꜆BkHBuC dZd&*/GtP6~7Csw +2sY 'CBiThk_ (7r%pk2WD;llmc L@aHȅ\bPD'Ny̷9lw+ Eܹks>8CPz"Q\ 7 ;<6?iDCd MڃNvvW9n)d-Sc+c;[vz"Cuͷ_mCSk67kZw |<9,9`Z w>TϭESoigDٖoAVՎrmueEV-]]gBY#XAz킐I>#R~ފ)x.>W׮mbX̑ȾH2OV5'/mWS\=Zٱ QEt˜EqI0aMꛀGş jغ9G̾3>TUQ+/"v.X\~n N1?;͂Mdw#wSxzs<]cq$qd"gw1H6+>Jp}D+y{no2'l>ͫ/Rf)ݨGBvbIW4,ӶHx~5q}9DEXܗIsrOp'fw)ًj>{cсaa#W WB]'kK{2>onʩ(YzY~y?PfwY@= kKb:*<r:ТI. {Q &3&f')a/2/wqmHl"R)t;"Ѯ ~^\~-}.xm}Rn'܈ezxibGН' Xd"BlDI7 rfO Mx,?{q~qRRpkz<=e'pOډc^6E'L0XL{[bB:hA=8d͓e_ˡܢ/ʢ3@<⚾2T QNK&wѻM|2b=#,fqψ"ElQ>1 CqUbS{Ȱ2,2\D_4Dxo"˽4~N؄sFо;Z%/V!jQ$}P+F;y$͗ =,lɮ[iw.%کdԆ 5W j0wMS+e셞aes:T+,)5:^k()KҸu5Bn]Jpq9ލ>՞$K>ͨ+"J)ppV44RHBfϚ- WURZ\Psj8Ѐ7帋t>XxwC D D'Ɯv*J3=2/~9UrZ"95cڹs [ &z7ڀ"Ytd'%ٴhPM9_l /Ue3w~=d[#DE: M/(~;+^W+"E⤾^PsK#3#3[Q0=H4'" |ʦ|hw<5Jx om;&[ ;s\3\T3׾:ykҶ )IВKrɈvɭ+39S, %?]? viVl*,#J#J8)THڛIjw * )eÍ"|q. 팝Ϣ+)3&UDuy+7f\)$ l)Q27WC{+P!jTCtg}ؕOڳj=bm!])G tu5*ʱp*^Fv{L,k[,Ԣܨ Q{q3% $#"d96݂c7RIR}w寧⫡colfc#(FT[*=:NYڭ zː ㉾5NoZi!bV_atow Fwy[+Ԗ 6 g3 mk m)Z ߈b.=bSrt$0 ڇloHvE %ԡ 2fNX'<?c֛7:3ϋ$!a= Ŝ3TyFi}\ORt+n%l/TZjmRs#@^w_R-{c6 x"CXr't;N?}z ?#("G,/P KS*w ә6f>1Ц f, 5=*ў iO iiٴoFri.]lB]PgNYld̚Z;oE{n1azrtӂaㅉ^9.E- lB=U=1gYA]^o8Îa!Q#TO&tM[Q j3הNHW] ՚( PIqƶJ6Au~^M,ۈkƙ'ny5<-HWa-gC%uAboF\ŢgE˼OieҦ8 MzW[=]KcU[f4BDet-3cH?\bVt~蘿h"y>Zɯl0D/VA=E#q!Xw=s-l-9ނkC4< g)F.9E8}ы79KS~]#Io˥-QГtP#56BE eҋu~Z8!qrMNV^C%<`|JB LVfYH_ 5 {y1z}"-&“}X䌋SwpRB40a}x3=Prv9[J'buX8hsTWI9Ő&e^=nC,'V wyv_iSŢ}E6{ߛ芁ųAmG/f`MT Dihf 鲖Dho6'e}m 0k7>m(ÚmAEur8)xRJ+HH؂Nxin.jJ@3 u閳~ Q $(jF "E8L~WԞeyUKL9&ыnLyX'yud{ـm(e͏h_0l8!!\ë-S[G`☠l _PNnSƠ/r"vq }5A櫰Ijo?F8C XnfC暔wpRqa2#@[_fbV}E䓨!˜T׸Fq}|zqXgY"OXJ(#wySS{(,uBca^H_QsH`a®Ÿɕem@PCu9!o//=ЍFRrtڿ]8TU2v=sc>YdZ yҘ`36D\1'ͺurw|]{=2.HM]YoWDTJ,JyW,|F@AldpEgߴIJA)<$L\D#h>TZ7#zXM3weL?)SxbLffS*&3U %wzrQΌ%$pF5lqwz ^~b*ORӧ]+8 Ԑ{w1,l6>3N8+ύqfh{K{/wm{o[Hy-].]hRvUh)sf4v̙3g;m(4]vnN";t :/sLK;ԶC onmoT7,0=κql_=vg;U?:n)ںwm_P+ExA=%>mPUVM A/|W5\M7զmKe7J]fwHm[)#z[GWrPFUFn="R}v&-r=H%z3S+@c 0CNs@TFDeph)b/1qDuݺ oy[iZI锊^eg^JV]qoF;cw"^wˆcI_DS5N+L^Gp:=6iUkaFMG.)*ҫ\<Or7h8Vv`̯ZA}?794 ?pLۤhA'X2c[~2>6Ct B1 I2z^T+u^Iٟ0K*Nj(/\ J ?coeO'N8j.co{*Qe ? LEX_0׌Tgg| ˀ(6=&:Tb&:4F&HOpٯ#9N N#`FTOk=ƍoC/:#N<ij }E9shHfSKG9b9V^*P(;tm> bn~o~b]&|L :gUvD-KpPxkpK"Rz[5Uo`%~٠}&tB-ouzQA'̓~Oޫ(0 >y% s 2aW>Gꫨj >c]]nWE,il|%/RWHmQpEgKAQh"# irb.3M #jzӆ蟯+.tSNqB:gx(l)F?"Ƿ=Gq %'nJôRGo!W(z( < J%5Pa|І"k}M}%+}GD"OFI{0‡Hu'Z뉠 e}#z"HC^j=Nk3RaϠ u? qbr2>$ώ{:FS fz>ȶ{Э5U;PpS{ۚP>8]&#ÒhRH~ǝKX,Ii;v`8~nOܱ=<)-i6i vj'eɥ5(uZJ\הq!]\.\jfUt-. %N|ji"g5VTn){cS7s6pkUZ){&3VJqGkr±ORfgOSVSC…Lͫq串 u^a^=1o271WGͶ.Hy۰a.pYqzG?)L>D-hFB3?1X5Xuu/nbS(GL(hrh5b% Z C;e^XZ&D1(b>M:Dݰ!JzJz5ZEW0~/-h^1P@Tz"7wYKc;T"6D mnh;cUUe!h}/,6`9W?Hkx@O">Dw=k< 7 xLYseBprc8qa\|@2Ê ߳ 3O!굄T$ pfNdjEB$|+,+˩󳬑9VLjaƖ:93QuE&VL?!0d`2tK{?]+pġzsKJF qŒ.Xs[Eu]o[gsEօI1=Y˧ aI?p3\úP8%CѻuBXuWXֳA >_w> +ZA]`ˎѷK3g\lV2sƩ J󫗂,>?-TQlPV%З4s8bzb Lߊ_ixvl6f94:j%:|t̝$YyB>2hhI*bv¾3) d20`PfRэeGYwyG U^7"qKphP9 8= NeD#0cSc?>b?{fPx?t3òc.gcgmO 5l59Xga2\lThf1ZDnYfs_-å_tC"f4ʍxsI.:C5IHܭ;jEOWX [9Yy.;A-m 1ρuv6wܒ"I-bQdgL <6bސOoQF,=dwaaU}KcڿNw!(z;ّEꕂEAtXZhl\*x{G*D?:E5<y%N;k29 )q:*YmŇV13\>\h4ߴ|M }GHmx:3;s2FN`V=i l۷fėk9&^7u 5Vl!^Ə3=[K+{-k=8~c0lGCN-@+3P ,vXZ-ZKV@܇LFt[x>Zo̟o z$%[Ofn G/vZL6ʼS[Bz3[&~&_.x+|T6+ 9(U J<1ry[szrJˎ<$Y%e!SkS3oAp>ي$˜ݽq=r*TT[kQ]Z0{6^0ú-N"quEu|þ&]GO{AHAŢorYw}SqZ9~ݰ^ްT 9]Y\EX6&CJ7z'1pe|| 0[ISvXt~fkTrxøwUؗN714S\';,&(# cl%W1-\Ka\˄Єkj ()=Kdy_hJ]|pB K.J=x( dA}u{a}xj!CTb -lq!Se~C*%p^a{,{jMK|/D=Xt 4?]&*ۂN˜V*{|P`fDAz}h<7|&`g*1 2dP?agz.iYc&mLa> n,-d'q I$q:GIb7O")UOÿ;rTXR=c~s&>y4B @:mɸq1OKn }-9K<.tU2J"O.ZVqq/}уZ^ZՓZ*bhfz% f6߂3[\t|ˍdOs5p0NڿkS `wϋxiCS6eFuVǵ6x6pS~e7B " 6dMF4hBBf 6GC#P>mӂoYN:Aȓ>U)H9^B75u.d4b8 m/ѵ syz9BObJ7~>L͝#ljOɭPo_#\Li\Ⱦڤ9A(`<sm92$h:h`q. 2tB

y]G g1$ұo{^+5KwȉoX?x꿑9-m8:_yŷ%tB@BgN(.[9hu|3Paې:C 7fƷgX- sƺĕUd,e C'c`gsUnv`bC+wY a_oz_q-=mά+>uJt52SK3@E]k*-/,+_Q$.Cko\sDCЂ|}/u?a'~2>.@3=0ׇgeܔ=Ϛ0̧?΁]&-xDD'UvRVb߀`y,+wNWvaC@D@F!I-8 m %!g\QvqG<CyҴ̾;0bҨy9*=(GY`(dG;;(Z{ߢ&殘Is ۣ_'Ҫi C~>N s74zWam5.WiæӲ/eLD+ щkN,QGq>+VK*/.[9h16VV%un|\|Y0m#mi6nظhC}Mp#=3;/{W8YVol tÚMM`Scæ*ʋtWr)mZӸAwxKbbM?B(jmGy*lQnnܰn׮oskz^nel,-F ȗ񜼧E,v15nZQY'\U6tS T\777{>UF vZڸzcSd#k5wтL+^""3熳_/zm\ 5fƍTuFmkFW NKMM[Er+f%Lhq{v*"7' WW6pyz)g/HO[Oy]R*(E =b_!KUu+|˷-kl,vmS9ٴD&Ց'7&gp>ht$$8EѮN. /= dlRL!Dl2 :|i!d#gvD)8+2FݭyBs!4I- GP@AQP@ԉ֣JIeIϓ v=H#Aߥe 4zL^*N{<"IN 1lQq'Nգb(8 U '!< ?`D"m }0a+CGG C=a=B3B+# D$a9¯C8mB=#_"̅5#u?#EȄ0",E‹>EBHp X!6VRdr!īl"2O+vt ۠.EbI6 ^ؒȲ[ff0D̸b15  vȻRyz(LPRQ؅/1iD%H/[q|_ w/ZQUWH5SZ_rQ\*BXT"].04Cl9Dg'7'@*`>&茢*Ohǩ\!IHaUU`==!(~b+x }@Der> M`zI~-;qj}ar,`JSH$ 5w8䏂_ !? 7A* T~%Dy?WD-IlpDMS!$/8R!>, ɩnͪn@C_a)H z›  qމ6 E=zCZ]6R mN v{JF4Nv.a$6xAvw)>WPݲAC 6֣ mKy=m8ARX"'D՛>ypjT(X:Qxpy񩉢i&ⲑ^TUW%_ZEG/I*(J N~Es|%ߏR>Pأ@kӋTwR)_Qw~68bNfp&Sx|S x _~Iu ۅ~P" Q:'T~}$#ŽHؤׅYS(#0v|NcrYu;ÃSN0QB30^"Bݍq&\_sV ?|ΤJzЗ VpPHYjfù){BT䶧 Ќut'8.k!16.>_%6/6P̲fs~υ7'..o}K O,[\Te* evhʰ]b}bZE9^_{BN~[~Btv*ZŸ}}eV{~jѭMvy*MabE@]ʽמD~_UpOCgQGiQa$!gw ϊ/#z+=U3x]eS#h<*kxiA:,jg=h=fhv: 1ΆFs1w劚x su$iTgOӆ_ %Kxc}i_.yPM}"%rNtqJA[~F=xSWMs(SO,b2;-(2WY""O?8J쵛ӗTGv(3SԓE>ާZID+ +W\+Vshz(U+bZi4e 2=japl^RoӦ\yLl3\k(ZF)z5ڐa^XI<{p{L eEG{T/qϖ؃-v}^B׍ߑ'ڥEJX=DSxyz*s)ѱQ>-˛ؗ!؟FϮZ"XE(qN-M$3I1Ո\^H|2 ?ض tpPOemH0U|-<&dh)(q˜ZQ\-VG1~X}vk63e$ 'NKiuv{3|uK٣ 0 B ՝o>j\o03Ql{B/rvx3QgU4$aH{үNPѾ؜/?bfɫF^S/R Gzn+@J䀢&;YDjG}|H?4vP~@T&r*Cʾ,Ez8$w.+{\ƨ|0΍Reg*(ѢH(\rh D}BD:x1>TX9D_P.|/%Vޮ2 5PmB 3Um?P[x ^sE7/"nzYvbFH 41mh{Gq+7S1/^ Q8{=˯i}Պ:(06rj r5Ӧrhjݛw52UЖ%4J|SBt}JM5:R}. *NUcӧ~xغq>GŠB0@7f4m.7[uoF^.6X11&fhxᆯBfÁC,,Zzh{ { !/]P