python-nss-0.16.0-0.fc20$> P)4O^ >3 ?d   O />[ j  8 p  J -- N-( 8 )9 H):)G8HpIXY\]^bdeflCpython-nss0.16.00.fc20Python bindings for Network Security Services (NSS)This package provides Python bindings for Network Security Services (NSS) and the Netscape Portable Runtime (NSPR). NSS is a set of libraries supporting security-enabled client and server applications. Applications built with NSS can support SSL v2 and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other security standards. Specific NSS implementations have been FIPS-140 certified.TO buildvm-02.phx2.fedoraproject.org "Fedora ProjectFedora ProjectMPLv2.0 or GPLv2+ or LGPLv2+Fedora ProjectDevelopment/Languagesftp://ftp.mozilla.org/pub/mozilla.org/security/python-nsslinuxi686...01p `FCgBAV0A큤큤TOTN`TOTOTOTOTOTOTOTL3QQQRn#7d14c940e0e1d594020dc1c188fd1e409e6c6b4ce6ebfeb36a8586b32a9fbb18570b3fbbf89c5ae658a957a52be1f09dbba27b83c8d84bc53b9c047c9dcd7682570b3fbbf89c5ae658a957a52be1f09dbba27b83c8d84bc53b9c047c9dcd7682c620e29d33299ac7737ef39c96c78149ea0e51978073042339056d7afed2c396b218d746ec45e34f42213a0b50b759e984fd2d0545144863e5dd4724cb5754e42593463a531ec9f04239dac34ed9c58c63e8db04541c3d107630d63fea3306515f8858431fe755823b67e5392f0767366df6ce115f53608155be2e6c231c7e5bf89ed995653b70490621118f84939c99e895350c33cf4d2b33510d65270b9b9f03f807ce2dbe93fee3fda967f0aeab9841ff8e7a57abbf0dfd173935ba397a0fab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c636b6d3fa47916943fd5fec313c584784946047ec1337a78b440e5992cb595f89fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85950ccd94628de27e6b0a4de91ac1236e347640c05dc19dcd28961e0a002f075frootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-nss-0.16.0-0.fc20.src.rpmpython-nsspython-nss(x86-32)    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ rpmlib(PartialHardlinkSets)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(CompressedFileNames)libc.so.6libc.so.6(GLIBC_2.0)libc.so.6(GLIBC_2.1.3)libc.so.6(GLIBC_2.3)libc.so.6(GLIBC_2.3.4)libc.so.6(GLIBC_2.4)libnspr4.solibnss3.solibnss3.so(NSS_3.10)libnss3.so(NSS_3.11.1)libnss3.so(NSS_3.11.7)libnss3.so(NSS_3.12)libnss3.so(NSS_3.12.5)libnss3.so(NSS_3.12.9)libnss3.so(NSS_3.13)libnss3.so(NSS_3.14)libnss3.so(NSS_3.2)libnss3.so(NSS_3.2.1)libnss3.so(NSS_3.3)libnss3.so(NSS_3.4)libnss3.so(NSS_3.5)libnss3.so(NSS_3.6)libnss3.so(NSS_3.7)libnss3.so(NSS_3.8)libnss3.so(NSS_3.9)libnss3.so(NSS_3.9.2)libpthread.so.0libpython2.7.so.1.0libsmime3.solibsmime3.so(NSS_3.10)libsmime3.so(NSS_3.2)libssl3.solibssl3.so(NSS_3.11.4)libssl3.so(NSS_3.12.6)libssl3.so(NSS_3.14)libssl3.so(NSS_3.2)libssl3.so(NSS_3.4)libssl3.so(NSS_3.7.4)python(abi)rtld(GNU_HASH)rpmlib(PayloadIsXz)4.0.4-14.6.0-14.0-13.0.4-12.75.2-14.11.3TO@S@ScQB@QQ"Pr@P On@N@M@M@MbSMQ0@M,F@M,F@M*LH2L@IL5L#HLL@L L@K@KJjJv@JlE@JUJT@JKOJI@J'@J#I@I1.He@Ht@Hd@John Dennis - 0.16.0-0John Dennis - 0.15.0-1John Dennis - 0.14.0-3Fedora Release Engineering - 0.14.0-2John Dennis - 0.14-1John Dennis - 0.13-1John Dennis - 0.13-0Fedora Release Engineering - 0.12-4Fedora Release Engineering - 0.12-3John Dennis - 0.12-2John Dennis - 0.12-1John Dennis - 0.11-2John Dennis - 0.11-1Fedora Release Engineering - 0.10-4John Dennis - 0.10-3John Dennis - 0.10-2John Dennis - 0.10-1David Malcolm - 0.9-9John Dennis - 0.9-8John Dennis - 0.9-7John Dennis - 0.9-6John Dennis - 0.9-5John Dennis - 0.9-4John Dennis - 0.9-3John Dennis - 0.9-2John Dennis - 0.9-1John Dennis - 0.8-2John Dennis - 0.8-1John Dennis - 0.7-1Fedora Release Engineering - 0.6-3John Dennis - 0.6-2John Dennis - 0.6-1John Dennis - 0.5-1John Dennis - 0.4-1John Dennis - 0.3-1John Dennis - 0.2-1Fedora Release Engineering - 0.1-3Ignacio Vazquez-Abrams - 0.1-2John Dennis - 0.1-1John Dennis - 0.0-2John Dennis - 0.0-1The primary enhancements in this version is adding support for the setting trust attributes on a Certificate, the SSL version range API, information on the SSL cipher suites and information on the SSL connection. * The following module functions were added: - ssl.get_ssl_version_from_major_minor - ssl.get_default_ssl_version_range - ssl.get_supported_ssl_version_range - ssl.set_default_ssl_version_range - ssl.ssl_library_version_from_name - ssl.ssl_library_version_name - ssl.get_cipher_suite_info - ssl.ssl_cipher_suite_name - ssl.ssl_cipher_suite_from_name * The following deprecated module functions were removed: - ssl.nssinit - ssl.nss_ini - ssl.nss_shutdown * The following classes were added: - SSLCipherSuiteInfo - SSLChannelInfo * The following class methods were added: - Certificate.trust_flags - Certificate.set_trust_attributes - SSLSocket.set_ssl_version_range - SSLSocket.get_ssl_version_range - SSLSocket.get_ssl_channel_info - SSLSocket.get_negotiated_host - SSLSocket.connection_info_format_lines - SSLSocket.connection_info_format - SSLSocket.connection_info_str - SSLCipherSuiteInfo.format_lines - SSLCipherSuiteInfo.format - SSLChannelInfo.format_lines - SSLChannelInfo.format * The following class properties were added: - Certificate.ssl_trust_flags - Certificate.email_trust_flags - Certificate.signing_trust_flags - SSLCipherSuiteInfo.cipher_suite - SSLCipherSuiteInfo.cipher_suite_name - SSLCipherSuiteInfo.auth_algorithm - SSLCipherSuiteInfo.auth_algorithm_name - SSLCipherSuiteInfo.kea_type - SSLCipherSuiteInfo.kea_type_name - SSLCipherSuiteInfo.symmetric_cipher - SSLCipherSuiteInfo.symmetric_cipher_name - SSLCipherSuiteInfo.symmetric_key_bits - SSLCipherSuiteInfo.symmetric_key_space - SSLCipherSuiteInfo.effective_key_bits - SSLCipherSuiteInfo.mac_algorithm - SSLCipherSuiteInfo.mac_algorithm_name - SSLCipherSuiteInfo.mac_bits - SSLCipherSuiteInfo.is_fips - SSLCipherSuiteInfo.is_exportable - SSLCipherSuiteInfo.is_nonstandard - SSLChannelInfo.protocol_version - SSLChannelInfo.protocol_version_str - SSLChannelInfo.protocol_version_enum - SSLChannelInfo.major_protocol_version - SSLChannelInfo.minor_protocol_version - SSLChannelInfo.cipher_suite - SSLChannelInfo.auth_key_bits - SSLChannelInfo.kea_key_bits - SSLChannelInfo.creation_time - SSLChannelInfo.creation_time_utc - SSLChannelInfo.last_access_time - SSLChannelInfo.last_access_time_utc - SSLChannelInfo.expiration_time - SSLChannelInfo.expiration_time_utc - SSLChannelInfo.compression_method - SSLChannelInfo.compression_method_name - SSLChannelInfo.session_id * The following files were added: - doc/examples/cert_trust.py - doc/examples/ssl_version_range.py * The following constants were added: - nss.CERTDB_TERMINAL_RECORD - nss.CERTDB_VALID_PEER - nss.CERTDB_TRUSTED - nss.CERTDB_SEND_WARN - nss.CERTDB_VALID_CA - nss.CERTDB_TRUSTED_CA - nss.CERTDB_NS_TRUSTED_CA - nss.CERTDB_USER - nss.CERTDB_TRUSTED_CLIENT_CA - nss.CERTDB_GOVT_APPROVED_CA - ssl.SRTP_AES128_CM_HMAC_SHA1_32 - ssl.SRTP_AES128_CM_HMAC_SHA1_80 - ssl.SRTP_NULL_HMAC_SHA1_32 - ssl.SRTP_NULL_HMAC_SHA1_80 - ssl.SSL_CK_DES_192_EDE3_CBC_WITH_MD5 - ssl.SSL_CK_DES_64_CBC_WITH_MD5 - ssl.SSL_CK_IDEA_128_CBC_WITH_MD5 - ssl.SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5 - ssl.SSL_CK_RC2_128_CBC_WITH_MD5 - ssl.SSL_CK_RC4_128_EXPORT40_WITH_MD5 - ssl.SSL_CK_RC4_128_WITH_MD5 - ssl.SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA - ssl.SSL_FORTEZZA_DMS_WITH_NULL_SHA - ssl.SSL_FORTEZZA_DMS_WITH_RC4_128_SHA - ssl.SSL_RSA_OLDFIPS_WITH_3DES_EDE_CBC_SHA - ssl.SSL_RSA_OLDFIPS_WITH_DES_CBC_SHA - ssl.TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA - ssl.TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA - ssl.TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 - ssl.TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA - ssl.TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA - ssl.TLS_DHE_DSS_WITH_DES_CBC_SHA - ssl.TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA - ssl.TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA - ssl.TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 - ssl.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 - ssl.TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 - ssl.TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA - ssl.TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA - ssl.TLS_DHE_RSA_WITH_DES_CBC_SHA - ssl.TLS_DH_ANON_WITH_CAMELLIA_128_CBC_SHA - ssl.TLS_DH_ANON_WITH_CAMELLIA_256_CBC_SHA - ssl.TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA - ssl.TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA - ssl.TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA - ssl.TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA - ssl.TLS_DH_DSS_WITH_DES_CBC_SHA - ssl.TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA - ssl.TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA - ssl.TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA - ssl.TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA - ssl.TLS_DH_RSA_WITH_DES_CBC_SHA - ssl.TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA - ssl.TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 - ssl.TLS_DH_anon_WITH_3DES_EDE_CBC_SHA - ssl.TLS_DH_anon_WITH_AES_128_CBC_SHA - ssl.TLS_DH_anon_WITH_AES_256_CBC_SHA - ssl.TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA - ssl.TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA - ssl.TLS_DH_anon_WITH_DES_CBC_SHA - ssl.TLS_DH_anon_WITH_RC4_128_MD5 - ssl.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 - ssl.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 - ssl.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - ssl.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - ssl.TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 - ssl.TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 - ssl.TLS_EMPTY_RENEGOTIATION_INFO_SCSV - ssl.TLS_FALLBACK_SCSV - ssl.TLS_NULL_WITH_NULL_NULL - ssl.TLS_RSA_EXPORT_WITH_DES40_CBC_SHA - ssl.TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 - ssl.TLS_RSA_EXPORT_WITH_RC4_40_MD5 - ssl.TLS_RSA_WITH_3DES_EDE_CBC_SHA - ssl.TLS_RSA_WITH_AES_128_CBC_SHA256 - ssl.TLS_RSA_WITH_AES_128_GCM_SHA256 - ssl.TLS_RSA_WITH_AES_256_CBC_SHA256 - ssl.TLS_RSA_WITH_CAMELLIA_128_CBC_SHA - ssl.TLS_RSA_WITH_CAMELLIA_256_CBC_SHA - ssl.TLS_RSA_WITH_DES_CBC_SHA - ssl.TLS_RSA_WITH_IDEA_CBC_SHA - ssl.TLS_RSA_WITH_NULL_MD5 - ssl.TLS_RSA_WITH_NULL_SHA - ssl.TLS_RSA_WITH_NULL_SHA256 - ssl.TLS_RSA_WITH_RC4_128_MD5 - ssl.TLS_RSA_WITH_RC4_128_SHA - ssl.TLS_RSA_WITH_SEED_CBC_SHA - ssl.SSL_VARIANT_DATAGRAM - ssl.SSL_VARIANT_STREAM - ssl.SSL_LIBRARY_VERSION_2 - ssl.SSL_LIBRARY_VERSION_3_0 - ssl.SSL_LIBRARY_VERSION_TLS_1_0 - ssl.SSL_LIBRARY_VERSION_TLS_1_1 - ssl.SSL_LIBRARY_VERSION_TLS_1_2 - ssl.SSL_LIBRARY_VERSION_TLS_1_3 - ssl.ssl2 - ssl.ssl3 - ssl.tls1.0 - ssl.tls1.1 - ssl.tls1.2 - ssl.tls1.3 * The following methods were missing thread locks, this has been fixed. - nss.nss_initialize - nss.nss_init_context - nss.nss_shutdown_context- fix fedora bug 1060314, CSR extensions sometimes not found Also adds support for accessing CSR attributes. See doc/Changelog for details- resolves bug #1087031, bad parameter spec for check_ocsp_status- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_RebuildExternal Changes: ----------------- The primary enhancements in this version is support of certifcate validation, OCSP support, and support for the certificate "Authority Information Access" extension. Enhanced certifcate validation including CA certs can be done via Certificate.verify() or Certificate.is_ca_cert(). When cert validation fails you can now obtain diagnostic information as to why the cert failed to validate. This is encapsulated in the CertVerifyLog class which is a iterable collection of CertVerifyLogNode objects. Most people will probablby just print the string representation of the returned CertVerifyLog object. Cert validation logging is handled by the Certificate.verify() method. Support has also been added for the various key usage and cert type entities which feature prominently during cert validation. * Certificate() constructor signature changed from Certificate(data=None, der_is_signed=True) to Certificate(data, certdb=cert_get_default_certdb(), perm=False, nickname=None) This change was necessary because all certs should be added to the NSS temporary database when they are loaded, but earlier code failed to to that. It's is not likely that an previous code was failing to pass initialization data or the der_is_signed flag so this change should be backwards compatible. * Fix bug #922247, PKCS12Decoder.database_import() method. Importing into a NSS database would sometimes fail or segfault. * Error codes and descriptions were updated from upstream NSPR & NSS. * The password callback did not allow for breaking out of a password prompting loop, now if None is returned from the password callback the password prompting is terminated. * nss.nss_shutdown_context now called from InitContext destructor, this assures the context is shutdown even if the programmer forgot to. It's still best to explicitly shut it down, this is just failsafe. * Support was added for shutdown callbacks. * The following classes were added: - nss.CertVerifyLogNode - nss.CertVerifyLog - error.CertVerifyError (exception) - nss.AuthorityInfoAccess - nss.AuthorityInfoAccesses * The following class methods were added: - nss.Certificate.is_ca_cert - nss.Certificate.verify - nss.Certificate.verify_with_log - nss.Certificate.get_cert_chain - nss.Certificate.check_ocsp_status - nss.PK11Slot.list_certs - nss.CertVerifyLogNode.format_lines - nss.CertVerifyLog.format_lines - nss.CRLDistributionPts.format_lines * The following class properties were added: - nss.CertVerifyLogNode.certificate - nss.CertVerifyLogNode.error - nss.CertVerifyLogNode.depth - nss.CertVerifyLog.count * The following module functions were added: - nss.x509_cert_type - nss.key_usage_flags - nss.list_certs - nss.find_certs_from_email_addr - nss.find_certs_from_nickname - nss.nss_get_version - nss.nss_version_check - nss.set_shutdown_callback - nss.get_use_pkix_for_validation - nss.set_use_pkix_for_validation - nss.enable_ocsp_checking - nss.disable_ocsp_checking - nss.set_ocsp_cache_settings - nss.set_ocsp_failure_mode - nss.set_ocsp_timeout - nss.clear_ocsp_cache - nss.set_ocsp_default_responder - nss.enable_ocsp_default_responder - nss.disable_ocsp_default_responder * The following files were added: src/py_traceback.h doc/examples/verify_cert.py test/test_misc.py * The following constants were added: - nss.KU_DIGITAL_SIGNATURE - nss.KU_NON_REPUDIATION - nss.KU_KEY_ENCIPHERMENT - nss.KU_DATA_ENCIPHERMENT - nss.KU_KEY_AGREEMENT - nss.KU_KEY_CERT_SIGN - nss.KU_CRL_SIGN - nss.KU_ENCIPHER_ONLY - nss.KU_ALL - nss.KU_DIGITAL_SIGNATURE_OR_NON_REPUDIATION - nss.KU_KEY_AGREEMENT_OR_ENCIPHERMENT - nss.KU_NS_GOVT_APPROVED - nss.PK11CertListUnique - nss.PK11CertListUser - nss.PK11CertListRootUnique - nss.PK11CertListCA - nss.PK11CertListCAUnique - nss.PK11CertListUserUnique - nss.PK11CertListAll - nss.certUsageSSLClient - nss.certUsageSSLServer - nss.certUsageSSLServerWithStepUp - nss.certUsageSSLCA - nss.certUsageEmailSigner - nss.certUsageEmailRecipient - nss.certUsageObjectSigner - nss.certUsageUserCertImport - nss.certUsageVerifyCA - nss.certUsageProtectedObjectSigner - nss.certUsageStatusResponder - nss.certUsageAnyCA - nss.ocspMode_FailureIsVerificationFailure - nss.ocspMode_FailureIsNotAVerificationFailure * cert_dump.py extended to print NS_CERT_TYPE_EXTENSION * cert_usage_flags, nss_init_flags now support optional repr_kind parameter Internal Changes: ----------------- * Reimplement exception handling - NSPRError is now derived from StandardException instead of EnvironmentError. It was never correct to derive from EnvironmentError but was difficult to implement a new subclassed exception with it's own attributes, using EnvironmentError had been expedient. - NSPRError now derived from StandardException, provides: * errno (numeric error code) * strerror (error description associated with error code) * error_message (optional detailed message) * error_code (alias for errno) * error_desc (alias for strerror) - CertVerifyError derived from NSPRError, extends with: * usages (bitmask of returned usages) * log (CertVerifyLog object) * Expose error lookup to sibling modules * Use macros for bitmask_to_list functions to reduce code duplication and centralize logic. * Add repr_kind parameter to cert_trust_flags_str() * Add support for repr_kind AsEnumName to bitstring table lookup. * Add cert_type_bitstr_to_tuple() lookup function * Add PRTimeConvert(), used to convert Python time values to PRTime, centralizes conversion logic, reduces duplication * Add UTF8OrNoneConvert to better handle unicode parameters which are optional. * Add Certificate_summary_format_lines() utility to generate concise certificate identification info for output. * Certificate_new_from_CERTCertificate now takes add_reference parameter to properly reference count certs, should fix shutdown busy problems. * Add print_traceback(), print_cert() debugging support.- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild- Update to version 0.13 Introduced in 0.13: * Fix NSS SECITEM_CompareItem bug via workaround. * Fix incorrect format strings in PyArg_ParseTuple* for: - GeneralName - BasicConstraints - cert_x509_key_usage * Fix bug when decoding certificate BasicConstraints extension * Fix hang in setup_certs. * For NSS >= 3.13 support CERTDB_TERMINAL_RECORD * You can now query for a specific certificate extension Certficate.get_extension() * The following classes were added: - RSAGenParams * The following class methods were added: - nss.nss.Certificate.get_extension - nss.nss.PK11Slot.generate_key_pair - nss.nss.DSAPublicKey.format - nss.nss.DSAPublicKey.format_lines * The following module functions were added: - nss.nss.pub_wrap_sym_key * The following internal utilities were added: - PyString_UTF8 - SecItem_new_alloc() * The following class constructors were modified to accept intialization parameters - KEYPQGParams (DSA generation parameters) * The PublicKey formatting (i.e. format_lines) was augmented to format DSA keys (formerly it only recognized RSA keys). * Allow lables and values to be justified when printing objects * The following were deprecated: - nss.nss.make_line_pairs (replaced by nss.nss.make_line_fmt_tuples) Deprecated Functionality: ------------------------- - make_line_pairs() has been replaced by make_line_fmt_tuples() because 2-valued tuples were not sufficently general. It is expected very few programs will have used this function, it's mostly used internally but provided as a support utility.- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild- add patch python-nss-0.12-rsapssparams.patch to fix build problem which appears only with nss 3.13 and later.* Major new enhancement is additon of PKCS12 support and AlgorithmID's. * setup.py build enhancements - Now searches for the NSS and NSPR header files rather than hardcoding their location. This makes building friendlier on other systems (i.e. debian) - Now takes optional command line arguments, -d or --debug will turn on debug options during the build. * Fix reference counting bug in PK11_password_callback() which contributed to NSS not being able to shutdown due to resources still in use. * Add UTF-8 support to ssl.config_server_session_id_cache() * Added unit tests for cipher, digest, client_server. * All unittests now run, added test/run_tests to invoke full test suite. * Fix bug in test/setup_certs.py, hardcoded full path to libnssckbi.so was causing failures on 64-bit systems, just use the libnssckbi.so basename, modutil will find it on the standard search path. * doc/examples/cert_dump.py uses new AlgorithmID class to dump Signature Algorithm * doc/examples/ssl_example.py now can cleanly shutdown NSS. * Exception error messages now include PR error text if available. * The following classes were replaced: - SignatureAlgorithm replaced by new class AlgorithmID * The following classes were added: - AlgorithmID - PKCS12DecodeItem - PKCS12Decoder * The following class methods were added: - PK11Slot.authenticate() - PK11Slot.get_disabled_reason() - PK11Slot.has_protected_authentication_path() - PK11Slot.has_root_certs() - PK11Slot.is_disabled() - PK11Slot.is_friendly() - PK11Slot.is_internal() - PK11Slot.is_logged_in() - PK11Slot.is_removable() - PK11Slot.logout() - PK11Slot.need_login() - PK11Slot.need_user_init() - PK11Slot.user_disable() - PK11Slot.user_enable() - PKCS12DecodeItem.format() - PKCS12DecodeItem.format_lines() - PKCS12Decoder.database_import() - PKCS12Decoder.format() - PKCS12Decoder.format_lines() * The following class properties were added: - AlgorithmID.id_oid - AlgorithmID.id_str - AlgorithmID.id_tag - AlgorithmID.parameters - PKCS12DecodeItem.certificate - PKCS12DecodeItem.friendly_name - PKCS12DecodeItem.has_key - PKCS12DecodeItem.shroud_algorithm_id - PKCS12DecodeItem.signed_cert_der - PKCS12DecodeItem.type - SignedData.data - SignedData.der * The following module functions were added: - nss.nss.dump_certificate_cache_info() - nss.nss.find_slot_by_name() - nss.nss.fingerprint_format_lines() - nss.nss.get_internal_slot() - nss.nss.is_fips() - nss.nss.need_pw_init() - nss.nss.nss_init_read_write() - nss.nss.pk11_disabled_reason_name() - nss.nss.pk11_disabled_reason_str() - nss.nss.pk11_logout_all() - nss.nss.pkcs12_cipher_from_name() - nss.nss.pkcs12_cipher_name() - nss.nss.pkcs12_enable_all_ciphers() - nss.nss.pkcs12_enable_cipher() - nss.nss.pkcs12_export() - nss.nss.pkcs12_map_cipher() - nss.nss.pkcs12_set_nickname_collision_callback() - nss.nss.pkcs12_set_preferred_cipher() - nss.nss.token_exists() - nss.ssl.config_mp_server_sid_cache() - nss.ssl.config_server_session_id_cache_with_opt() - nss.ssl.get_max_server_cache_locks() - nss.ssl.set_max_server_cache_locks() - nss.ssl.shutdown_server_session_id_cache() * The following constants were added: - nss.nss.int.PK11_DIS_COULD_NOT_INIT_TOKEN - nss.nss.int.PK11_DIS_NONE - nss.nss.int.PK11_DIS_TOKEN_NOT_PRESENT - nss.nss.int.PK11_DIS_TOKEN_VERIFY_FAILED - nss.nss.int.PK11_DIS_USER_SELECTED - nss.nss.int.PKCS12_DES_56 - nss.nss.int.PKCS12_DES_EDE3_168 - nss.nss.int.PKCS12_RC2_CBC_128 - nss.nss.int.PKCS12_RC2_CBC_40 - nss.nss.int.PKCS12_RC4_128 - nss.nss.int.PKCS12_RC4_40 * The following files were added: - test/run_tests - test/test_cipher.py (replaces cipher_test.py) - test/test_client_server.py - test/test_digest.py (replaces digest_test.py) - test/test_pkcs12.py * The following were deprecated: - SignatureAlgorithm- Resolves: #689059 Add family parameter to Socket constructors in examples and doc. Mark implicit family parameter as deprecated. Raise exception if Socket family does not match NetworkAddress family. Add --server-subject to setup_certs.py (made testing IPv6 easier without DNS)* Better support for IPv6 * Add AddrInfo class to support IPv6 address resolution. Supports iteration over it's set of NetworkAddress objects and provides hostname, canonical_name object properties. * Add PR_AI_* constants. * NetworkAddress constructor and NetworkAddress.set_from_string() added optional family parameter. This is necessary for utilizing PR_GetAddrInfoByName(). * NetworkAddress initialized via a string paramter are now initalized via PR_GetAddrInfoByName using family. * Add NetworkAddress.address property to return the address sans the port as a string. NetworkAddress.str() includes the port. For IPv6 the a hex string must be enclosed in brackets if a port is appended to it, the bracketed hex address with appended with a port is unappropriate in some circumstances, hence the new address property to permit either the address string with a port or without a port. * Fix the implementation of the NetworkAddress.family property, it was returning bogus data due to wrong native data size. * HostEntry objects now support iteration and indexing of their NetworkAddress members. * Add io.addr_family_name() function to return string representation of PR_AF_* constants. * Modify example and test code to utilize AddrInfo instead of deprecated NetworkAddress functionality. Add address family command argument to ssl_example. * Fix pty import statement in test/setup_certs.py Deprecated Functionality: ------------------------- * NetworkAddress initialized via a string paramter is now deprecated. AddrInfo should be used instead. * NetworkAddress.set_from_string is now deprecated. AddrInfo should be used instead. * NetworkAddress.hostentry is deprecated. It was a bad idea, NetworkAddress objects can support both IPv4 and IPv6, but a HostEntry object can only support IPv4. Plus the implementation depdended on being able to perform a reverse DNS lookup which is not always possible. * HostEntry.get_network_addresses() and HostEntry.get_network_address() are now deprecated. In addition their port parameter is now no longer respected. HostEntry objects now support iteration and indexing of their NetworkAddress and that should be used to access their NetworkAddress objects instead.- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild- Fix all rpmlint warnings - doc for license, changelog etc. now in main package, doc subpackage now only contains api doc, examples, test, etc. - Filter provides for .so files - Remove execute permission on everything in docdir - Capitalize description- split documentation out into separate doc sub-package and make building api documentation optional- The following classes were added: InitParameters InitContext -The following module functions were added: nss.nss.nss_initialize() nss.nss.nss_init_context() nss.nss.nss_shutdown_context() nss.nss.nss_init_flags()- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild- add nss_is_initialized()- Remove nss_init_nodb() when nss modules loads from previous version apparently this prevents subsequent calls to nss_init with a database to silently fail. - Clean up some cruft in doc/examples/verify_server.py- Invoke nss_init_nodb() when nss modules loads, this prevents segfaults in NSS if Python programmer forgot to call one of the NSS initialization routines. - Rename the classes X500Name, X500RDN, X500AVA to DN, RDN, AVA respectively. - DN and RDN objects now return a list of their contents when indexed by type, this is to support multi-valued items. - Fix bug where AVA object's string representation did not include it's type. - Enhance test/test_cert_components.py unit test to test for above changes. - Add CertificateRequest object- Fix incomplete read bug (due to read ahead buffer bookkeeping). - Remove python-nss specific httplib.py, no longer needed python-nss now compatible with standard library - Rewrite httplib_example.py to use standard library and illustrate ssl, non-ssl, connection class, http class usage- add nss.cert_usage_flags(), use it in ssl_example.py- Add format_lines() & format() methods to the new certificate extension objects. - Add printing of certificate extensions. - Add BasicContstraints certificate extension. - Fix several reference counting and memory problems discovered with valgrind.- fold in more ref counting patches from Miloslav Trmač into upstream. Did not bump upstream version, just bumped release ver in this spec file.- Unicode objects now accepted as well as str objects for interfaces expecting a string. - Sockets were enhanced thusly: - Threads will now yield during blocking IO. - Socket.makefile() reimplemented file object methods that had been missing (readlines(), sendall(), and iteration) were implemented, makefile now just returns the same Socket object but increments an "open" ref count. Thus a Socket object behaves like a file object and must be closed once for each makefile() call before it's actually closed. - Sockets now support the iter protocol - Add Socket.readlines(), Socket.sendall() - The following classes were added: AuthKeyID BasicConstraints CRLDistributionPoint CRLDistributionPts CertificateExtension GeneralName SignedCRL X500AVA X500Name X500RDN - The following module functions were added: nss.nss.cert_crl_reason_from_name() nss.nss.cert_crl_reason_name() nss.nss.cert_general_name_type_from_name() nss.nss.cert_general_name_type_name() nss.nss.cert_usage_flags() nss.nss.decode_der_crl() nss.nss.der_universal_secitem_fmt_lines() nss.nss.import_crl() nss.nss.make_line_pairs() nss.nss.oid_dotted_decimal() nss.nss.oid_str() nss.nss.oid_tag() nss.nss.oid_tag_name() nss.nss.read_der_from_file() nss.nss.x509_alt_name() nss.nss.x509_ext_key_usage() nss.nss.x509_key_usage() - The following class methods and properties were added: Note: it's a method if the name is suffixed with (), a propety otherwise Socket.next() Socket.readlines() Socket.sendall() SSLSocket.next() SSLSocket.readlines() SSLSocket.sendall() AuthKeyID.key_id AuthKeyID.serial_number AuthKeyID.get_general_names() CRLDistributionPoint.issuer CRLDistributionPoint.get_general_names() CRLDistributionPoint.get_reasons() CertDB.find_crl_by_cert() CertDB.find_crl_by_name() Certificate.extensions CertificateExtension.critical CertificateExtension.name CertificateExtension.oid CertificateExtension.oid_tag CertificateExtension.value GeneralName.type_enum GeneralName.type_name GeneralName.type_string SecItem.der_to_hex() SecItem.get_oid_sequence() SecItem.to_hex() SignedCRL.delete_permanently() X500AVA.oid X500AVA.oid_tag X500AVA.value X500AVA.value_str X500Name.cert_uid X500Name.common_name X500Name.country_name X500Name.dc_name X500Name.email_address X500Name.locality_name X500Name.org_name X500Name.org_unit_name X500Name.state_name X500Name.add_rdn() X500Name.has_key() X500RDN.has_key() - The following module functions were removed: Note: use nss.nss.oid_tag() instead nss.nss.sec_oid_tag_from_name() nss.nss.sec_oid_tag_name() nss.nss.sec_oid_tag_str() - The following files were added: doc/examples/cert_dump.py test/test_cert_components.py - Apply patches from Miloslav Trmač for ref counting and threading support. Thanks Miloslav! - Review all ref counting, numerous ref counting fixes - Implement cyclic garbage collection support by adding object traversal and clear methods - Identify static variables, move to thread local storage- change %define to %global- The following methods, properties and functions were added: SecItem.type SecItem.len, SecItem.data PK11SymKey.key_data, PK11SymKey.key_length, PK11SymKey.slot create_context_by_sym_key param_from_iv generate_new_param get_iv_length get_block_size get_pad_mechanism - SecItem's now support indexing and slicing on their data - Clean up parsing and parameter validation of variable arg functions- add support for symmetric encryption/decryption more support for digests (hashes) The following classes were added: PK11SymKey PK11Context The following methods and functions were added: get_best_wrap_mechanism get_best_key_length key_gen derive get_key_length digest_key clone_context digest_begin digest_op cipher_op finalize digest_final read_hex hash_buf sec_oid_tag_str sec_oid_tag_name sec_oid_tag_from_name key_mechanism_type_name key_mechanism_type_from_name pk11_attribute_type_name pk11_attribute_type_from_name get_best_slot get_internal_key_slot create_context_by_sym_key import_sym_key create_digest_context param_from_iv param_from_algid generate_new_param algtag_to_mechanism mechanism_to_algtag The following files were added: cipher_test.py digest_test.py- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild- restore nss.nssinit(), make deprecated- fix bug #510343 client_auth_data_callback seg faults if False is returned from callback- restore ssl.nss_init and ssl.nss_shutdown but make them deprecated add __version__ string to nss module- add binding for NSS_NoDB_Init(), bug #509002 move nss_init and nss_shutdown from ssl module to nss module- installed source code in Mozilla CVS repository update URL tag to point to CVS repositoy (not yet a valid URL, still have to coordinate with Mozilla) minor tweak to src directory layout- Convert licensing to MPL tri-license - apply patch from bug #472805, (Miloslav Trmač) Don't allow closing a socket twice, that causes crashes. New function nss.io.Socket.new_socket_pair() New function nss.io.Socket.poll() New function nss.io.Socket.import_tcp_socket() New method nss.nss.Certificate.get_subject_common_name() New function nss.nss.generate_random() Fix return value creation in SSLSocket.get_security_status New function nss.ssl.SSLSocket.import_tcp_socket()- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild- Rebuild for Python 2.6- clean up ssl_example.py, fix arg list in get_cert_nicknames, make certdir cmd line arg consistent with other NSS tools - update httplib.py to support client auth, add httplib_example.py which illustrates it's use - fix some documentation - fix some type usage which were unsafe on 64-bit- add docutils to build requires so restructured text works- initial release 0.16.0-0.fc200.16.0-0.fc20nss__init__.py__init__.pyc__init__.pyoerror.soio.sonss.sossl.sopython_nss-0.16.0-py2.7.egg-infoChangeLogLICENSE.gplLICENSE.lgplLICENSE.mplREADME/usr/lib/python2.7/site-packages//usr/lib/python2.7/site-packages/nss//usr/share/doc/python-nss-0.16.0/-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tablesdrpmxz2i686-redhat-linux-gnu?7zXZ !PH6]"k%ne) 8ܺp֠t 7;nӈȳ7:.'3FMd!sMkH h .M!x ouwzt)xFH9$% yܭjy5 ]32{Ypd5!!v#v*VijgݰQxB3J+׍$1-n7?s ^m9-`t*ui *[SnE/E}]ֈMzNF `y*03.[]gp5F)5̀zga}m5S:{}N_4yt.;ؕlj(PGOH/zEIY>)cRmj"%gȪlCKH9= =9e r|+IߐcLe)c~![vI[9*o4Ic *yΠtvaՏ6$`b\ޟ 8]lňX<sC;If̦EkɪwbIX5|E"6 :hG6N gL9E. K)K.NlPwۺӻ07G"|oJOZ,զ7߷~I DAzYrT`M ݝa2ERSEVvӅ:a_H=S'-HںZ)oϒ$6mM; +eYU6zN4hu ˲hÙ,N&oN 08-3׵=-f@^p5 'scdtSqySrWLk&e*.9-('Rbq]C@Jv-{7> nk<+@-iS<]؟6 fEDzA|"mR^)&x Hgjl}/^GMR]NZ4t]_OUrAa?:@aXGLo\%ApJR N$E.Jdjq )gaHԐc:j&:SWɍ)ř:$TZޅ j-T+; QYe6a@rRL](x (1 K&-y@FX8vWƿN(KRܞ'V^-VamTI@,."mJՂȨR2 G ,ÏKO)U]\HTGGK8~4 MP*'!*p]7؁"-|x+7b-gv^ŠV2 :` r}6ocr,5 ZUvWXۜVߍ?6"rG1:sT{=1Bɉm P(ǴlQe+%WEXMsu[d/z@Չ%Q:BK?Am{J)e4p>[`!BEYOf223 3ýpmkNfw o^lEYn^MED?F_b@< [V+~B3[)fgT)ISJoMJY퐖4.x.wI-Xq޼:B* c:zH5͐L Ikg녯fWz"Oǁ ^q8*!#M"8Tk8Yv/, k-)^p}- d#SXقݠ`qkF-W\%8;kͤ *?L$p("3pRW{f<ܐ#ȩE^WvDOj[nCڗX3^凎_LOPbn)+)P/O>+\ 5 {ӥUykZx"(˒"2 R`lMEH; 6BS(g``x&Y񏀳E㡕=Ggi%'~Er} y݇N6 N1_M}R:/'eٖ#9b0!)Lv0gSmQ0 QYZ1SSiC][`\ +PW.(g]Xq n"">!_O'e0XNuN193ZE̷-{8PSK72ٰٞ2*Cv^hG:] 3?jA$ųLgMY_`IksQnP)M7kZϡΜdT&e˒P ;.$h1nb%<+ϣj5WpyeS"u ~ y+9Ήq40b[P<ʳuQΆ,%*jY֩X_(G&YH6Uoh>c/cyCuRDQcVES'U':M&4Ixb|?K? z$R[*$jf#F,Z/xLc?Zq_ܯځM3B@jgr˖}Ic 46_>;-GhZO*xv\c%ẘzI}}Z暭W8.3Kc%0(Z;󭇲DqGPar0Mf髭 tj B/b[XI:GpYam]XF1L(G%~Xy .kM,Cُ蜛A_R'WY& 1֘Q;:Ìwz#'$$t<ʗpk Le6E7C K3-=^uOC 7a0uDW';a^)m&_*-X0`ȤGEz1JEggـg"xn6JJ/+Wv2ʀ`}UMbo|C}QF]kmpՒԫs򧜑XЇ<,au4 4V!YeU,WNlgϟS+Itqж5vmy^3X/h *Ez;bk94?d@cBf@% ;ӏ#~v.PI/[QRhRXvǫx; w%g" s@O1 љI;lh%*ޭyVl|# 5M8֞w:Hٷdv"nYQʈ]7_ZoIvW k9uBV+ V:}=U\n' 9ǥ rҾĶ©ٲEyo2c݁ ):1ȶ%ӱn)ndvvRaJo0;s@;ޕieF:̅\AS'd@ג8\ G[|_]Eln\U4LDt(sإ\ʜ6q-,GFRZ[-gG(FPtBxY8'bb(m+g@s>DG,%eo8Nkr^!&!&CV '? 4\؆c#jrhm>cmD+wtMN}>'nXJre9aKʱYVeBfHQ,KT p] aQ͵Qɢ{մHOa6p! |+¦@A7m=1<a20%njr}DYzUw S}$ TvNvغ@Sgd݊#wt*e`/.zBEϺ?oZifGF]QhJV4@mRIG);n{8 Ob0AVSnQ&kGhEWiEg:GSI9We[g^M5u 䝚N,_R('(m3Hd@:1QG;%SA/4ivq؃r&!u0Ia{D= ᨭ_ğ9--qd%\,܅6r s-(luA`T Y%(7f$;J Ծ͍J0j;s%g+TcDĨ AZ^5<Iy 'TePht{|& 1r#0Gj&-x5DW^iWg b!Q5nEJc"<|R)KUXː,C?z.:躢%`vhcO8;Zɲ z{T/" ‹_&&mmx`8iy %/8&&VlI@anB2`D'9$Ӵ%b& 9$I<2б3AȂQ5E Ǿ︗k5z]5޻zVg%u@~Srِ[s}js|"j[`g W_WKT.6=׈vNo08hm&vZQ;=z|C ]ja0 {K>.RAOH#|>arss?p;wûTGu4j. 1++gQ|6n*ճf,yiq, ь-@slY_ӆCATòX !qzl5|&egr@"; OQ;k5ho?W<9kjs%Ϲ!gZfS8)w٧:9oWz#`=D.`]i s<~YLc5d M1(9xb^d)}Av=!p/"IRv@] o k,0['eja Ndݻ48/mv:٘9,!V&I} S~8)5p< EoMK,3 Z5 r^y$~Fx. ([\IIŒnзV>pZ/Q P&xRThwrBB70 o&[@)m ,˫egt1<<;$oHVGєtoH,\FKiR>J]ft"@yVK3Bsd?^(kh4A sS"H(ՄӨT8E8GAďҺx[y&b󂀕ۋ$,~>_`ǭNy>&G:U(@7wyWxn͟UY8n"63.aUK 8B&Z~FryTvS? :C\ NOܚ^Ɇֵ2 kkxmvmں< ^D)u!2u{<{<{XZY<'٩0Gx_=UJ`IS`=h ?:ͅ6?" J{Y& a:IDU%DD<$7WWC'3м("BŻ 2[`{^_@Fg +`n` $5ֲĄ p n|Rvv ]ؽ7-SEZ`72J۾ cQ>Kx nj+50X87,<1>)nݔm:>/)RӴx<7cYi2')dOʠθe\1ڭ!EdꄗjTm_hq$Qa9#5o׋^;ƆIS2DsjO/e}{WAEۖ>8bzkafjs !@.Z$'\X9ݒbb1r:Nff=P;DVm/#Glt2`.,'$6sgq#p )\FERn8w0E)Uc=a֢򱣲6@phP5e^ݟ35yaZFf@Ѣ)8'#b_ ţ"{0""У|֠ѭlܩy3C~a˟xPUAM<[ *Ut#ھaٰljM.i⥶dbuol4S7OPk+} D͋fgm<3MM?`Ⴏ=c-]T {* |ᩘȤ1&gbe`>ΊV{V@B]t !|J_ydܙQ_BkN OQU֯Qn x+C~@ă|{*2Ḡ%jSoΫwG0a|ICXzν\t^9;47Pcșn F6 ǠxdC:8Jh`߿QCX)[o_ pI8eHŢ;YKؘZ^=oLP;^TcQ$w^PE2V{ 1Tc\Hz0vOr>=ޜZQYo)n,!DR+iT停R vp3)l(H1~44Yff!T1M^ܪaMy,TPi쐦O!k )Y(%%p i :ODKbWrgO?cX=]cs宸1'Y_?=Nمi7YiK#f&ӊ! ;h&%2tIh=T삔@;@DeHk4cȎ̒ݼ7N r̾B#m:碙?X ]knzH_Q@`IR50dyuTux;X/In1?p?&w=9*--aվא#yJXhaq!)T$ʅU,Ru!^K=k{^mw74v&YQV#1rcVTa "'0pamqJރYWx{ b}{ϻqXuU.ү{vd>;ӝ\rܬE !]:]3Ldʡ7S6`107DX0/jtS_΅M2#H}[mgU'Ʒz%d!#/%nAZy9q|'L`;]?qqk]Yӗq,g]H*#D,#()% "NPp;2m_.:Ptwq\$*fޫM9Ebodt$lt~欺ŹO{jaվ[0!ve k~w50Di 'b31y|qQ]l7err\9tvsAe \7.kǸ/by%g.6}ڴ̵W'P4K1 Kxwk.I{8]mli: Dã`AhH` >@>2 7rjel@Q¶gL7"kkGdxZ|Z~Wb }0755Mt8+e^c)0X,2D[щ 摖;o?Vra1T89E3-; :ѥGEyY5] q)Ad.1Jj}*P&nZ`/ ~gq͉K B҇aDYG5G$ISJܦ:YP H$ҭ_R{3ѶJB9M02T鎲G-P\ɽ3 cNCrhΖū%޽w]Ȋ.fo%EcVc2'VZpԨ٫P1  hv5a3hi#}["aλar gRR$ QW 6(fmUPAAɞO:)6.e^m\W h0zpe}!dDE$h;3 KFeBz/F3LkUSמmrټ(֒<+i@1c& u߃9 eHTDs%Itr(w%?NDB<غk(*Q-' Y+gt#'5d4rYD;HT EN}plgsObFHC1E>e?:_+v]A =/ й]U?Q1o ʌ/l5|J9DB~f q7ğpa5|T{pꨌ/B5{! (EUN{'")@u8m/s_'88?VCʹʝdptP^W hd~Ʉs` Qqo%;#ټ<.m=qLi(&2ʟ< >I6O./Rc䪓 'F-jA`! = #vuD֔HY-?D:ʱznߒR|dUDFj7k 3>'6p2I/PBS)>,oQ%7ml@PZK~=uvSe)ټQw, qaQBg7~xQSne3G`Eժ) }OO^+Qr3zf"gZ;I~Pv!?@DӔY@V.yt?/ȥBI#On|ǂ|J6ኬ S(]9(t9ebgs)LvX0yxJ[aaS^2 L%oI|:,w vKZ)&{MFiPqOT@ -ԇ;V/+pL^ җ7c)ݻX z蠴U9t&8NӢzlP.kLqe&o^4_:Mlk_D8V%!wmډ趥J7q

pnV^![>/-C/=JTq,k.sJoMtV[o7D8C2*d`*<7/7[rg 65? Rv0ٯ)^zZW9C,bh7kjOXJ9~| Xw#g!ģC%;EYY*7]QMEl`~VJjç{TCT9GD79+td=^^+|,T2eރP}fɥz粠_ߟzvT 4]ga"&5û8R pՄBXH$ϝ kۅX)1uA?8rSPUugc} P~1ctvC*-hy?fjQ| mϞZF* | 91wx:(F»\KqȜ,'K_ϮaDĉ1 -q%s_ήnWnmq~^q'LnYo9 L\!2yPP g 2U|A5aB@lCe, Ò>0 @mAW;-K5ch1^[I* );Ɍ]cݼWNGg6#|IĶQ+ ՝^fcHoo; %׃Z!FM|^8qƎǮu<+;-Aiw¹_brCBԂҲpnXz>6h~nߵ|цf$p MܻiXbckp"g|FUt=[oX2*^@\"q RRow3+k74 .%u_[+ŤwL}DyWll){8sMƒ~Qړ!.nC*}95|7_>L92saZ%(YF;&q8߶#RE g sz00h}ba(˓ޑD}33Hð?XSXE1?We&w'K4 Yk̐|VL $=],6OI_N$p4z؛$ .锴&U o*zmRVkX="ڨnB<=x 2OS[Chlќu |Ou7 _%S9{1ɾ+̖Coǀ<347 yj-&cqΆ[h4ℳԊˍbZk**&vm'adAFˠ쏫LɊ<1 a5YZY۞Zё +ZRyp {]8ǟ1yt?݋ C3w|GZZK228xud6\}6[<֮uwzNr9a!c}lծA_%5riP<2* l'vF%&Ch[(U;od938{~ &+:WƆ/Q4)R(չw{ԕq)y/ZhoQltiU5A vyvMb#,@6`#" 26!c]jVQW*)B@qZ?ˀw0ALyL9G} HeV :' Dr/nC"V-0)YMcW. ],Y%YrHD[*(<-Q䂄5-.y6I"f@agUJB5eH+pUԷm$: qUi;C91㼅ݙ>Y3 buK/A,Y#"A ϯalЫ}EWN$ґ0q omrqn=\AQv'þ~"0f;Ԍ%IT:{p%Ye&vuTz5ūӈ;;0 [_>W~[՝^Z^iJ00.!;1T RyxsW=\ (ylC[z>L&IPE;I OM( \UmWnesc($GwBrmjN:p ډߠ<2zEu !*1U [3`!U>+ȕsSZĦ48Y&%d;D/,(6Lte1p}qx:[Qk'A :`ZiSҽx.ޛ=*s(ui i,ʠ70E\LQ/[׋ϥ oMvQ H>y&+ T-*ŁMG5c>Y":^'mr p*dn6zUӃ+mԍ%~3P$sK0֚Du+CMx_hSVƪ9#)_C!!i(x1CxzRlFK:^1%0 /-hv /A8 XiwXφ=;m}5+c3ku K|8fL}n#TtSVP3sЅ|]mQt޽u}j*wJDc01y~}Ш}d&rq(qhE 7# HπNu͢+f6tc_r[ % 0Q.2W,[<_-"³FL8g8 6=5$d A1ZBS~5 *(@5ze&H+LbyvOWZ,Tש; /fje,%ӞzlO[٤ o?Tϒa줪D2ũy~ӷ8 sy u1Ot/6ڔ_o ]ÖE%CְV䐢J'.g(gaQ8i !_ I (:knk@%+.}~¿+ϯ>TGT5+g>k6;<~tޅ3^tHA/|i7i vϮ,>B+DjV:~K:-m;kE0bD;2Hq[˦Z4 ~ rVqtFĕK,vi[ 팇/n$׆R.[ wzn%#DCQ0r?)^hS0zVp]|cK݃ԟd!lD(t6V7N'"~zx [qx8Vy`$U0<(dn@ov-HC7$4Abߜ8 ܋:ߏxL#Xo[0`gt7%VX}wآޒ[Pˠ=TQ!v,p̈wrUm/n>Sj%),N ='M,s|9lPS:`ȖԈQ Wb1Bo=7-:Ump7Mn/zFSf󿫪d8a|%-g =%/LK?:{a'&wL  -SqeJ䬠7Y#J&0ʺtOWv ٹhd&_8_|ʈt-1YT>xb *́ `*TOP Gi&]LX ~/rhCZb^c)Kt oR BPڸ5AU+ո/f5GΗ )ְ!$ߝ\tEo,95ͽ(coջo<4IOK ==RH(;lU)֚ln ba sq=Ŭ~~,߳գ(4N3*w<1`B 2ٖ|'H qFڎ樽 bM~,C"<=rw㨐5QgK>٫6ℸݏ~jLG ͬMعaP(#IY3#z;otsD>.RTT/u;Dؿ'PBRWeaܜ⼪A=pnF_colw-y1J @b5^dQT7f}Y j0]'Ąk60C/ʀnD<qyo~8隲߮zy]'~ J`43T( 4*}(UP}е 㯭ͫмY jx]kUAeE P/-[_CХӡ)v/p+J0Da*ٍIW3# %0`5c_r㿞km?=;yV5=H LhFyMl)bxqg.H1ģz|݃mPdYG CfP;NoUQrQժ_ xG=4qYj*J W/ax'LlA\4J<@|r Md3,ewD G35O#DKSmȇcQ19 c_1߱nдu%NǹoVb z?U>Ɏzv( 3)ݠ}g=[~vq lPTmQZbb#T&ȺӬg>+OI%5&GH`]i26N.hC &Lpcn~h (%72[;J)/@Y] j;~LCbU(&glwܚBil䍭'ފK1/ gȫ9&m9$ld<"`E|[r:sx+)O (]lסRAgvS m}LJZ!Ȧ-MuC?B(X0)ӝM !gDE.l0VZÃͧhs`O~ThI-[Kv,& pV\JSܚT5RpoI$BpJ )'zjbA6ZS X$j Hk3m]Zv8] Ct|yn3* Q ,ȯm~lxms=-b $_@SK\V^Uz'F6T?7਑$k#*[_xt0R։Ć^5*q3|L5ey 1Bۙ8=ǣj[5S=?,W^|!hm<q%M0_eٌa2ktg֔$ bwXKc1K Չ_"\p?{/×h\c[5u98L}?/$)2vCl=RM)'xۨ^-zhh8*;DޒyOX~_0ST]_a Q LG>Mo.է |4 huzZQH;ndYTg ]Żo(S1;\aV#7 U B'o4PX$em?9s3Aɨ|]k\hdW<8rG uiB;5J! EnM;~PG+JPN NcVymZ5M/ *;,P}sKL@T| :OeV;Qdi(&R, GFeK.Db^1C=@ߛ%Jtص'i6bi؆ âA&b]ҞB]C=w§M"hY׀ a`Ѱ;zˢj?Z `6G[j@J6S{Η .ڬ%o e 34 #ҡ% ڦ?qP U - |DgõPϯ/Jя,yF6$W H}q93]Mj®B'E L=m/7hn&Z۠-Ʈ($1z_uH/<}&Z^ԕQD]֥`IAWosiNmO/9MQd^h 5iC[pjg`C$-##*@ LeJ<&N)G ba_XmjB1e_D"L[EsBEꫨ tJ>dfA>~fGН}5R 5=T+*ҦB?K2䍦%#*f~O #ٯKja-6#r4M_dǗV=G;3^7 ~+oɐ#S47Ϗq^4Ct'fv5>>W\IlJP<ʷ=$> H"9E͟IO ?*{M^>uqz*+L+r?2DCDyDvlƝ>F$ ,aiq=rpk'0K?X!:x(]uZ8VL= cUkA'0IXzOC͋cBhsgxlL%-f42[jgfK `NfCOF>5eX] ۴#Uã\*?l%g׋i2^ȍza0hU2z3oCf4STw.~l~~{!7B p />jM iœZc6`=WBleBRzKE qd{&WNQop~ҩPy.jǓCP{5C]b1K?糷EGuoތkeHV~Cx ;= ɰ`ė->NE!R{.9 ]Үxa&Ri-~kkI煋fSiM1CJ)$xdw^݌p7_Dg /]us'[o͆љx &e 3 `|nGt+ !ڹy dt/v{eF;#enѹQ[P-'rT396ËlZX򍢋FܛvS$%HZdI;a*L7#L 4UqSnPvV'!ʂtc3[A8żjۍjP,Hro֎, It w\.+*'W&& \ p̹SFRt%I6jXNYKi֪09C[j ~4w|kA?픪hKt&ixE zE?܀QRD@ U{ȭz*f:ľ,!ƀz"Hzat<0xD\J~'I'e9U,xaS̫Dz}ZTb ]FxxoF,m0%EΈDԯC(zuM1IbrIu;:<`FnMOLmNҤ[(+xx|4YǦ4'2+)/z3pB#}njwwkZY[öo܌1sj A;$%s xXvcfԍ/2o ($ Z=ښCmڏoͬx YFx*7REF!85S'`TY E _u[Ҫ!׷?DUL3x}k$a/q(BJ"Mxa)7iȁJc)$x u$1x1WQς|6w_co[< 7Iيeڍ}W ^ @~1NOj!#4:5띑PA zLl}ʾPj%Ias,@ֽ*D҆K\Y= Tw/Aw|˪$9Ce5S N!t{!YzA\Q܁`ƫ[sX2 К)$ܼb%CxI(WaVCgS j,٣2 O$i"V&ZUzʙ_Ӗ86d5V Ƭ/d4>lC|PoMٍi~ gŮOSfGwb!,Zl{B7ʂr2DJ̄t&`,ޠ %`ѝl"D}v%ヘF?k(>^@geRX"%?<"~6Z[sr;]5^TF1} F* 4P7JUuˮ5{-~S $RCog_c@ӓ ~Q R# ݬ$&vA#kvDes+]~ h {yOW7u˜Һ?{mBo{)7X. @×yQkU&@=߭h%ݘz"eqEv M?\Fx߉TƩ,k#\Rs*S;2!^c7 M(dm鈖IZ>Ba ;!&AM DwR\g|̯\2e4R.'\Y/ yHD]}ADCԣRO00"~)u(͟;JAtwే`OOXigv$Q&vt dcQ3`!|W5҃珲- $=K,1n{5q3JzE jwdBa}3:sx ִE?r j&'Imr>1v:8BG:t;5`+dQh~n7?$Úݖ'}:+J+5+Bb3tIeO_w): (|AQxl8 Փjk~Gbpå%G态etHc'1DDBCpn&g- xvLdDN%BXcǂw*ǣT* ,QDOo`պQMRL*z5kH=")ʯ MAN%]*˰UQvLIj cp?Ɉߋ( >(%HOZb- ip0tyyjEy)>ab݂P2lFR?n`]~eݚTZl# =sV=ǪQJT x'dIj?ֶSJi'- ]I=C20$8@3Ox lX1H6r@1T߆Tg+O2R2n[-/e/XZS-/AbI7Ȋ8])uDedA!T/6 }A h̄BdR1h),P~o4i/N658ݲYR3-rB럖-I)_CYC+||9'R(XNYZ5n#:}ՐyTeQP?x ~5FA$Ur~}P= fYq՚~|"/ّ6={Q*,KLkICd1t1aTnM dzQ Ȅ7tq[հ WU)-4qGLT+uU'!ǭ#nx2p}|'%'qoՏJ,u1z'#UoOC@\sKdr ٨ gSB]+ G3_9l<|+?P29.%U0TKcaXA%1tt{l!.45 рK&~]4o 8[⋷<\ISW[OUQԣAnu?jsm_0inM+=Oj>͝csn{sj/Ae<#t>QYL/y`cX5}ڿuE yXqR D&:uC7+-R՗DDN7iTwGf#Wy[B2Kifqϋm"U!;ٛ Rs]̷ e:ġ٦LW+V+Z'?-e̡i qf;r1۷BpBO+i)s L. 8l88*i9;5pFZ;fLZH*mkIOHK!j~ Ď_sWE]7)ŴNB _O4 L692MBR(C,aň?4oZXH)q#01Z2= Ajy48׶$9KRW5Yǰ!DC&28AmvXܳRPqԷ ]'voT|̧ $f)ZsA \ ;#CF-^I$JUp/=^Wg7frq|dcat.5~F?Է;zz WA<۫rv'YWhIzإĭ7ob5ny>\=95c2Sir+%>Sr`tT@#K7PE[Զz+ir`Ab\P}b| >Nܐ9j%:aA*ѪQpsnveVxw.>( hf[L/ZJ*-!nêoS-~^X/"ۂ[ЌC(G43p zI$/!LV&Oa^lLzT?ã;Omwy#6m/6Z"ӶEK9p{6& xgo}it{QJ6KEcN3rdHϭF᧿^dPP])#"\GS)7jx?~,QC%qu +V OO7k@}͹i`7-c]GYQC>]ъK!\Xi ^Eu V沛#V⓭'`_R'C+Vk;ș@y]w1^pݯaƳ;MT4lLbvdoe%`T޹_jβER"n"H}E|ؖ4up)^N?tv~.|l87U;7MY'h%w󷅐9^X{D̨4%J$7w `rM7G M l@.mdv%p7wұ?b5L/6HT$jӶVXDY9 |͐XBn"?Sv*(B0 K(P2ũʱvnTpee%xퟏ{0~[n*A\(sJ[o2!H94p4(=5O`/coU uD JgmR -5R,7 9*(Z#,ji CpY ;s=9=rƺ(UuWwyr{8B-3-f,|q8hxyOKlm R#“,yh)\@$!}V|bażWʟpB)RU ^AQ`էJAĦt8`X4dhB.n\𽚐Zr~k;}r2l>HAl`"KZ&PD09#|)Ϲ AUK~ jA))xʚ'!_ūCw8k2XlшM,b۲a Ls0Ȝ:֞܊ml%39kl'բK4'T);rna]*rK(6m'mtNP|/(OpAP#n3( wnYz;D>SXh2QM(h@h{sY MG>i'1)yV"F$=6Ikiϳxx2m cS $I6x09ʹGtg:ŊY(.<1}r "|SB>87ӽЙyCn\βNNKl#n\2SHsc I B[VVcraQCg5U`-a_T^+϶Pηi5T8([ ku7< pb ] IC亟@+:9"apCy-͒W݄(j`nG(H<ME{݆DJ@W"q&\ a,lXגR'դZ` m OW ͹oD K2pD=yw֚&Ѯ!QseD*ZBH}e`ͽXLXC!1]Qex kBʥI ]Y;i 6<-'(G3I?(2<3ci]seYvOy)8/,!i_\QqCc+\dj?$n},;ؙ0$s a;D.TS}8Z [x-xW1h*_!&ԩuUL~7Dذr δdy ΋_FU\^: *w!W /Swfh}/z\+&1"oMXJn b 5~L8Ҭ&qֈAH[džxtz GKѢc{q Z=j%Zhq֟!(aMۇ<\lB )ףWNގOj|>*7{F%dn3H<p!9[c ll8r%(: :b3f>3:OMk(Qx&UeXd!IAT#J 0#€zKF/\J#I]|KV9bR?T^~<ޯg`!xiu34-`u3OڄleZz( BT^̛$M(pRjh/ SyniV! PLUwŽ8mVLfbK4T6D&kuL<Hi8CGl5ISmkoVSNM.X& ¶(@ ?𑩰?RZ8Fd s4Y |%oPJq }ʚo"R:hoWH@%g(s'A>9q$o!}|:d{` {fqURFDWߡ%  `wO3y49[bHT( Cs<\OXmH8۞uesoG?U@A@P*˵O3)@DQHvL3[d;Lur8kQc!:`Oıt`LpEP;ϷiÜAo)?*R&ԪI`o7fJI;cSgrn)_vu2NBm)m!1)Y!MnĔA ˚a'2%C< @8f'{AUWlyK9ADɄ >!hԼciH$7։~ʡrtE?HbRqe+6Bh'XGln{Rd{6 \#78K3pPc|jX&]o1${u8pul>ѴkWf[۾vSdNMk_sA,09R[: Xs9K[4ެ}ǷU?9) b.G-T]8 q4nt\7uI]|+9[Qn1V>{Qh";2f9";QᑤtaKhU"8w.@;1B3l7L\tTs̲K\m] ɪו=2Ɲcnr8?^cotNr1?B9,a{Hd9"jڲYOyFA3%6<]dv]4U̒!Jsinx8|[?#$`CzE<#2PW_dZbNؑnS1$,J0 wT ,QM:AC/jPA@!DdzlD" Rq0(gK ~Gab|kHtU@O<'Ә } hŵLf R>nT53S-cOÂ.H(z `pXTP,ȃW I?KI`9|$sZ%g"-*+ϻvn=H85Q7"#1d|2|'{ ԃhUG7"X!û?<&56ZLtNT[__8r:beK/ je&Kݘ }hTtޭFk%7n=~+YAavj- }aHo lɋޡaX'/;|h+(B%9dqd%cla&"s IJ6~[1RЃNr<[NQ9Hz^A ݱЙ6nj`fVVsqjpvWI9fbb˳7TNM2o,scM{/f UVu8;`YEHeѤXٴۄ-ʖtxc|`k;2lRۙSn.`*詯`HW!4GQq de.,&m7,n3;뾟-|t2miZr?))CZ G^C6j?Ӑ#R}-F!- $eMtnOb( )||M-v>9M/6Ur!:VN;y*u/v'F,]8zW ~2<ƒ^0.+f)F@Ԗϙy>dzseeղc-*ne&B&{n^.B ޞF zqZGaovrr 0f;j YU2R3_o> r_o ln!#sxyM|R?/XApx3ַʌ,\c&mum$L\* ! , mmUW}i@v&ױf'Xv6}lxN@b& C*#)0Eڎa<:Ph=ҿY9QO+Nz!LGA{/2ձ1P\jQ(5 9O(U/xUrRl }r K ꛋ\|_u3hL8;1IJAj_b b~X)8v]>_+ NZ^F@ QX[ j hGsΨ[i5[LW_'>ƻqb(\HR<җ2-@%uD"gd_I_*@<ϡ4輡7_[rRrqq 9HhTs"ǀ"};5lzkX^68YTI0!Ռ)\^^4'*URv/sܬLd~g:톫 Ѱg _|{p@`'%$$AP&6-)Ng|6C+g&%G|C@4ЙUCB:mB%yd=<o磙8}S 6TnxReuk3͌% ^TALk%^7|ٟs N@;W[z RR[PLw@O-Y ULaឱttNQHtE/ǖԲSG|M5xjB"e“Ӛk$-R\g%=<&<<`fቫT6ʝoŜ m9*42ǻ~"RB ;|BGԆV hё9bE,~]Cr )6ZU='|r鼸{&"C !t iVZ VdH ,#GI3V0mwc`B(1A:[ /b)+Uqχq4Y} v6uݸ*,qE#"jI tMK\l=jAIw4#-ClVS *!nn<] upf0ϗ,  )/bj߻ o{x@zP݊05q3mJ-Bjiq-yL@⧑:YM9LC[v~fΩNсKe+nZ갟G G~Iptң% ;X;xNmKӄlRm{Z[|]d"o2Dg0,\nxs~UtD_= 5@Ahx%qt0 =dfΣ*WXEowUL0:^ߡS\#~hD<}-0[Rt:%jpL_a k0R-qd }QɎՑlpt@҄WU\e氕 ϻ8!"A<@1-ɪޛ:æCSJ:={vkfP h<Ϗj,* C#,FÐK;<{cT%`[yicon[p+Ypʑ\̭PۗLάs{$Тږ(R)|%7b{|(R6  ryM,8H[R`ѕ}<4>p,UB {IXjLk_#BςmՇ} .߉$}H A6= xg,i6,k z`-Dwb̖רM$Uf(:zM_=v*-eb)@$uV <M63IZF}O(c6j^uldgyi#,3->ޒ)Ġ-vcv 5?[ p5\'H8H=j.VKۍ%&Bc T% oE)\-l8uc;4Գwn\r?'?%ny ºayVM¦: khHSxI% zۦz;THAqOai  يJ-PUic bK% cU@k"?ap/ C #(%,|uctɳ'K(ˢ1 '|ˇ5Ҕ)i}~|E|nrqwil̫4]t7ܜySiz6}RrfaXW+-XE-m^OJsmU1CƟ5dV =5o&5s6S8KK?8NF|-AZ\C*Ԫ&eƎ @?\7dC )߬:/e8$CU +_]G~4׆i91b UgE 7vͫ3JŚ_>R+ZCW5}ܑl%$,gO8`d]By_˳ذea?z7G'V E9yy 8>ߞеM%ub})ֲPR(grzR]m:9Q q}Fc1E3< piԁE &B@_j:pfցiKAV}06Pѹ3au)so1kַaʳmO\Aa"VSxGc :gu>ADiEފ@fc+j!3Nb5ٺ$~*lT8r]iyOHGm霔+Q]6hivAZ Ώ\Bky]5QQtR o>P$}zwDO2Vq! 05!\y#r <ӌ k oJDyYFt1,ѝGP_#n#u@_ c I"1`01{i8iuǑf4y˜H=$ž҄_f*R@&e[ Nv_6p qe # ݵ-g>?9bٽWFP6_^ڐx8S"glbln;b?M5j za7-lJ vEIsJ;錻Yy@ZKqRj]Й 3$H{gP%۔,D_XIS :q3H:#+B.:DJ$/ًN•'ªՌUOacö|5=ƞʨהhy*W[V/i$" CL,Ӭv4O(LhqkAQ¿J8t>I]݆6koC뙙d 'H&SV=\ #i^8{Drqa&-.-b :s̩=8ՊL&,ӫ+*xOd' 3-8N$\$^UdpqSqq}^6QDZj:#Г) :-Yz tRÎio ۝)[L42[j|ǢLGT`N,^' 9תލui[D܀ܚVC"!JuyUZpɝySeo"Eލ.[ya[ǻ6pF954sHx?dX /F燿O@XL.z7W$n=C!=ٴJu?#2e]'jψjl;d' wsn[E-$8̂LnR e}_`JPalRt7er0CRVG W@V-%:ef2큭D G@h+XNy ƻu>4=}.#H$xg,qF)֤kbofٖW` )ζk`:HM,9gb=ȉM]\v|>Gʞ٭(q%Eǥϼ`hTL~qNQBU]֭u0gq]-LFOΩя!a~OP!ԟrh[&u6PR,G_)w:ҝo%wMl 85+:)| = -I. >1xP<:ЯHcrfaY+X%eNa}ҖmWa% W|bst!R8]|:G7-YE}shJg^+,Ҁ$'e"7s J"s؆hT((48vZB>eZUO$n$saPRI$U!;L֓oxYl=aa~\¼q cgjĪ|y*9C( _9ޘG@IʱwͰ ]ӽq[+.bv'3=W7Wec5<>;*P$iI^|b4$k%ї ZNӭQp)Z2:ީ`v~xqu5%"i/ 6{P#aƆFw8|؉ll rJvc ~΀b V zkgŌJOY$||SI}}fAO\b quwQ^lvjy)c<_7BQzbºݞąPyǽCq&$[dM1Kc1Jwi5֐'mHud(]]:"gYk'Ts]ؠWi{9l.LLwXٶS%8wL_>p5Ðm` q PR8H&5)Yg{R@:Ϡt_bPY8VWK+N/5$[D>YiU#U(סafpKF!`0rPx[Wbv) t}[Z\ٿw{dL,}]јr6X~NU᳴_+~;0vјRm /̗xgy)xdmD V^2JyrAU;f G%Fg2n]z/=U}Co@,2 P!N {૭Ybm" !xdR F/o{py&Lq,'9ڎd>l!Pܼ/1ޤh"۔Iڻ8̈́JLGA:HTJkV4 4Bsv9f̊{0ڐ1lp܆gA -,`*PY`^#S_Nd $Cݵn:NgJkIcmjE\%۝ra2k5\ka ɊXkd4qKD-(<`s*x_pN3$"IתΞ>ekD_^A/nCp tp ڳ&;DP>%ְ̡ý8~.XQYza齋n#b!6k!vߚZ>g1aMq Hn%B%%r|rCSD`v"nol#T%Kټ\@⏻Eu(VQU qƽr,gT(GՏ!u0Wb 77'$w)4UD)ȸ_/)" zҍG(E_$o8gC4*p)!,E+_ fd/ oJ:)Du䝻2oU:DNGm4L 2LmCh[#>MLG/ =_?!uphEeи& `oדș@xD^+h|Ɔd;^z hޱ"5xrs>2yIQ8W7Ϧ%ceOg+o %UA d!iAJN[Au4`GѪԁZXAt0p)9Q6w{X6qz/ŊPa dPWʣɳ> $D9i}Kk ,H S{i6; T,&Hg_q\F* ?[S7EV,Fm}Ҍ*`_w="cQa֑@HŒ$n[ 4 sV?;f[!UE@ƃ6^* `q(t-HRO¾,?>:Q1Wcۥ.rCR$tklҟ+Qgu,cEN )WzI_~[3A  p b$ b04֘ W0&a \`m'{Xv9> MɕeSa,4sfr~)"tR*$4y~`.dQBFvvrxSl*zRb߼;1A77KbodBETCxL (//Lxyݵ4|iQpł8WeݞTVmҰt*%϶U{P&m1qmZUEyW9 |[1j2cƊHU>{w\۟z(?Ɠ=y0\7Jb9FHmhHCӈn"KZT?"V6 ]Od> x 9h$N_y8ZւV-zSg9{I֑&,OK'i7<䤹TRxCQnXPZw7,E>B0\??~U{\HM{b B]?, izjC~ͥ$k][dR 軥 :br9CLv5 >jRs: WuL0=/;`~z2)pjSWbH}l)yT,gd>]7Ny* JIL8`_)_qJ qx1Ux~ym07ƷX&h\NFr;F.17,⯇w}5 L_`]`^ ,^{7FU].P/+zNif%mb r%!6عMjNmzژf#!)dl31:W&l3UgF>mgpE]#N HDe;WM:]A+ 42Iu%,tgy)9^2 +S5:1ֹXgUVª#Mtw&[ˢxmY.E@lll?7&zƺW1^5ANS ٜc۳y.P"aiȩlU@5dSX:=C,6!VQE_ :6C}̤ɿU t5&-l{!&/y,=ɹ 爃o^Zr@ufw+S2kXA[TW0C AfՓI(!4vi;3XrK  W̟39;ģ(+y=M]dJ%1*މk)zj!.5-΄EmpUf1s=bi(,R$|?{{O"쌪7Yqqۺ$Jeڞkw\иE9'bK03 "X*~=sSLk߆^ws> Kg˃%EV@W1?Aѹ#-P#9Z(%ܾb/Ј ccC^ʙ){*]sm AMQVt=ݲdb։-+w(ۙADq)aۂrHjnĦǗd{W눥IO_\CJcꧧi1sϰAɖpڰAzrtPTf)h IVݜ{70 C"ϡTʞ:V-Moҹ d-:UVO¶؜]dvJUEتr3p*>b(گ."~_Mx6Wxyag=KZrؖE#݄8Ǚ1R6w7ݣI1$)~j_4iVU7D̫J9mpAxD`a ~炏T? =*&w!.$/ES΀Ȧ!?('ff^gn$2qϨϧ~G,64] ,!*;1y J<.~ruR{`_o*\4*Ũ[uBJ%5039S adrwO4?7ijE}td3Eӌ5}O=\U '3[&̂6 l9 ޶,WᚓgԀ!z|]Ī%]<~MCfJ0sмO8 g7܃>vcX:v R9x)mL`wphjjrrDTvW\C^_ ~ԍAZ3v ni=⤯EtC P[o~h'aXT*Yӎv8,N)~n% }>ݴղS7s1֖`RH\gSD!5'c=OZýi̸@!-KV0C1=?0gcwu=1&{C(cE#_0 Q{OG +WiyDdưS숰 U`+OIn0m fq-Դh! 7\vW6($чnK93,S" kk9ko/;|$|Cqf^ލ,:o"~g\j`.hlY-mN!@Gֺ̘R𺇾"#  xV↷Y*H{\\ߧB?89=14)!@.*|?YG z ܯi+au]bgibkir SۢG)Ametv{l$YT8 cOC:rr=V|hq֮@t~R#A~E A-Y-6沈o\>.t(\˞_(l6]2\G X2BŌR++Hͯ>a5}Oda>bA[B ۰[ KpN{\d81W)WaK7%Ad/ȅ_oZakJ Gi:3db4Y C ⴋb VDDxUku(]K2i#trtP1&pl}E޽Tث嫨`Siڼ=GBS$ێaۑpviUP$ShSb`AA0ravĜw"B>KH;du>R>ZWM/6IT^D2 .6eW)f 姭.@*`YNJC%% hl/p9K>Ly\\f}]s3Bd)=JI!PI\B2Ԁ;=s[R IuI6v?*%vҧrpꭙWKJzkEf1Kdwj\>N E.{Yx&r!oU>o כv06h]=*Rx ۈB(oԐM-ئsr0&x&|*^'A v4cɩ֑=OUPƨ/Tr}37]>>&p04*4);Jǫ%莰So1O ya%'{5HzPCr#5IfU *i#&Wܓ$v}E *=0L ԰ڈ`шM]1X{焃{ rGߥV=\62nYn5@zPrh@pfM*ϵd\f< qV a^y7/ʒ(O81gC~M*]/OKzjC~t[[޼k)`aMAslkO +y4ւK'z5;@-3 43[u*y-mPc;=kHXu*-6'u[yrL)!F [cGǙՕ2Ԅaӈ&{p>SN`z8EJjӋqw .7Rt !J_\h4ol >{3dbG;W}DBpHZ~u[Adl{HK}b蹾7d}ڡ, zot wU-'> ^^D5oj@c-d%،jX']Ag-p:Mݔ]޺ʩ ,vmKi?k\\0nY`d}RDϜ#C}u˥@l F[U,ힼTi|FjNwF 2O}hDD%vPFCv2t)ԚǶZol !e3Sl<)No^ zTq-WE#+,Zix KHrXu$x&J*LIS߱ ^ȖK'qT1|~yTYʼn׊,)5F({OKqmd[M~h C,7}6e47gl,TSc I%œ9șD^Mt>.=׫9/:^2 05(yn`,Y8.L;ibDViAőqf~aH;zBBX?-n` /xwe$`Jew"2oc^?}|wQ-/7BrmAiüI( ӸA7r;S[uisr}X?V n&d9Q *i.=z_QHNTỡڗ 䫥pv`TLS6R0&.yPc%>cBNP $z2DGA,t~_%Rw~TrZ ܣ)3 `JvSWP /sY5Զ3 !J}TB+l^qQJLe/A[|ZSq;}1Q:s@H ^ԞWClsM`HAf*;+qI˲MKn q5c]U&CDEDgK8fFFFt%:pHҋ!-zY84jR+up!tR tzrn*Kn5gn7^`wK6&Y^l0.'[xǙm^d1* <0 j K(”C5pM0m΀FXbZ$JɩozQ DNϻܵ Si3t>j*eA.~ֺôOA* KK>w+=2/3zN\tq\񖀶/.˔uECّo%>ܨP%T^ 6k"KQE1t[0נ Dtݛj\g$bӤ!Fܘ$G'XݵU#+4%pvEf'4b0t#1Hj(!>_" =%1]n,U70/{epޮe  XE6vfX;Nj&mٻ%}\Y.Юi(lca.m}WnA*.BxRCo5C+PNQVw4gnwΕ90Z[g8 RBk] фu/G_ra\ILhN8%'C,s[us3!7gd@y14/dךN_?*&'c҉jf%E_HF0ۉ<ʜV~*y֏8>hZ#q./L ±rCVqEڹ ggM`:_;8+Ց%fݻWJkW51!A;Aɴ9EW/BKaJ 3FU˧Ҵ4V+FA?@(-\ٝ3xG26ظ+ibH,V|6Ÿc ,(+]X2ХSnv\x?X҉P× `)ʩbdRUlA~i]') kya5<qFawVF K(+0?~@%ޢef̴#3]=,AI& <ұuk@2}nh{В ӛcI3:n1_.m9)lp<x5)7L>`R Q_rz0? ^iEPo&Z[bf8`Sfku0P8wŋșš" ^j@{vhDjNo׹ȩib$= +ZN@ֶ 2,q4snv@\ƫiW;fIAjf&i՜q*V8Բrܯq-#mZOy0 h\@f$VR {5 2(H#O_jCND9ΐi:T8%H5mI+InNGY,c}MV8s45[Q zXzo_@Jh^S=4N:#s5N/S€&%C!iE!BW 7P?vtvvs| <ՈOKJպؤs 4ڶRR(Q'z;4LOh](2=TKӊ[jfvBo4n"m$MϏ5W5RST晘JH=AP m4~U3$N2NїS O ڷ U3r e5)-4YԔ i$[iB =9˳!˭cr1IAt~-zǭԦ'D>?0X".8\u*Sq5pug4B[NNY+Po^֗2d~Z[wk/RUWLUQ4l ,ޝ#\>5Tuus`;(˥oZY2jxYx#;x p:?E/Bѻ)0 ; %cf |#K=Sy^j\NlM.Qs0TE@ջ|жSw+遳 ^6 =‚gS|m*Q"K.RWy?,,cPcOv9iu?oEpޑ@֗H +t9 /֣+́ӣ@N~HZ@.,>\m2:eR\ݯN(%j|pdL&vZ'(Nϕ eH(|(Io˹x O"т;w /Xd{OEvQ_ϓ̿G4~s`.0U9͜J|?͙>)G'!% 2$xﰡMjcU e=Fi;[,fI  F'|mD+XTZګ dYA؛Fglz.Nss FM׾6TvjP2̹ "7 Z9`B{صZ\诫 ~FmIk(Vw3 nG>媛\tD7ZK5P_>0sC:/>4"SjlO)}i2D|EFbVטIŹ ;=HNfu,R0b~4jB_mD2:&qdز=?W'M 9?7eD]iQr~O jTV vܡ`9/}Ɗ[ _=BDR ʎ6 1N`};>xu<=޴N+D)O>*!YA3%S(1f:Sjj.mT{&(K1e v2;!$b%'HLcG1<?a}VrN& ܖ`c 'xER(aMہA qTh}fdmW/vDDhԖY|S[JL1DE {e62`3UuL SͿ5K ?pY` :\Rϥ BbMS3$_S-5ost|I0 I6GANf`j xegnd)*}N,`1N]a (jE0x.?(nWlʊ 2}vk J7{+%3@+1 G;Q2{L*=ͩpV;1KI`0<9z"ZWak~^ITBPI~FPUDpѾޝXweI!(9/Zq6+ӆ%3TAJo|\YCQdM8ggq\ݰ }eƝS+ʬayF'3L=NNi'B?qR_9BO߄> @2pP9cŔ?D%=1N]q{|a뤣c bNy+}bMViwrx|\MCo/@cڏhS94]P? CF{MYR ۟ [EV+a7;{IyS*,vcxqGjřCKáG~ɺ3W\ɮ}$E3 r %'5XV <0=q#;i<$\e8{!ӤWW&b +QȺPm72|WeQ,faM J|xZue7 #(~*:9'LV {PW'4ys9l| yuen錉9?[8vYR$Z8yHɾI- D, s3Hp$9@$U1yn!=ciݭj.vݰGxNCYpH"U[mXG8BSg[6Ն:IJ@U턢xwB=G-})9x ^AlUc=IXVM8n Ti酇=qy$O6jF- xFªv|KkydIWYxn.db։KI\̂GA(4qBm` _8aKQu X($ax4<Efن|J.l& 995n E!۠0 ^\ ~bS1H=0}*DjbZ Jw"8|2Y-=',, iF{owrJ,ދ4MXu$W?N@.̊u-Ihׅ }2tW>9@X?'tFiaMdB=c9w҂l3=_q= "gRW$%]2ϝ `6M0ȉ#\7S4v}t7jSŸtv)R,iP0WA[Z%Z RL>.G+_3E (u#Vй_O]ؑ:-*hguXG Ɲiv36O:rn/sKl\\b1FjU b{\СMw?†T01PQlcq;:gpPPހC7|ۢEcJPTyH"w~Rv (˦9$rGݣx"勉k|=1dBhFNV._ 7@}F9VzW\+K|X[ vc pҸiaZL"^ܘ/u %aփg;Z$ҳjTPmGǷ]%' N Y\W1{cVIwE_ 1LBU>Wo.OPfv7'¾y:Fn2kр@I+:Ts@ж&XOc`ٓYZr!59Fαrݘ~lC7NFIZq qQ jm4$(}yw8I)ƁowIp䆪YQˎ9Rp֩6Sίĵ[U Τ1꽘-U[gEpBȆ}ŶJ.*J!4),V-9 FP3(8ow!}*%4֨T9eb Rӷr`=4v/n=lBYX7؝[#WyW*p]6-H yyީ Y38-D~1 W־mrg NaI,3M\qx,d c~Lm&CڼLr!ӓQE} |/yY:R"dƜ,iFu]0QcJa^{ o]=:`eס6\ h ,GunNMTSMSeEtM}½$w.29%3T#l&MinU~B5,l"t ;~@,r=\;?#% p|EP׌NZ2 ̣NzܦK!_J94,˵6*o%i;XWDHU4O&c?d+n;׆3m=ޭvdLjY6(;%`f/io*6')1ÊPqlѢJxhEC,dt&E~3ΆV C^Irqa)@Yhh,؄2B2SZPPGFyqq!A)jZbT׍6B2Q_B QBҞvziq{wnPg5֠R_'?tvEvA4nhdnֶm8uY'#FhnIL0hZcd;E9f pC-i< BQ7a |jD鸶i|ieX&w䳉"p5pգM_@%ЪbONBɃt)^Bhd;0mo@._ԧ+bJ5p5&JX, Cosge螶b=k؅(k4x@s5#{~]U@VR4ZT28~DC5kA㺣Ny1OT"(5L~R|ZJ$.k!; 3OF8;4y.G@% 菷hL"X30 ZZT=9ՌrZQL+| /,yƦ?2$JT;@,AdҶ¿Mj ㄢ<Ч,YQ\P@>)wF{k'?M%%ێ,'O 0vzPSY,FFoMOUDĭ;i`Ɓ 6ȜˇƬ~ihS2/TkRxWGM\i%%qQ:m+Z4Pb;!]lۼO|(v((e_ZXG?,wJa!>\t; lӊ]&=ݮ$P~P49@XKm`ċzB K%ߧ\yᧀd}RRp }T0 ?VUOCYwLD{R3]X 6?OFGh`(oJ  d5^ zUޘ F6Td[v klpqת繠wiJÿ'ƔW{x + .ArzQ яIܹbPqzEB{l[YIFuQ2@J^ҋupr mP&r=ڋFiuq8LY*Rf6ӽUc]^ bBchqg2QE 19*:w)"]R>TZFMARU퇱%1]zX /b0O>A8sk{ R-#7HH,Ztax\\"ةe?@eki'qV(:U_҉ι ~tɰBY>יzٌTzGbm #0bC#Zod>Q!?j)rRPA =ݔ(0;UMr=B'Cr;?=xtJA p8i!0Z:-C+-yxx*n +|`[NM'헼vOGq(r>0wXޝ8CF{d?"|pF׹ëTR{q@{dൾ pnXcSW+Ke>9hs=K9uҋlHIY,\/l_(#BeS[k$ӅA-f'>ExCo"OJUTF j߳:lmiOOV~+bqM-FFoѷVa-dlGl [xD33+eքɸ2̖]t6Q6p8uܕKěyN*ecWtO*lHۚb`}چpէ=&?|WEӐ`W\"Uz҉D}GҲiUVї ϗtF`׊=`@Q8 Cݾ5 ) \xjOښ7W\< A^nAwVӵe/ݴb/}~h000RkΙ9T1 vsnH'7 1_:RA,C/&@o3}wUەg!lL .HRHes_PZSHwFeNG@a!2}L?b<6y*٭džR!z&u _ F8m$ Na*~ǐ/RfH+Jx0~m)/}Fl9>".CyqguxyRD^K݁5V{=;SsFXt'O7lY cI<׳\J8~Pr\vv+ʼS+F3`6hhŲY{7?TYN0+0J_Uj౱ Ǽ ['TxP`P-=/3cV*/쁧 `].GV@-Mi _1L3God)} O\]=j,ϴ&&r~T;{wii>'ebl@ViWz@-iN7CvNӒ /$ tŀmѤ9{.eY*ˌaۡkRk/Xl2hݠW]XCt{׍xٮzzG^q4Zjqfokg)3ؼnЅ0h~ZmH {n]wݱZVpk;l3** MYRV|' 5F;aD07JQͷ!!QAZ` ,nݼZTT($j̆"6MV~KNB}\I\XG-4Ny@G٪HS%xaf^li-y/{YDI"g8r(AfQT3562x⵫Y/v\J뽨I:PH㾇j gY7B[Vأ2Bujnc`˟E['Wq@4ĪqAWMNsujQMx>ls&쁋W,@hZt)sJ|D+֎%Tuݗ܆.VCo5su s%T1;\eװv~sʧ g" EL~ Zdx= pϕ*i`Tu(ψ+j3ȍX4[1-3/N* G%.=^k@ɡ5\m1i?i@"y} R )Ttoͷj&*5Bnagvqkc&{oq f.M5J2zJ.ӌ{W[=\tOC<Xf~et9m}6x7%Eu!VHD"+Eh*!Nvrق.PÍ"Ղ:xƤFa$^%.ksDa%F>u_,yݮ ^J3L [ pvI]o}fYgb9sOI&Q9Zqm>t7ټijOJ=TPY9VګԹRgw=CT7 14 vh#KˁzPwPxqyDj{Cr+cV幗 ZǶ k'T> /0+]u+ t.k''p$8w[M_,5Rn]eT>q?o>ͰcQX19n =*}+T+=83o=lq7͏ڄ4)&*@~4rLw0OMR~<٠.)(2/TJ?[kڿCx҇oWx7^:1QuAUh!m3NC^OwqAUpHX؜n0'NsL2L wUR{dYhpvC7Xծf-Ted+&JgkY͐w$Gl`TЪvwZn[}U&̱vZqCj&?V0]QnjCQӁp1gYjEp KWc)J½L{[_SW@#D컠?4wP[MUzAcqm2N@>\4W7H㫪Yz@7NڎH@aIm-I!Myq~ >=RTgd2?"v)f c|~E`9e 9& 6/CRY7#9ߘMJ=ajg>J9ty2c) ~2 ؅&}ɍ:+BhNƬ!|cb/N6ad@'ֲt烏1k\_6N~5]oTI] ekA ܦua|5ӐyVSE]$?@@)pZ|ق7SIVEHU@3.(G}6p Ĥ%TÀV@Oh?%kr~%`{ BQq kK7-& 'T9 ~]1G^"Hٲb^h,6M1N6ǨIpd!%zaSa1iܒ9u ^ kG (|p V==.(b+'W:FRVݗ1B d TA\x9jCʵ^gHnٕ~J.6ToGNKDZRJ#El1G6T;cp\4F4NbfA"_MUNI`^"fLwC *\BHO|~:[.8~p0n7SV ODP] by"Ȍֺ]RP qyy&dD0׉d7e؟]Įқ_KZ >_A[>_j ۨ5Aq{Qd]H'5]ϘB N\k2*lUcv4&%}2 .읪/6s K"XH10RPp\싮Bb[}ʝ94*t.y*3jfg픂gxְY&4>΅,E*{j.TC2Ǜ)>*8Փmx` $MkU|_ kll,$T`λBED[k+RFIPԔԖjp&.6dS5(A 7NV!<(^&(~iV=LHbUun˅[FN['b tw4ӵ,LCb8zU║0, /A=_˺PrjrI) \\LmdkҢRĞ$kB ܼJx!Y.bR:4G{G/foRQcI8Ik}Sai 0_`F]S3w6mix: w2m΃ǖ:lFSvtkdLu7fKF'e 9L4+(`&*|D?6qѠnh ;I7+ q7ۈ(K,%k+UBR Ouelx9ms–˪/ !raecUvjBȕJ.ׅhnf& ]yW<}Y[k3f:.[9sD@Eh UkzƖ,DqXK C)Rˉ~Зo>ml(e ybW10ZgdPdF&*Mc6cig׹)QyX\Ԝ[0Y"fn#\ćcU\3לy,tMDWLBIM>f>Nnk8pyv ջ&pt_Vʕ%>te:}WMEVl+\.-0s.nT+b2#CXq {tpY@QOݕtϠJ3Qo"FSsXq/3Q9ԔYY0/y,@zJ:doX0#,bYewyciW5DiM%(~M~nAJ;O1čW@ Sk]S~MRVB+'L“'N~V$/E6||~ stMJ)8.&B:@?W}0CWt8>doi{ A(1ZT(02fίe[ X}džJsE+#JG TO㭗>aʈo¢cI$6'w*h#xY⫉`ּwaͯ;5YV&k]_AGOqs~ \  yUTgt eSggw2&u*'o;EA8 TC :b6B^ n͔dk8UQw't=r81bwZI"ȺRb{UGʑ#<ÂQuJ$3;Kf |҉O +T$: \ۑz'd%0 qߩK6wa(˰߶*\ =#I7C:6K;jGW-+&~FGRscXe1!>Eif|\?Lh/vwxx_$5J|&P6>X2kTYcIaHY,W+-jZ#U5j0a7<~qݲ֗vb&Pȇ-~C`Ǔ Y.jU[U}|+։V0뙩')4r}Q fpV>=թz i;-xKq$*ChѮ]jW۲q\0r16X6T jd2!ܠO~`4F\~k9Ni͗APoky1g\sS"O0Q?6w*n>\ -Im B&< 6V* =FpR]vjb2V xt25z6-vH]BVw]PـGDuj-F?, Od0_\ON.| }#!㾦e=HDeKq CL?qAQ&g71b/F3ZP@&U`6 w+$|}Z~+ܕ+{>JrȐfT=ȐΓvh\Ep _v3kZp V"EV맺Mkw2\K+ MR?⋎:рM]*[pͶ~b2 ~cvJ*C&MYYC׏:CWZ@QAL&84O`cJAr'b#7K ŧfRֈ.vN+ɬʿ҉1hi:2 TK 8U!} ⛳:XmC-rcfUle.>r i1[K $S<57J4Z21̓xt?G5B e1F0{b9Ȩ`s,?qO0]LD@er/NSڰNpU`&?se!4&5{`:E4ړ\[٫^d/ Ͱܥcjq`=TsoLK;lxf?-)9I-~EO;|*CBy&E@VB}K h Sj*3n.}lhêe7 z3ۯ,S=ۙɚb,eEk֕7(Lz0lV)8҅ueC/z;ɯ'!*iFۯ x_hq}Iud%3<'^W/+yHҰC)?B\ @mk}T Ss{!D kcx`Q5a`̃wz@ksɡ@>wI S`K$Q-b=)ܑiZSi;o¦;6yu} 8oA9aΧ9yC= _oC6U ZVr~$@SArL h8ㆃy++Bu!Q-PWHZ:@{]S||"HvB^zŨTlεtم@CQw_p}UPLNkE0, ) '~ԙzQ ~77U xwΗxb8qIV$}?0%R0ze;(B z9h*ٓ0%"Qum]{b8) Exfڼ}e#vU Β 'ZV`=5t]"+$dhU1ț͞6>SC#((D+w2cԾSa xUknIުd&M(Qg`\IO@ E 9'u'gFEK=W/ ec4\/DðYaJzt5Rqȥ/tXӼ|"ř j{[@%#huԼ+?ʥ.cBDǼTzެ[sz7&><={k1*k.6ǹH֨!ToDFI|.=}8hƟMٳQP)B@taZevD}UB/D)_I98P 05f舨ay((YѹU|tnBiPG)ǺMЯfef {7S~H#@n 4/~цƬ=iɝg6?20D9E9Im&2^.nYzsĺ=|mCf'wuCD7$J:wݯó@oNϽⶬڤd F~=F;_~!W.iQ-j̇}읉KS $aUЦG>keꆠY?z_%6 n1Rӄu_' Fmɸ6N*jT32iTws[c$Ruq`cp.GKb͟(a@S"wB+]}S7ԹnPn-ZAFilX{h;HFL %G2zHWQNqX!qC^07']b^{+XED$2猀lkg7yb lBe6\]DK"ҥ4jqR~-0XzTF$l?o! <(YזQ@8nx@n(_ĮO ؇ ~<*ח孊0_v ۶ǟ5j S hFE۶k!1{FNSV3U?wp.'rcZ*JY#>C]qJ55Q5JjW[l/"S%aj g5%ΛqZUwCEQA!A9iC(z3g|@u3LIdyΐ4G}?^N%k94t&O/_U WEcHY >vNz%@^:hmw{ t?B4`BEĒ.(D+\d@q *ׅmr ,^̶<LʷP&6+]y9.D w^m'Fj$փM,7JZF_xSnHn~"YݴV$|3?5.I=MP,?͖:R$#OtǮK 腞>""t0 X:+tM{R5*uA:Ѱ kҠmM8_# _G>7ex{][mtZH=B~ \4>08D!kT$EP`^HzѦzvCg9-B_iaG4 #_ ՘@} AٰLkpLPsf )'םwaSX:t<-z! l 3(s=n7lځT?&kC),q]N`SiڞIvl.12RøJ{]hՊV.Aî-40Epi?G IfM.VvąX% ЧI[w^"#C rHxw}ا~꧙zR a&wTрϖD!KW B)P<[oE!2 ǭ1zwE؈M?{rYrrDG^\m}*@CD5 !RjOEO+8sot{2n𮧺'd %:{[HA3lRknQ XB%(+s4\okP* E;))u]`߆ uK1 @Bsb`m>FOmK:CwWh͛9A@ Hb #Iދ*.7urT|gp$U͉Գ eia|haj-?DM8뮚u`!:$v\1  Ex8ܐj_}IKHA, w`],?hi[J*i>La515ޭ8djOŚ[#E0,֒R9ۃ\pfLqwWt?+ 3:y&)wa溢]`A8U3ANȂ1;<ݣ)-g>=$7>q6s{!HM=7v$@f^Wq9_M?iZ"+*~dK3](T+~#G3z%܄kwL>^Q=?nәr;fߜ܄!w"%du 4SQĜ5~ B"DA6gn5BOЎԅ1HbxYQaWke( ꯳4H8_V9/Nj4=Qo18 ߥ CN\" dk6&}&b=[5qmZ&g 2m$ԎEOҸ5q*U`D0 Pq"V&*%u89%Ĥz"w8/ח;P(v8&Ӭ=7rO#:kgxP[ICLBO8rd%Mу^̧SwFKĭ>OĽ R]sU_iibBƻ麞EUKyeLɡ¾/1q ۔῵ne/$l6X;9RGʍx1gJm&ʉp--@+6MESOtzAb9W?Ў%5Ú=WzЌWt3qg|_,W]9!Kx~Y _uSZuFV0w+1F^$#h9Q]9VqP@ݘ}8ijܪ9 ӆMX7vKG L_2FoXOP%9Pr!^'Ac\mfƺH4J(dR(wF=XF4e+dS@y79b\ 1ڄ&Qr;K@3fAP #m#IpLNKy3;]\o =Y/Y5{P{ClT8N_/l[wr[AM*AA7/̰LKmqrs7,63Pĩ挍]LPػ$`Drb$Mq uTN9bu]݀uu)QJxI2lAOC7{y4x>b^`&dH $` 2޺㝵 r\}(tXP5yfE0p68ޏ9? y·D|.M苃N hp^'D> tphR*Q13˚o#A,aeqvfLb[#p Qaikt-t2Z ^dDW'cj ,& i`}0epw`pS@HoDn|D-}R'BJ&<7D÷v8,B:ގx{+>iw21Z( U&(ֲ]T~[F2#E^73ӘE- Pw|%Y濭M|tI,pٚbX(3iGީ5ÑNJ.QMQ8(!'9-T?—#I̼Zq6⁼C6ug2e`!I?\Bmc`9o̩FTRF")u$ 8iB:NC%\y>K㗦ˤFFnkrʑUXZtyB9`{UHMU l }ˁV9o;6osx L ͢q-sBwXfY`fXJ1x}WBrnJhzHMTb3tt#c-S<Ʋ%̹|g45yM]2m?b@4 $çQWeGU('zƒyad { 0XH!q*J"I+CpG~Mʩ8K">! ;N|ZI?CI3[`D+Hm嶦1~qf,G&)g;`cd%x(jUG%%<)|19}ˮ+4MϿˢ!POz4%k#;PNm8-T(/s+:$k1w.}Su|W˂<@?t81*y s˖@_oܶye:Jg*xyAo ^/U}0wzh*'یuis桝9BܖCa-IW`]3&d*}h`7I=w1 ER~s6zEuD,1{[ku[hfΐA˩+vB3UW^T"`qhuP-ǜ!vC{7]R]#: / {+/J&ᮨf!OZK}Gn $Zpz(:`o YO 2@$cZ,Aż"}""dWԉ/ܹ2w -="z>jVvo}NmLv0y4qm/qA.{j(N/JV:6RG)SZ>qx/syh~( pE = ,`7N_e n<И>Kam v~CgU dVWqXrӽScw4b, 284m?U\ Oww- &GP2\({WB+Ԫ,8j%V\},S7$1%j78 `]J4s&캼ن^oV 9nNV*W&sǷeazBLVs.LjpIqzgR8#Hϙ+Ϩ'd[=i'A%DXx[;w $`qP~; gZ{V[9cq܉V]O+_DtW,KD% ,g{ }Fwj4n3<-KQ*v?Ѣvub#+բ&aHƀf'!l`b#Krynj,WA8>5P[Ti X#!]C':Oiњ@vS UVEƐOlH N^TDCם r4kI1AJߖ`xB]j#t4o&5b5gt Ťd..=?#},)djq1(+m^1ߑ8,!4sᔝ"?+CH)R\mn<4W7.,ȹnvFӴ9=96Kt?(b=(V ^[ƚf# ^XeTJ:"_t@* 4/nmm6-$V|H`4I0`9.PEENԎI 󣰍I) uL!\ʴjqzGn"Le~X3DuMAw5 ܎8pc_#[ Y˒<_Y:.&LEw T# bq<,VD&=}sT!Y$klL YVϹwdϴ4m.~0RҒPe)OG c^n}SWj.Ok\-Nq ?OwC ppZUBWIl&DBP+05ǩ l? J@Q`j=V%sPNYtm]F wvc$JP+Pbx1~]z#0mmkI`@s/$W>UV}.TlQ;dl raw6)dn% r$Ar(3P0,lR3S7lشP^MLjɳPufMaPkUU_#y[WbYJ5bڷr+{~y/6(z%"L7`W)&cH$ꁲglW9߄fѥq.\$d00+0UwNO3Ov,xWEc$hYgAny/퀱u*ˆ#\/a`_mV>{&H''ɏٺGv#E{ݦmM_(P*sBVa5QvCD `ot~Ʉ `L5 ;>vd%<{圹^p~'W G@]uսJ2 %)0hjobZr}98WGvм%oRϱ[NkW~ 9KqPNE $fJgqYC-I:y:kf}&i~vzף6IZXC;Bŋ}/DZ9#5`D[/\`Hu,{ @r2;T`Jy('{%XSi&}Xo0o$VY8v/%jsFi.<t $p6Xi˲|ӵ o BAANJaרF<:߫: ^]/x$-Y,&pANC}~ ,╈KRLf*3ܠNyd|D8\Zi[}'ɍ '5MLg,Yi_cwa[R{RS+nlcVmaHuHH01v3f*/GNGo&ִ- :VVCOS|ND0pN҆Ly%; njGoDOq<&e)]{6:y\NBnYtT08@#~0^ObGU[1:A!?2PFc*T / ]}֞NAB+ Q5 "~",؎dn`:"1Ū?ӐSHr- Վ`㊕4s ՙS1r2Yϡp0ӔaUHz K2M~AV5q,*~ZrojZXOPkʤ|_'־iMPT](="h.b2/BD~q;rO ܋7bx3ݶ+:7Ŧ -YԡԗmE!&ɧhNPo:4 O\~\Bl'e7 ƓRxȓR  Hܣ8u(PI]bT<S:R&}Jo$t^vxSZmB9vN+!}%B`lEH2x0^@5B]7},HhFpLG$!c2%,bZÞG;&X~'JK?!_o5Ln7CXѻDVD}mƏ]"t lF,C#`| o!-_n$~AÌ7!YH/tRApCp_]6О:nѐ1`y#}i)Wn:|w.gD#.\I mGgWj4{7=-;]L3#542;Z3QeQC'W(j3eO|e4IY<C^=BlXl=}b*[FSnAWO )^VkT+B*WB/4,E =„Wzc:DڥF&ּWn\#?6%A#ŽHw-,ARDVF.0Y')*PE6rWq5Kf﩮>#ƈ{̦>!J ]_i},DMSʖ^r ҧ~|:~a7Ba-ɗfjbAHn~R;;5^&qFx1aȫŏZqYrSp=0ʌdB?6~=H 8d|B7$~WXF"ne%c0~:2S<^|֭-,ۖ<GH4ޱsӜ+菳>$E%:]/yM JEw'*_:/?'ze/.7uVX/Ozh) +cw4QH*Y 7}B0ڮhw[RЭP"l3QLTܺ\mUhl9˘csoTeֶmX" 7h/4,ŕɅl"#}[[zwןV9lmB@0Q]H(&Qi2qtCF!S_ZNw{G."5x~vIƑG._28n{PnAGr/x s۴&Չ]xr2y<Į/Ud9h(Lc\W6ϖW{f*r C"9a:>DPOT3)" (1 We!˲_t墙ZspZoFVK!jN+8LJ*M1e+Y 7΅&xvxMMދjadUpg[f|K{ ,?lo -0 d벊$/d2n3uVYܶ_)D|r-ƒh'r]nt4ν1ů_v:bnc[;_J#ڶ&ZsbU5%  l&%St={f'łl/mV 5ԋs ~( ͘ B)oH/#r˦<ӟB[IIϪ6+]4=󢡴d:XFI2"=O= è "_uz`)n`bp)lra4weV)"bm-\}xO=(N sj7Kqjt[N}EҾ U j{‡ b-ùHE%.Ltm1# v;3<7dR揆v\eSHbtC&Žߚ(2^ 8%}pW/EE{†WS T[l\OϹgHASυb$3RD_Wt7&eaEGUiH=Л%uKjmm3 Ɗex޽WTvToQm䦡KDQο_2'\8v +l;H וL6ȹxdkQ Nf+۴Fl%,0УRJ7;_ c-o [~mmlLWEXm MmKHdJ9SᎥ[}!V# c(h2z-F9Uפ.E'W*F=G=_"ǵw|⁉Ӎ&9H]݁~oGZ! |ܗ1/|Qzp=c 噊(j2Yc}~1ijo=5YU%Yv:؞ccy B*18p .X4~‘[xP4=փCDck;Izfbo[2R.LY#Imsm (5oU黋;NeP#w7YAqCg3f&t;* 1W;()Uj1ƠjR3A7#%)7BKb.@\ ;Uԝ*KxF!lb~ C0.Xƛ/2ȿ{[Mà2 ~x:4>">:^G5eC8s#RQXYΑGMY@n ~w! O,Q b<^.m_%p:%LL^Y1ZA(UqcK aG^9\dU܎ =bǵymfQ[)[En2* ߜ`ؔj]lrZÇBpU!(%WBOy 1OwJJċFzoiq3f9##hdvzX:01/"4 NgR}AbwqKϼ،=̿ ( pu^upW6J|K-PE_U%m2(\tٰR@ ƴ6< OnrV%("o].LDm::%PVԮ0Z~^4s|wC>62Ӣbl ֑+d$] dn7 6z\b4a;A]@گ ~0b=;`\3ܨUH 6fI!Ƕ@N79^?c{cP)j3F/'ޖ=DEsA6 DBzT͵2@UGGW(,Hű283sRqAj. R; zEck+Qa|jcQ]ȒJX&ɜK vm+Y!3o¿dlf Mo8Wঽeף~-]z)N9!ylgVIzLLq2}\nZ`]6TT$h5gB!v'QwM$ Crt2Lnq1!a@{ü۷Y :4^4RU ,z G/Tbۉ}:OAᕌ0]'o'@晳гz=N0މ&5FO1wbΞDԨ2FSw>Z?z/;3W+l}h%mQ65XB7"P81I`VX;X6,n]>hTKb.B閌àc)/#GM9I}I یTGsdq}'E&ܹ],N"Y[D0ĀFCMߒ.J<1^%epAstn+)ޖ $շG@d!t,4x|s }<#?K{@]P PK?aF59 5jOO3Ryo☐\$.AvNHFqDyوLijmt=/4P/~EsãxX,x3˵] 3}%=_p>nP?tȄd}Η}hoHsTp8o߸m$=(Xfa*$Wn{Jl;Qr[Ɉn vQS!b)E}.l7fjpIIbg/BM1F+akzHU8[t7Z<):A<〉O} c;{:f '˻ի/S(.ݧxvd"A܆@nVa_=Ip4 IFZJqnrnzoڡ2q* & v5 Hb?gA@ǑrgZhj'뙠7bB E}@7EGpg?$A8x\-  dLHlPd'd!%5YCN~H?&̫HEhu(BJ?Eux jkV^kJasPQ0NKweJV򡞖xk7PGV:#Oi"`PD;fnu d0Jr-k(9}uNqr .uySTٮS.XSk+[և$ ^ +Bi\oxh4SP8jl[& Gљb`W˔?qpP`j(-?X ߴ#g^ͻԺȐ4HQwK3CF Dnhڄ!WâU O_ ^' KxR~z&_֙H0 \mSn3q]?k+GKPs#xq4d(O3{r\GnNn4<{XU&-CPE{˙ʂI%k2Tgr/ tGb/g+zYqwӠ;q'l Bz ڟ,x:d muCl+@$V "*yN+O9>Eoq/k#N%/F.cԐg"xv4+lnUUL:/ |?~K/ ql\ 🙂nQg+եOb TNP5 %?HûPA:}G53ha:b`.̼ͳ>E[JOHAH}T-9؄ {mȗG0_.> Lsɿ $V.[qeߠ3 Eͪ}n9~PW͘uO_Cky_K/h+SRm14g`K'lUf,p 7ê;`D&שS-uE"_ۃyHXĖ?Z;e,!q$8g)*8h}5 &VSf?]w̬i~XLrV3^kxjDC̘~94"䎂]_^d C]S[{ߙ:p5B. x^cUMJ* 7fh-߹TfA`UuϬ#rmWf"OMlD#huu+"c;q_yI< F6BHȔtr͝EƑo74A IUv] W-,i7L^&Sbj@(:= ] {s\n+*TzwWaܵy0bzIv~쬊(AD n搮 Zz-S!jըlJ$8"Qw*di]N :~PBh%؁l \%ag}m]@ h#ַByW b@$`~͏r4@J1vj׽]ou0:/R"P3S цJ4[C8CR YIƇ8"ʒFns YMH.PGeyX@"q%,JϾph\hZ tU._p*pXzۑ򘚌s0rZΫ{y7FY t{#00ٷS="g :"prYfI"R eWrI &B*8w(F/ U(ku1ʯ@SvG.SuyP 2qB(nd 8˲j̽ nAr?'y>/CH/h:Oؒ*5I1+!򃛡5#"s୧ǜMt\6-u.RtorR󭆰s)$8!>2^WBza%ܴzOAt/^ ][#uခ0"~ zU~C3<&Eb ] LJ&@NWz@aE)lA\  M7&aۥ!^fpMz*6j4WF+.a4~Z)\K7[ :LpMQ@"iMoJ[6F !ٵ3S[ڿOѣjd.'_zoa'Xxw [֮Te ;QdQQp.hvmiy`tÒod@.Y/Gijs %h$~H`yZRI(H=Oi";{ֿPTlv"" ?J:1^t~T6e+W阚 f1eI<7_hj)'!WYҁhS ɯD?s<~EIwo 3>U.4gz~򨣧 _Ul;`#=cޘ21BmVPJ]dMVd* ^3梥1tB кWK YZ