firewall-config-0.9.3-13.el8 >  A bU]4YagԎupax꫞:"dcj1AFejuigS5Zjukzofݑ8 '~8 F6IB8p+oVAb*8p|1Zaz/穇{F1BS}1d940d9f4ac4abbd91c60dcbbc0b86a1b779e335e10f601f513e69906efb6b1d48f862d1faf63d78f45f5169077fdbcd9b201991lPbU]l^v!cq DU2VG4Dnv=U-*s>Hie~CG凮7f'߂UC#g+iZbzJꉒBW!w? ' "9@Pac.a` *v "eSVvu'if1ßp<&x?&hd  B (` |   ^ l0P (  ('809 t:%8GH IXXhY|\]^  b!hd"e"f"l"t"u#v#L w%x%y&&&&"&dCfirewall-config0.9.313.el8Firewall configuration applicationThe firewall configuration application provides an configuration interface for firewalld.b#ax86-01.mbox.centos.orgCentOSCentOSGPLv2+CentOS Buildsys Unspecifiedhttp://www.firewalld.orglinuxnoarch  m ́큤b#Vb#Vb#Vb#Vb#Vb#Ub#Vb#Vb#Vb#Vb#Vb#Vb#Ub#U542b86e7b2f4f5f32ff4fd2f1b4e0d8e93f5144a9ace4e5219b21a5f8483f3cf2b7c20a701682478e08c91d84f767c054f40368262a9f8bc7fdab92cd6fdeb1d92654f2a9bbb1f82ae2dacae50dd540ef05c6be4894bab0e7e1588ac1bb42f236d5b33efad002f15b318e63482706e01a2b1df6ed9b902970374b51a7234dfe7f06bca8b424798b7eab76800bbd9c9b6d8e31cc2615c0055f2e49d221c470eeb7f76ffea9100006823452188c954696a7c9dd92d6801937a23ecbcea2ca0323318536ed118fe42b6a27c94891454fdc709a79d4e34171048154b26c3fb2c9fe44ecf3ba61c8daac7e13a258c9bc490dd6692b0494a7f83b9ef655084146dec152732f3501a2b9262bb1458713f5f5a980655f7ef5d48cde66902643f6134bb4742de1cff244f46065694258388751f164866b9a8faaa6ae2494f2cbc5aceef511af9a194fca0292ebb1458274d5d874e4ca86aaf437a1a051ef6cf721ea70e546b9c7b22d21db4f44072f92bf8b71ed68df0dc8ea48a071e15d6d9298c0cc8edbfd0a863f55c88e29b59fa5c750832c235c1bc2d1f18ffc6804bd9aed783b681da605e96218fccdb19a26bc8d1e4cd09f6c8e5b53c4759377dd149538f01753brootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootfirewalld-0.9.3-13.el8.src.rpmapplication()application(firewall-config.desktop)firewall-configmetainfo()metainfo(firewall-config.appdata.xml)@    /usr/libexec/platform-pythonNetworkManager-libnmdbus-x11firewalldgtk3hicolor-icon-themepython3-gobjectrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)0.9.3-13.el83.0.4-14.6.0-14.0-15.2-14.14.3aap@a@a@a@a@`@`@`````7@```_@_)M^^W@^8 @]ʞ]d@]R@]Ik]6]:]@\;(@\4\@\I[[[;@[\[ug@[r@[m~@[l,[CN@[?YZVZI@ZI@Z@Z}@Zz@Zz@ZOhZ6\@YYx@Y:XX+X@X@XOXEVX@X#X=W@W@WzOWs@WrfWL+@W0{Wo@WV@V@VVHVA@UU@UUa@Ua@UUzUzUKSU/@U@U@T@T@TLT=@S@S%@SSR@S@SSSR'R@RR@RxR_@RNRM\@RL RIgQQQ@QyQ@Q@QnQT0QIQ8@Q$Q@P@P@P@P @PpP~PIP3x@P(@P!@OOOc+@OaOU@OTOC@O1@O/MY@M!@M!@ME@Eric Garver - 0.9.3-13Eric Garver - 0.9.3-12Eric Garver - 0.9.3-11Eric Garver - 0.9.3-10Eric Garver - 0.9.3-9Eric Garver - 0.9.3-8Eric Garver - 0.9.3-7Eric Garver - 0.9.3-6Eric Garver - 0.9.3-5Eric Garver - 0.9.3-4Eric Garver - 0.9.3-3Eric Garver - 0.9.3-2Eric Garver - 0.9.3-1Eric Garver - 0.8.2-6Eric Garver - 0.8.2-5Eric Garver - 0.8.2-4Eric Garver - 0.8.2-3Eric Garver - 0.8.2-2Eric Garver - 0.8.2-1Eric Garver - 0.8.0-4Eric Garver - 0.8.0-3Eric Garver - 0.8.0-2Eric Garver - 0.8.0-1Eric Garver - 0.7.0-5Eric Garver - 0.7.0-4Eric Garver - 0.7.0-3Eric Garver - 0.7.0-2Eric Garver - 0.7.0-1Eric Garver - 0.6.3-7Eric Garver - 0.6.3-6Eric Garver - 0.6.3-5Eric Garver - 0.6.3-4Eric Garver - 0.6.3-3Eric Garver - 0.6.3-2Eric Garver - 0.6.3-1Eric Garver - 0.6.1-5Eric Garver - 0.6.1-4Eric Garver - 0.6.1-3Eric Garver - 0.6.1-2Eric Garver - 0.6.1-1Eric Garver - 0.6.0-2Eric Garver - 0.6.0-1Eric Garver - 0.6.0-0.1.alpha1Eric Garver - 0.5.2-3Eric Garver - 0.5.2-2Eric Garver - 0.5.2-1Igor Gnatenko - 0.5.1-2Eric Garver - 0.5.1-1Fedora Release Engineering - 0.4.4.5-6Igor Gnatenko - 0.4.4.5-5Zbigniew Jędrzejewski-Szmek - 0.4.4.5-4Thomas Woerner - 0.4.4.5-3Fedora Release Engineering - 0.4.4.5-2Thomas Woerner - 0.4.4.5-1Thomas Woerner - 0.4.4.4-1Thomas Woerner - 0.4.4.3-2Thomas Woerner - 0.4.4.3-1Fedora Release Engineering - 0.4.4.2-4Stratakis Charalampos - 0.4.4.2-3Thomas Woerner - 0.4.4.2-2Thomas Woerner - 0.4.4.2-1Thomas Woerner - 0.4.4.1-1Thomas Woerner - 0.4.4-1Thomas Woerner - 0.4.3.3-1Fedora Release Engineering - 0.4.3.2-2Thomas Woerner - 0.4.3.2-1Thomas Woerner - 0.4.3.1-2Thomas Woerner - 0.4.3.1-1Thomas Woerner - 0.4.2-1Thomas Woerner - 0.4.1.2-2Thomas Woerner - 0.4.1.2-1Thomas Woerner - 0.4.1-1Jiri Popelka - 0.4.0-4Jiri Popelka - 0.4.0-3Fedora Release Engineering - 0.4.0-2Thomas Woerner - 0.4.0-1Fedora Release Engineering - 0.3.14.2-5Adam Williamson - 0.3.14.2-4Thomas Woerner - 0.3.14.2-3Thomas Woerner - 0.3.14.2-2Thomas Woerner - 0.3.14.2-1Fedora Release Engineering - 0.3.14.1-3Stephen Gallagher 0.3.14.1-2Thomas Woerner - 0.3.14.1-1Thomas Woerner - 0.3.14-1Stephen Gallagher 0.3.13-7Stephen Gallagher 0.3.13-6Stephen Gallagher 0.3.13-5Stephen Gallagher 0.3.13-4Jiri Popelka - 0.3.13-3Thomas Woerner - 0.3.13-2Jiri Popelka - 0.3.13-1Jiri Popelka - 0.3.12-1Jiri Popelka - 0.3.11-3Jiri Popelka - 0.3.11-2Jiri Popelka - 0.3.11-1Thomas Woerner - 0.3.10-5Thomas Woerner - 0.3.10-4Thomas Woerner - 0.3.10-3Fedora Release Engineering - 0.3.10-2Jiri Popelka - 0.3.10-1Jiri Popelka - 0.3.9.3-1Jiri Popelka - 0.3.9.2-1Jiri Popelka - 0.3.9.1-1Jiri Popelka - 0.3.9-1Jiri Popelka - 0.3.8-1Jiri Popelka - 0.3.7-1Jiri Popelka - 0.3.6.2-1Jiri Popelka - 0.3.6.1-1Jiri Popelka - 0.3.6-1Jiri Popelka - 0.3.5-1Thomas Woerner 0.3.4-1Jiri Popelka Thomas Woerner 0.3.3-2Thomas Woerner 0.3.3-1Jiri Popelka - 0.3.2-2Jiri Popelka - 0.3.2-1Jiri Popelka - 0.3.1-2Thomas Woerner 0.3.1-1Thomas Woerner 0.3.0-1Jiri Popelka - 0.2.12-5Jiri Popelka - 0.2.12-4Fedora Release Engineering - 0.2.12-3Jiri Popelka - 0.2.12-2Thomas Woerner 0.2.12-1Thomas Woerner 0.2.11-2Thomas Woerner 0.2.11-1Thomas Woerner 0.2.10-1Thomas Woerner 0.2.9-1Thomas Woerner 0.2.8-1Jiri Popelka 0.2.7-2Thomas Woerner 0.2.7-1Thomas Woerner 0.2.6-1Thomas Woerner 0.2.5-1Thomas Woerner 0.2.4-1Thomas Woerner 0.2.3-1Thomas Woerner 0.2.2-1Thomas Woerner Thomas Woerner 0.2.1-1Thomas Woerner 0.2.0-2Thomas Woerner 0.2.0-1Thomas Woerner 0.1.3-1Thomas Woerner 0.1.2-1Thomas Woerner 0.1.1-1Thomas Woerner 0.1-1- change default CleanupModulesOnExit=yes- feat(config): add CleanupModulesOnExit configuration option - change default CleanupModulesOnExit=yes- fix(zone): detect same source/interface in zones- fix(nftables): rich: source address with netmask- fix(nftables): do not log icmp block if inversion- docs(firewall-*cmd): client conntrack helpers must use a policy- fix(ipset): disallow overlapping entries- fix(policy): warn instead of error for overlapping ports- docs(conf): note that IPv6_rpfilter has a performance penalty- fix(nm): reload: only consider NM connections with a real interface- fix(ipset): fix hash:net,net functionality- fix(direct): rule order with multiple address with -s/-d- rebase to v0.9.3 - fixes from upstream branch stable-0.9- feat(service): add galera service- fix(zone): add source with mac address- fix(rich): non-printable characters removed from rich- fix(nftables): packet marks with masks - fix(nftables): icmp types with code == 0 - fix(rich icmptype): verify rule and icmptype families - fix(zone): cache rule_str for rich rules - improvement(service): IPsec: Update description and add TCP port 4500 - feat(service): add collectd service - feat(service): Add rpc-rquotad.service- fix(cli): add ipset type hash:mac is incompatible with the family parameter - fix(cli): add --zone is an invalid option with --direct - fix: update dynamic DCE RPC ports in freeipa-trust service - fix: core: rich: Catch ValueError on non-numeric priority values - fix(rich): icmptypes with one family - fix(direct): rule in a zone chain - plus additional upstream stable fixes- rebase to v0.8.2- doc: direct: add CAVEATS section- restore zone drifting as a feature- fix: CLI: service: also output helpers for service info- rebase to v0.8.0- bump nftables version requirements- backport patches to sort source-based zone dispatch by zone name- backport patch to show service includes in service output - backport patches to fix dbus API break- package rebuild- rebase to v0.7.0- backport additional patches for RFC3964_IPv4 filter feature- backport nftables support for wildcard interfaces - backport RFC3964_IPv4 filter feature- backport fix for lost NM interfaces in default zone during reload- backport recent stable fixes - backport fix for lost NM interfaces during reload - backport rich rule priorities - backport fix for set entries not applied - update translations- backport FlushAllOnReload feature- use py3_shbang_opts for lockdown-whitelist - fix cockpit patch causing test failure- rebase package to v0.6.3 - use py3_shbang_opts for interpreter invocations- python3-firewalld can get by with python3-gobject-base - firewall-config can get by with python3-qt5-base- backports for new failed state if startup fails - backports to use explicit RETURN on user defined ebtables chains - backports to fix nftables AUDIT log support- drop support for ebtables broute table- add more ports to high-availability service- rebase to v0.6.1 - fix patch adding cockpit by default, fixes testsuite- Use correct conflicts version for cockpit-ws - Enable cockpit by default in some zones- rebase to v0.6.0- rebase to v0.6.0-alpha- remove fedora-isms and clean up spec file- remove python2-firewall subpackage- rebase package to v0.5.2- Escape macros in %changelog- rebase package to v0.5.1- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild- Remove obsolete scriptlets- Python 2 binary package renamed to python2-firewall See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3- Fix spec file for next RHEL versions- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild- Rebase to firewalld-0.4.4.5 http://www.firewalld.org/2017/06/firewalld-0-4-4-5-release - Fix build from spec - Fix –remove-service-from-zone option (RHBZ#1438127) - Support sctp and dccp in ports, source-ports, forward-ports, helpers and rich rules (RHBZ#1429808) - firewall-cmd: Fix –{set,get}-{short,description} for zone (RHBZ#1445238) - firewall.core.ipXtables: Use new wait option for restore commands if available - New services for oVirt: ctdb, ovirt-imageio, ovirt-storageconsole, ovirt-vmconsole and nrpe - Rename extension for policy choices (server and desktop) to .policy.choice (RHBZ#1449754) - D-Bus interfaces: Fix GetAll for interfaces without properties (RHBZ#1452017) - Load NAT helpers with conntrack helpers (RHBZ#1452681) - Translation updates - Additional upstream patches: - Rich-rule source validation (d69b7cb) - IPv6 ICMP type only rich-rule fix (cf50bd0)- Rebase to firewalld-0.4.4.4 http://www.firewalld.org/2017/03/firewalld-0-4-4-4-release - Drop references to fedorahosted.org from spec file and Makefile.am, use archive from github - Fix inconsistent ordering of rules in INPUT_ZONE_SOURCE (issue#166) - Fix ipset overloading from /etc/firewalld/ipsets - Fix permanent rich rules using icmp-type elements (RHBZ#1434594) - firewall-config: Deactivate edit, remove, .. buttons if there are no items - Check if ICMP types are supported by kernel before trying to use them - firewall-config: Show invalid ipset type in the ipset configuration dialog in a special label- Fixed ipset overloading, dropped applied check in get_ipset (issue#206)- Rebase to firewalld-0.4.4.3 http://www.firewalld.org/2017/02/firewalld-0-4-4-3-release - Speed up of large file loading - Support for more ipset types - Speed up of adding or removing entries for ipsets from files - Support icmp-type usage in rich rules - Support for more icmp types - Support for h323 conntrack helper - New services - Code cleanup and several other bug fixes - Translation updates- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild- Rebuild for Python 3.6- Dropping firewalld-selinux package again as the required fix made it into selinux-policy packages for F-23+, updated selinux-policy version conflicts- New firewalld-selinux sub package delivering the SELinux policy module for firewalld (RHBZ#1396765) (RHBZ#1394625) (RHBZ#1394578) (RHBZ#1394573) (RHBZ#1394569) - New firewalld release 0.4.4.2: - firewalld.spec: Added helpers and ipsets paths to firewalld-filesystem - firewall.core.fw_nm: create NMClient lazily - Do not use hard-coded path for modinfo, use autofoo to detect it - firewall.core.io.ifcfg: Dropped invalid option warning with bad format string - firewall.core.io.ifcfg: Properly handle quoted ifcfg values - firewall.core.fw_zone: Do not reset ZONE with ifdown - Updated translations from zanata - firewall-config: Extra grid at bottom to visualize firewalld settings- firewall-config: Use proper source check in sourceDialog (fixes issue#162) - firewallctl: New support for helpers - Translation updates- Fix dist-check - src/Makefile.am: Install new helper files - config/Makefile.am: Install helpers - Merged translations - Updated translations from zanata - firewalld.spec: Adapt requires for PyQt5 - firewall-applet: Fix fromUTF8 for python2 PyQt5 usage - firewall-applet: Use PyQt5 - firewall-config: New nf_conntrack_select dialog, use nf_conntrack_helpers D-Bus property - shell-completion/bash/firewall-cmd: Updates for helpers and also some fixes - src/tests/firewall-[offline-]cmd_test.sh: New helper tests, adapted module tests for services - doc/xml/seealso.xml: Add firewalld.helper(5) man page - doc/xml/seealso.xml: Add firewalld.ipset(5) man page - Fixed typo in firewalld.ipset(5) man page - Updated firewalld.dbus(5) man page - New firewalld.helper(5) man page - doc/xml/firewall-offline-cmd.xml: Updated firewall-offline-cmd man page - doc/xml/firewall-cmd.xml: Updated firewall-cmd man page - firewall-offline-cmd: New support for helpers - firewall-cmd: New support for helpers - firewall.command: New check_helper_family, check_module and print_helper_info methods - firewall.core.fw_test: Add helpers also to offline backend - firewall.server.config: New AutomaticHelpers property (rw) - firewall.server.config: Fix an dict size changed error for firewall.conf file changes - firewall.server.config: Make LogDenied property readwrite to be consistent - Some renames of nf_conntrack_helper* functions and structures, helpers is a dict - firewall.core.fw: Properly check helper setting in set_automatic_helpers - firewall.errors: Add missing BUILTIN_HELPER error code - No extra interface for helpers needed in runtime, dropped DBUS_INTERFACE_HELPER - firewall.server.firewalld: Drop unused queryHelper D-Bus method - New helpers Q.931 and RAS from nf_conntrack_h323 - firewall.core.io.helper: Allow dots in helper names, remove underscore - firewall.core.io.firewalld_conf: Fixed typo in FALLBACK_AUTOMATIC_HELPERS - firewall-[offline-]cmd: Use sys.excepthook to force exception_handler usage always - firewall.core.fw_config: new_X methods should also check builtins - firewall.client: Set helper family to "" if None - firewall.client: Add missing module string to FirewallClientHelperSettings.settings - config/firewalld.conf: Add possible values description for AutomaticHelpers - helpers/amanda.xml: Fix typo in helper module - firewall-config: Added support for helper module setting - firewall.client: Added support for helper module setting - firewall.server.config_helper: Added support for helper module setting - firewall.core.io.service, firewall.server.config_service: Only replace underscore by dash if module start with nf_conntrack_ - firewall.core.fw_zone: Use helper module instead of a generated name from helper name - helpers: Added kernel module - firewall.core.io.helper: Add module to helper - firewall-cmd: Removed duplicate --get-ipset-types from help output - firewall.core.fw_zone: Add zone bingings for PREROUTING in the raw table - firewall.core.ipXtables: Add PREROUTING default rules for zones in raw table - firewall-config: New support to handle helpers, new dialogs, new helper tab, .. - config/org.fedoraproject.FirewallConfig.gschema.xml.in: New show-helpers setting - firewall.client: New helper management for runtime and permanent configuration - firewall.server.firewalld: New runtime helper management, new nf_conntrack_helper property - firewall.server.config_service: Fix module name handling (no nf_conntrack_ prefix needed) - firewall.server.config: New permanent D-Bus helper management - New firewall.server.config_helper to provide the permanent D-Bus interface for helpers - firewall.core.fw_zone: Use helpers fw.nf_conntrack_helper for services using helpers - firewall.core.fw: New helper management, new _automatic_helpers and nf_conntrack_helper settings - firewall.core.fw_config: Add support for permanent helper handling - firewall.core.io.service: The module does not need to start with nf_conntrack_ anymore - firewall.functions: New functions to get and set nf_conntrack_helper kernel setting - firewall.core.io.firewalld_conf: New support for AutomaticHelpers setting - firewall.config.dbus: New D-Bus definitions for helpers, new DBUS_INTERFACE_REVISION 12 - New firewall.core.fw_helper providing FirewallHelper backend - New firewall.core.helper with HELPER_MAXNAMELEN definition - config/firewalld.conf: New AutomaticHelpers setting with description - firewall.config.__init__.py.in: New helpers variables - firewalld.spec: Add new helpers directory - config/Makefile.am: Install new helpers - New helper configuration files for amanda, ftp, irc, netbios-ns, pptp, sane, sip, snmp and tftp - firewall.core.io.helper: New IO handler for netfilter helpers - firewall.errors: New INVALID_HELPER error code - firewall.core.io.ifcfg: Use .bak for save files - firewall-config: Set internal log_denied setting after changing - firewall.server.config: Copy props before removing items - doc/xml/firewalld.ipset: Replaced icmptype name remains with ipset - firewall.core.fw_zone: Fix LOG rule placement for LogDenied - firewall.command: Use "source-ports" in print_zone_info - firewall.core.logger: Use syslog.openlog() and syslog.closelog() - firewall-[offline-]cmd man pages: Document --path-{zone,icmptype,ipset,service} - firewall-cmd: Enable --path-{zone,icmptype,service} options again - firewall.core.{ipXtables,ebtables}: Copy rule before extracting items in set_rules - firewall.core.fw: Do not abort transaction on failed ipv6_rpfilter rules - config/Makefile.am: Added cfengine, condor-collector and smtp-submission services - Makefile.am: New dist-check used in the archive target - src/Makefile.am: Reordered nobase_dist_python_DATA to be sorted - config/Makefile.am: New CONFIG_FILES variable to contain the config files - Merge pull request #150 from hspaans/master - Merge pull request #146 from canvon/bugfix/spelling - Merge pull request #145 from jcpunk/condor - Command line tools man pages: New section about sequence options and exit codes - Creating service file for SMTP-Submission. - Creating service file for CFEngine. - Fix typo in documentation: iptables mangle table - Only use sort on lists of main items, but not for item properties - firewall.core.io.io_object: import_config should not change ordering of lists - firewall.core.fw_transaction: Load helper modules in FirewallZoneTransaction - firewall.command: Fail with NOT_AUTHORIZED if authorization fails (RHBZ#1368549) - firewall.command: Fix sequence exit code with at least one succeeded item - Add condor collector service - firewall-cmd: Fixed --{get,set}-{description,short} for permanent zones - firewall.command: Do not use error code 254 for {ALREADY,NOT}_ENABLED sequences- Fix CVE-2016-5410: Firewall configuration can be modified by any logged in user - firewall/server/firewalld: Make getXSettings and getLogDenied CONFIG_INFO - Update AppData configuration file. - tests/firewalld_rich.py: Use new import structure and FirewallClient classes - tests/firewalld_direct.py: Use new import structure - tests: firewalld_direct: Fix assert to check for True instead of False - tests: firewalld_config: Fix expected value when querying the zone target - tests: firewalld_config: Use real nf_conntrack modules - firewalld.spec: Added comment about make call for %build - firewall-config: Use also width_request and height_request with default size - Updated firewall-config screenshot - firewall-cmd: Fixed typo in help output (RHBZ#1367171) - test-suite: Ignore stderr to get default zone also for missing firewalld.conf - firewall.core.logger: Warnings should be printed to stderr per default - firewall.core.fw_nm: Ignore NetworkManager if NM.Client connect fails - firewall-cmd, firewallctl: Gracefully fail if SystemBus can not be aquired - firewall.client: Generate new DBUS_ERROR if SystemBus can not be aquired - test-suite: Do not fail on ALREADY_ENABLED --add-destination tests - firewall.command: ALREADY_ENABLED, NOT_ENABLED, ZONE_ALREADY_SET are warnings - doc/xml/firewalld.dbus.xml: Removed undefined reference - doc/xml/transform-html.xsl.in: Fixed references in the document - doc/xml/firewalld.{dbus,zone}.xml: Embed programlisting in para - doc/xml/transform-html.xsl.in: Enhanced html formatting closer to the man page - firewall: core: fw_nm: Instantiate the NM client only once - firewall/core/io/*.py: Do not traceback on a general sax parsing issue - firewall-offline-cmd: Fix --{add,remove}-entries-from-file - firewall-cmd: Add missing action to fix --{add,remove}-entries-from-file - firewall.core.prog: Do not output stderr, but return it in the error case - firewall.core.io.ifcfg.py: Fix ifcfg file reader and writer (RHBZ#1362171) - config/firewall.service.in: use KillMode=mixed - config/firewalld.service.in: use network-pre.target - firewall-config: Add missing gettext.textdomain call to fix translations - Add UDP to transmission-client.xml service - tests/firewall-[offline-]cmd_test.sh: Hide errors and warnings - firewall.client: Fix ALREADY_ENABLED errors in icmptype destination calls - firewall.client: Fix NOT_ENABLED errors in icmptype destination calls - firewall.client: Use {ALREADY,NOT}_ENABLED errors in icmptype destination calls - firewall.command: Add the removed FirewallError handling to the action (a17ce50) - firewall.command: Do not use query methods for sequences and also single options - Add missing information about MAC and ipset sources to man pages and help output - firewalld.spec: Add BuildRequires for libxslt to enable rebuild of man pages - firewall[-offline]-cmd, firewallctl, firewall.command: Use sys.{stdout,stderr} - firewallctl: Fix traceback if not connected to firewalld - firewall-config: Initialize value in on_richRuleDialogElementChooser_clicked - firewall.command: Convert errors to string for Python3 - firewall.command: Get proper firewall error code from D-BusExceptions - firewall-cmd: Fixed traceback without args - Add missing service files to Makefile.am - shell-completion: Add shell completion support for --{get,set}--{description,short} - Updated RHEL-7 selinux-policy and squid conflict- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages- Fix regression with unavailable optional commands - All missing backend messages should be warnings - Individual calls for missing restore commands - Only one authenticate call for add and remove options and also sequences - New service RH-Satellite-6 - Fixed selinux-policy conflict version for RHEL-7- Fixed selinux-policy conflict version for Fedora 24- New firewalld release 0.4.3.1 - firewall.command: Fix python3 DBusException message not interable error - src/Makefile.am: Fix path in firewall-[offline-]cmd_test.sh while installing - firewallctl: Do not trace back on list command without further arguments - firewallctl (man1): Added remaining sections zone, service, .. - firewallctl: Added runtime-to-permanent, interface and source parser, IndividualCalls setting - firewall.server.config: Allow to set IndividualCalls property in config interface - Fix missing icmp rules for some zones - runProg: Fix issue with running programs - firewall-offline-cmd: Fix issues with missing system-config-firewall - firewall.core.ipXtables: Split up source and dest addresses for transaction - firewall.server.config: Log error in case of loading malformed files in watcher - Install and package the firewallctl man page - New firewallctl utility (RHBZ#1147959) - doc.xml.seealso: Show firewalld.dbus in See Also sections - firewall.core.fw_config: Create backup on zone, service, ipset and icmptype removal (RHBZ#1339251) - {zone,service,ipset,icmptype}_writer: Do not fail on failed backup - firewall-[offline-]cmd: Fix --new-X-from-file options for files in cwd - firewall-cmd: Dropped duplicate setType call in --new-ipset - radius service: Support also tcp ports (RBZ#1219717) - xmlschemas: Support source-port, protocol, icmp-block-inversion and ipset sources - config.xmlschema.service.xsd: Fix service destination conflicts (RHBZ#1296573) - firewall-cmd, firewalld man: Information about new NetworkManager and ifcfg - firewall.command: Only print summary and description in print_X_info with verbose - firewall.command: print_msg should be able to print empty lines - firewall-config: No processing of runtime passthroughs signals in permanent - Landspace.io fixes and pylint calm downs - firewall.core.io.zone: Add zone_reader and zone_writer to __all__, pylint fixes - firewall-config: Fixed titles of command and context dialogs, also entry lenths - firewall-config: pylint calm downs - firewall.core.fw_zone: Fix use of MAC source in rich rules without ipv limit - firewall-config: Use self.active_zoens in conf_zone_added_cb - firewall.command: New parse_port, extended parse methods with more checks - firewall.command: Fixed parse_port to use the separator in the split call - firewall.command: New [de]activate_exception_handler, raise error in parse_X - services ha: Allow corosync-qnetd port - firewall-applet: Support for kde5-nm-connection-editor - tests/firewall-offline-cmd_test.sh: New tests for service and icmptype modifications - firewall-offline-cmd: Use FirewallCommand for simplification and sequence options - tests/firewall-cmd_test.sh: New tests for service and icmptype modifications - firewall-cmd: Fixed set, remove and query destination options for services - firewall.core.io.service: Source ports have not been checked in _check_config - firewall.core.fw_zone: Method check_source_port is not used, removed - firewall.core.base: Added default to ZONE_TARGETS - firewall.client: Allow to remove ipv:address pair for service destinations - tests/firewall-offline-cmd_test.sh: There is no timeout option in permanent - firewall-cmd: Landscape.io fixes, pylint calm downs - firewall-cmd: Use FirewallCommand for simplification and sequence options - firewall.command: New FirewallCommand for command line client simplification - New services: kshell, rsh, ganglia-master, ganglia-client - firewalld: Cleanup of unused imports, do not translate some deamon messages - firewalld: With fd close interation in runProg, it is not needed here anymore - firewall.core.prog: Add fd close iteration to runProg - firewall.core.fw_nm: Hide NM typelib import, new nm_get_dbus_interface function - firewalld.spec: Require NetworkManager-libnm instead of NetworkManager-glib - firewall-config: New add/remove ipset entries from file, remove all entries - firewall-applet: Fix tooltip after applet start with connection to firewalld - firewall-config: Select new zone, service or icmptype if the view was empty - firewalld.spec: Added build requires for iptables, ebtables and ipset - Adding nf_conntrack_sip module to the service SIP - firewall: core: fw_ifcfg: Quickly return if ifcfg directory does not exist - Drop unneeded python shebangs - Translation updates- New module to search for and change ifcfg files for interfaces not under control of NM - firewall_config: Enhanced messages in status bar - firewall-config: New message window as overlay if not connected - firewall-config: Fix sentivity of option, view menus and main paned if not connected - firewall-applet: Quit on SIGINT (Ctrl-C), reduced D-Bus calls, some cleanup - firewall-[offline]cmd: Show target in zone information - D-Bus: Completed masquerade methods in FirewallClientZoneSettings - Fixed log-denied rules for icmp-blocks - Keep sorting of interfaces, services, icmp-blocks and other settings in zones - Fixed runtime-to-permanent not to save interfaces under control of NM - New icmp-block-inversion flag in the zones - ICMP type filtering in the zones - New services: sip, sips, managesieve - rich rules: Allow destination action (RHBZ#1163428) - firewall-offline-cmd: New option -q/--quiet - firewall-[offline-]cmd: New --add-[zone,service,ipset,icmptype]-from-file - firewall-[offline-]cmd: Fix option for setting the destination address - firewall-config: Fixed resizing behaviour - New transaction model for speed ups in start, restart, stop and other actions - firewall-cmd: New options --load{zone,service,ipset,icmptype}-defaults - Fixed memory leak in dbus_introspection_add_properties - Landscape.io fixes, pylint calm downs - New D-Bus getXnames methods to speed up firewall-config and firewall-cmd - ebtables-restore: No support for COMMIT command - Source port support in services, zones and rich rules - firewall-offline-cmd: Added --{add,remove}-entries-from-file for ipsets - firewall-config: New active bindings side bar for simple binding changes - Reworked NetworkManager module - Proper default zone handling for NM connections - Try to set zone binding with NM if interface is under control of NM - Code cleanup and bug fixes - Include test suite in the release and install in /usr/share/firewalld/tests - New Travis-CI configuration file - Fixed more broken frensh translations - Translation updates- Fixed ebtables-restore does not support the COMMIT command issue- Fixed translations with python3 - Fixed exception for failed NM import, new doc string - Make ipsets visible per default in firewall-config - Install new fw_nm module - Do not fail if log file could not be opened - Fixed broken fr translation- Enhancements of ipset handling - No cleanup of ipsets using timeouts while reloading - Only destroy conflicting ipsets - Only use ipset types supported by the system - Add and remove several ipset entries in one call using a file - Reduce time frame where builtin chains are on policy DROP while reloading - Include descriptions in --info-X calls - Command line interface support to get and alter descriptions of zones, services, ipsets and icmptypes with permanent option - Properly watch changes in combined zones - Fix logging in rich rule forward rules - Transformed direct.passthrough errors into warnings - Rework of import structures - Reduced calls to get ids for port and protocol names (RHBZ#1305434) - Build and installation fixes by Markos Chandras - Provide D-Bus properties in introspection data - Fix for flaws found by landscape.io - Fix for repeated SUGHUP - New NetworkManager module to get and set zones of connections, used in firewall-applet and firewall-config - configure: Autodetect backend tools ({ip,ip6,eb}tables{,-restore}, ipset) - Code cleanups - Bug fixes- Revert one commit to temporary work-around RHBZ#1309754- Make sure tempdir is created even in offline mode. (RHBZ#1305175)- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild- Version 0.4.0 - Speed ups - ipset support - MAC address support - Log of denied packets - Mark action in rich rules - Enhanced alteration of config files with command line tools - Use of zone chains in direct interface - firewall-applet enhancement - New services: ceph-mon, ceph, docker-registry, imap, pop3, pulseaudio, smtps, snmptrap, snmp, syslog-tls and syslog - Several bug fixes - Code optimizations- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5- bump versions on old config package obsoletes (f21 is on 0.3.14 now)- Require python3-gobject-base for fedora >= 23 and rhel >= 8 (RHBZ#1242076) - Fix rhel defines: No python3 for rhel-7- Fixed 'pid_file' referenced before assignment (RHBZ#1233232)- reunification of the firewalld spec files for all Fedora releases - fix dependencies for -applet and -config: use_python3 is the proper switch not with_python3 (RHBZ#1232493) - firewalld.spec: - fixed requirements for -applet and -config - man pages: - adapted firewall-applet man page to new version - firewall-applet: - Only honour active connections for zone changes - Change QSettings path and file names - firewall-config: - Only honour active connections for zone changes in the “Change Zones of Connections” menu - Translations: - updated translations - marked translations for “Connections” for review- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild- Fix issue with missing polkit policy when installing firewalld on Cloud Edition.- firewall-applet - do not use isSystemTrayAvailable check to fix KDE5 startup - dropped gtk applet remain: org.fedoraproject.FirewallApplet.gschema.xml- renamed python2-firewall to python-firewall - fixed requirements for GUI parts with Python3 - dropped upstream merged python3 patch - firewalld: - print real zone names in error messages - iptables 1.4.21 does not accept limits of 1/day, minimum is 2/day now - rate limit fix for rich rules - fix readdition of removed permanent direct settings - adaption of the polkit domains to use PK_ACTION_DIRECT_INFO - fixed two minor Python3 issues in firewall.core.io.direct - fixed use of fallback configuration values - fixed use without firewalld.conf - firewalld main restructureization - IPv6_rpfilter now also available as a property on D-Bus in the config interface - fixed wait option use for ipXtables - added --concurrent support for ebtables - richLanguage: allow masquerading with destination - richLanguage: limit masquerading forward rule to new connections - ipXtables: No dns lookups in available_tables and _detect_wait_option - full ebtables support: start, stop, reload, panic mode, direct chains and rules - fix for reload with direct rules - fix or flaws found by landscape.io - pid file handling fixes in case of pid file removal - fix for client issue in case of a dbus NoReply error - configuration - new services: dropbox-lansync, ptp - new icmptypes: timestamp-request, timestamp-reply - man pages: - firewalld.zones(5): fixed typos - firewalld.conf(5): Fixed wrong reference to firewalld.lockdown-whitelist page - firewall-applet: - new version using Qt4 fixing several issues with the Gtk version - spec file: - enabled Python3 support: new backends python-firewall and python3-firewall - some cleanup - git: - migrated to github - translations: - migrated to zanata - build environment: - no need for autoconf-2.69, 2.68 is sufficient- Use VARIANT_ID instead of VARIANT for making decisions- Switch to using $VARIANT directly from /etc/os-release- Fix bugs with posttrans - Remove nonexistent fedora-cloud.conf symlink- Remove per-edition config files - Decide on default configuration based on /etc/os-release- use python3 bindings on fedora >=23- enable python2 and python3 bindings for fedora >= 20 and rhel >= 7 - use python3 bindings on fedora >= 22 and rhel >= 8 for firewalld, firewall-config and firewall-applet- firewalld: - ipXtables: use -w or -w2 if supported (RHBZ#1161745, RHBZ#1151067) - DROP INVALID packets (RHBZ#1169837) - don't use ipv6header for protocol matching. (RHBZ#1065565) - removeAllPassthroughs(): remove passthroughs in reverse order (RHBZ#1167100) - fix config.service.removeDestination() (RHBZ#1164584) - firewall-config: - portProtoDialog: other protocol excludes port number/range - better fix for updating zoneStore also in update_active_zones() - fix typo in menu - configuration: - new services: tinc, vdsm, mosh, iscsi-target, rsyncd - ship and install XML Schema files. (#8) - man pages: - firewalld.dbus, firewalld.direct, firewalld, firewall-cmd - spec file: - filesystem subpackage - make dirs&files in /usr/lib/ world-readable (RHBZ#915988)- firewalld: - new runtimeToPermanent and tracked passsthrough support - make permanent D-Bus interfaces more fine grained like the runtime versions (RHBZ#1127706) - richLanguage: allow using destination with forward-port - Rich_Rule.check(): action can't be used with icmp-block/forward-port/masquerade - fixed Python specific D-Bus exception (RHBZ#1132441) - firewall-cmd: - new --runtime-to-permanent to create permanent from runtime configuration - use new D-Bus methods for permanent changes - show target REJECT instead of %REJECT% (RHBZ#1058794) - --direct: make fail messages consistent (RHBZ#1141835) - firewall-config: - richRuleDialog - OK button tooltip indicates problem - use new D-Bus methods for permanent changes - show target REJECT instead of %REJECT% (RHBZ#1058794) - update "Change Zones of Connections" menu on default zone change (RHBZ#11120212) - fixed rename of zones, services and icmptypes to not create new entry (RBHZ#1131064) - configuration: - new service for Squid HTTP proxy server - new service for Kerberos admin server - new services for syslog and syslog-tls - new services for SNMP and SNMP traps - add Keywords to .desktop to improve software searchability - docs: - updated translations - firewalld.richlanguage: improvements suggested by Rufe Glick - firewalld.dbus: various improvements - firewalld.zone: better description of Limit tag - mention new homepage everywhere- Quiet systemctl if cups-browsed.service is not installed- add few Requires to spec (RHBZ#1133167)- firewalld: - improve error messages - check built-in chains in direct chain handling functions (RHBZ#1120619) - dbus_to_python() check whether input is of expected type (RHBZ#1122018) - handle negative timeout values (RHBZ#1124476) - warn when Command/Uid/Use/Context already in lockdown whitelist (RHBZ#1126405) - make --lockdown-{on,off} work again (RHBZ#1111573) - firewall-cmd: - --timeout now accepts time units (RHBZ#994044) - firewall-config: - show active (not default) zones in bold (RHBZ#993655) - configuration: - remove ipp-client service from all zones (RHBZ#1105639). - fallbacks for missing values in firewalld.conf - create missing dirs under /etc if needed - add -Es to python command in lockdown-whitelist.xml (RHBZ#1099065) - docs: - 'direct' methods concern only chains/rules added via 'direct' (RHBZ#1120619) - --remove-[interface/source] don't need a zone to be specified (RHBZ#1125851) - various fixes in firewalld.zone(5), firewalld.dbus(5), firewalld.direct(5) - others: - rpm macros for easier packaging of e.g. services- Fixed wrong default zone names for server and workstation (RHBZ#1120296)- renamed fedora specific zones to FedoraServer and FedoraWorkstation for zone name limitations (length and allowed chars)- New support for Fedora per-product configuration settings for Fedora.next https://fedoraproject.org/wiki/Per-Product_Configuration_Packaging_Draft - Added Fedora server zone (RHBZ#1110711) - Added Fedora workstation zone(RHBZ#1113775)- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild- new services: freeipa-*, puppermaster, amanda-k5, synergy, xmpp-*, tor, privoxy, sane - do not use at_console in D-Bus policies (RHBZ#1094745) - apply all rich rules for non-default targets - AppData file (RHBZ#1094754) - separate Polkit actions for desktop & server (RHBZ#1091068) - sanitize missing ip6t_rpfilter (RHBZ#1074427) - firewall/core/io/*: few improvements (RHBZ#1065738) - no load failed error for absent direct.xml file - new DBUS_INTERFACE.getZoneSettings to get all run-time zone settings - fixed creation and deletion of zones, services and icmptypes over D-Bus signals - FirewallClientZoneSettings: Set proper default target - if Python2 then encode strings from sax parser (RHBZ#1059104, RHBZ#1058853) - firewall-cmd: - don't colour output of query commands (RHBZ#1097841) - use "default" instead of {chain}_{zone} (RHBZ#1075675) - New --get-target and --set-target - Create and remove permanent zones, services and icmptypes - firewall-config: - Adding services and icmptypes resulted in duplicates in UI - Use left button menu of -applet in Option menu - firewall-offline-cmd: same functionality as 'firewall-cmd --permanent' - firewall-applet: ZoneConnectionEditor was missing the Default Zone entry - bash-completion: getting zones/services/icmps is different with/without --permanent - firewalld.zone(5): removed superfluous slash (RHBZ#1091575) - updated translations- Fixed persistent port forwarding (RHBZ#1056154) - Stop default zone rules being applied to all zones (RHBZ#1057875) - Enforce trust, block and drop zones in the filter table only (RHBZ#1055190) - Allow RAs prior to applying IPv6_rpfilter (RHBZ#1058505) - Fix writing of rule.audit in zone_writer()- fix regression introduced in 0.3.9 (RHBZ#1053932)- fix regressions introduced in 0.3.9 (RHBZ#1054068, RHBZ#1054120)- translation updates - New IPv6_rpfilter setting to enable source address validation (RHBZ#847707) - Do not mix original and customized zones in case of target changes, apply only used zones - firewall-cmd: fix --*_lockdown_whitelist_uid to work with uid 0 - Don't show main window maximized. (RHBZ#1046811) - Use rmmod instead of 'modprobe -r' (RHBZ#1031102) - Deprecate 'enabled' attribute of 'masquerade' element - firewall-config: new zone was added twice to the list - firewalld.dbus(5) - Enable python shebang fix again - firewall/client: handle_exceptions: Use loop in decorator - firewall-offline-cmd: Do not mask firewalld service with disabled option - firewall-config: richRuleDialogActionRejectType Entry -> ComboBox - Rich_Rule: fix parsing of reject element (RHBZ#1027373) - Show combined zones in permanent configuration (RHBZ#1002016) - firewall-cmd(1): document exit code 2 and colored output (RHBZ#1028507) - firewall-config: fix RHBZ#1028853- fix memory leaks - New option --debug-gc - Python3 compatibility - Better non-ascii support - several firewall-config & firewall-applet fixes - New --remove-rules commands for firewall-cmd and removeRules methods for D-Bus - Fixed FirewallDirect.get_rules to return proper list - Fixed LastUpdatedOrderedDict.keys() - Enable rich rule usage in trusted zone (RHBZ#994144) - New error codes: INVALID_CONTEXT, INVALID_COMMAND, INVALID_USER and INVALID_UID- Don't fail on missing ip[6]tables/ebtables table. (RHBZ#967376) - bash-completion: --permanent --direct options - firewall/core/fw.py: fix checking for iptables & ip6tables (RHBZ#1017087) - firewall-cmd: use client's exception_handler instead of catching exceptions ourselves - FirewallClientZoneSettings: fix {add|remove|query}RichRule() - Extend amanda-client service with 10080/tcp (RHBZ#1016867) - Simplify Rich_Rule()_lexer() by using functions.splitArgs() - Fix encoding problems in exception handling (RHBZ#1015941)- firewall-offline-cmd: --forward-port 'toaddr' is optional (RHBZ#1014958) - firewall-cmd: fix variable name (RHBZ#1015011)- remove superfluous po files from archive- firewalld.richlanguage.xml: correct log levels (RHBZ#993740) - firewall-config: Make sure that all zone settings are updated properly on firewalld restart - Rich_Limit: Allow long representation for duration (RHBZ#994103 - firewall-config: Show "Changes applied." after changes (RHBZ#993643) - Use own connection dialog to change zones for NM connections - Rename service cluster-suite to high-availability (RHBZ#885257) - Permanent direct support for firewall-config and firewall-cmd - Try to avoid file descriptor leaking (RHBZ#951900) - New functions to split and join args properly (honoring quotes) - firewall-cmd(1): 2 simple examples - Better IPv6 NAT checking. - Ship firewalld.direct(5).- Only use one PK action for configuration (RHBZ#994729) - firewall-cmd: indicate non-zero exit code with red color - rich-rule: enable to have log without prefix & log_level & limit - log-level warn/err -> warning/error (RHBZ#1009436) - Use policy DROP while reloading, do not reset policy in restart twice - Add _direct chains to all table and chain combinations - documentation improvements - New firewalld.direct(5) man page docbook source - tests/firewall-cmd_test.sh: make rich language tests work - Rich_Rule._import_from_string(): improve error messages (RHBZ#994150) - direct.passthrough wasn't always matching out_signature (RHBZ#967800) - firewall-config: twist ICMP Type IP address family logic. - firewall-config: port-forwarding/masquerading dialog (RHBZ#993658) - firewall-offline-cmd: New --remove-service= option (BZ#969106) - firewall-config: Options->Lockdown was not changing permanent. - firewall-config: edit line on doubleclick (RHBZ#993572) - firewall-config: System Default Zone -> Default Zone (RHBZ#993811) - New direct D-Bus interface, persistent direct rule handling, enabled passthough - src/firewall-cmd: Fixed help output to use more visual parameters - src/firewall-cmd: New usage output, no redirection to man page anymore - src/firewall/core/rich.py: Fixed forwad port destinations - src/firewall-offline-cmd: Early enable/disable handling now with mask/unmask - doc/xml/firewalld.zone.xml: Added more information about masquerade use - Prefix to log message is optional (RHBZ#998079) - firewall-cmd: fix --permanent --change-interface (RHBZ#997974) - Sort zones/interfaces/service/icmptypes on output. - wbem-https service (RHBZ#996668) - applet&config: add support for KDE NetworkManager connection editor - firewall/core/fw_config.py: New method update_lockdown_whitelist - Added missing file watcher for lockdown whitelist in config D-Bus interface - firewall/core/watcher: New add_watch_file for lockdown-whitelist and direct - Make use of IPv6 NAT conditional, based on kernel number (RHBZ#967376)- several rich rule check enhancements and fixes - firewall-cmd: direct options - check ipv4|ipv6|eb (RHBZ#970505) - firewall-cmd(1): improve description of direct options (RHBZ#970509) - several firewall-applet enhancements and fixes - New README - several doc and man page fixes - Service definitions for PCP daemons (RHBZ#972262) - bash-completion: add lockdown and rich language options - firewall-cmd: add --permanent --list-all[-zones] - firewall-cmd: new -q/--quiet option - firewall-cmd: warn when default zone not active (RHBZ#971843) - firewall-cmd: check priority in --add-rule (RHBZ#914955) - add dhcpv6 (for server) service (RHBZ#917866) - firewall-cmd: add --permanent --get-zone-of-interface/source --change-interface/source - firewall-cmd: print result (yes/no) of all --query-* commands - move permanent-getZoneOf{Interface|Source} from firewall-cmd to server - Check Interfaces/sources when updating permanent zone settings. - FirewallDConfig: getZoneOfInterface/Source can actually return more zones - Fixed toaddr check in forward port to only allow single address, no range - firewall-cmd: various output improvements - fw_zone: use check_single_address from firewall.functions - getZoneOfInterface/Source does not need to throw exception - firewall.functions: Use socket.inet_pton in checkIP, fixed checkIP*nMask - firewall.core.io.service: Properly check port/proto and destination address - Install applet desktop file into /etc/xdg/autostart - Fixed option problem with rich rule destinations (RHBZ#979804) - Better exception creation in dbus_handle_exceptions() decorator (RHBZ#979790) - Updated firewall-offline-cmd - Use priority in add, remove, query and list of direct rules (RHBZ#979509) - New documentation (man pages are created from docbook sources) - firewall/core/io/direct.py: use prirority for rule methods, new get_all_ methods - direct: pass priority also to client.py and firewall-cmd - applet: New blink and blink-count settings - firewall.functions: New function ppid_of_pid - applet: Check for gnome3 and fix it, use new settings, new size-changed cb - firewall-offline-cmd: Fix use of systemctl in chroot - firewall-config: use string.ascii_letters instead of string.letters - dbus_to_python(): handle non-ascii chars in dbus.String. - Modernize old syntax constructions. - dict.keys() in Python 3 returns a "view" instead of list - Use gettext.install() to install _() in builtins namespace. - Allow non-ascii chars in 'short' and 'description' - README: More information for "Working With The Source Repository" - Build environment fixes - firewalld.spec: Added missing checks for rhel > 6 for pygobject3-base - firewall-applet: New setting show-inactive - Don't stop on reload when lockdown already enabled (RHBZ#987403) - firewall-cmd: --lockdown-on/off did not touch firewalld.conf - FirewallApplet.gschema.xml: Dropped unused sender-info setting - doc/firewall-applet.xml: Added information about gsettings - several debug and log message fixes - Add chain for sources so they can be checked before interfaces (RHBZ#903222) - Add dhcp and proxy-dhcp services (RHBZ#986947) - io/Zone(): don't error on deprecated family attr of source elem - Limit length of zone file name (to 12 chars) due to Netfilter internals. - It was not possible to overload a zone with defined source(s). - DEFAULT_ZONE_TARGET: {chain}_ZONE_{zone} -> {chain}_{zone} - New runtime getSettings for services and icmptypes, fixed policies callbacks - functions: New functions checkUser, checkUid and checkCommand - src/firewall/client: Fixed lockdown-whitelist-updated signal handling - firewall-cmd(1): move firewalld.richlanguage(5) reference in --*-rich-rule - Rich rule service: Only add modules for accept action - firewall/core/rich: Several fixes and enhanced checks - Fixed reload of direct rules - firewall/client: New functions to set and get the exception handler - firewall-config: New and enhanced UI to handle lockdown and rich rules - zone's immutable attribute is redundant - Do not allow to set settings in config for immutable zones. - Ignore deprecated 'immutable' attribute in zone files. - Eviscerate 'immutable' completely. - FirewallDirect.query_rule(): fix it - permanent direct: activate firewall.core.io.direct:Direct reader - core/io/*: simplify getting of character data - FirewallDirect.set_config(): allow reloading- Remove migrating to a systemd unit file from a SysV initscript - Remove pointless "ExclusiveOS" tag- Fixed rich rule check for use in D-Bus- new service files - relicensed logger.py under GPLv2+ - firewall-config: sometimes we don't want to use client's exception handler - When removing Service/IcmpType remove it from zones too (RHBZ#958401) - firewall-config: work-around masquerade_check_cb() being called more times - Zone(IO): add interfaces/sources to D-Bus signature - Added missing UNKNOWN_SOURCE error code - fw_zone.check_source: Raise INVALID_FAMILY if family is invalid - New changeZoneOfInterface method, marked changeZone as deprecated - Fixed firewall-cmd man page entry for --panic-on - firewall-applet: Fixed possible problems of unescaped strings used for markup - New support to bind zones to source addresses and ranges (D-BUS, cmd, applet - Cleanup of unused variables in FirewallD.start - New firewall/fw_types.py with LastUpdatedOrderedDict - direct.chains, direct.rules: Using LastUpdatedOrderedDict - Support splitted zone files - New reader and writer for stored direct chains and rules - LockdownWhitelist: fix write(), add get_commands/uids/users/contexts() - fix service_writer() and icmptype_writer() to put newline at end of file - firewall-cmd: fix --list-sources - No need to specify whether source address family is IPv4 or IPv6 - add getZoneOfSource() to D-Bus interface - Add tests and bash-completion for the new "source" operations - Convert all input args in D-Bus methods - setDefaultZone() was calling accessCheck() *after* the action - New uniqify() function to remove duplicates from list whilst preserving order - Zone.combine() merge also services and ports - config/applet: silence DBusException during start when FirewallD is not running (RHBZ#966518) - firewall-applet: more fixes to make the address sources family agnostic - Better defaults for lockdown white list - Use auth_admin_keep for allow_any and allow_inactive also - New D-Bus API for lockdown policies - Use IPv4, IPv6 and BRIDGE for FirewallD properties - Use rich rule action as audit type - Prototype of string-only D-Bus interface for rich language - Fixed wrongly merged source family check in firewall/core/io/zone.py - handle_cmr: report errors, cleanup modules in error case only, mark handling - Use audit type from rule action, fixed rule output - Fixed lockdown whitelist D-Bus handling method names - New rich rule handling in runtime D-Bus interface - Added interface, source and rich rule handling (runtime and permanent) - Fixed dbus_obj in FirewallClientConfigPolicies, added queryLockdown - Write changes in setLockdownWhitelist - Fixed typo in policies log message in method calls - firewall-cmd: Added rich rule, lockdown and lockdown whitelist handling - Don't check access in query/getLockdownWhitelist*() - firewall-cmd: Also output masquerade flag in --list-all - firewall-cmd: argparse is able to convert argument to desired type itself - firewall-cmd_test.sh: tests for permanent interfaces/sources and lockdown whitelist - Makefile.am: add missing files - firewall-cmd_test.sh: tests for rich rules - Added lockdown, source, interface and rich rule docs to firewall-cmd - Do not masquerade lo if masquerade is enabled in the default zone (RHBZ#904098) - Use in metavar for firewall-cmd parser- removed unintentional en_US.po from tarball- Fix signal handling for SIGTERM - Additional service files (RHBZ#914859) - Updated po files - s/persistent/permanent/ (Trac Ticket #7) - Better behaviour when running without valid DISPLAY (RHBZ#955414) - client.handle_exceptions(): do not loop forever - Set Zone.defaults in zone_reader (RHBZ#951747) - client: do not pass the dbus exception name to handler - IO_Object_XMLGenerator: make it work with Python 2.7.4 (RHBZ#951741) - firewall-cmd: do not use deprecated BaseException.message - client.py: fix handle_exceptions() (RHBZ#951314) - firewall-config: check zone/service/icmptype name (RHBZ#947820) - Allow 3121/tcp (pacemaker_remote) in cluster-suite service. (RHBZ#885257) - firewall-applet: fix default zone hangling in 'shields-up' (RHBZ#947230) - FirewallError.get_code(): check for unknown error- Make permanenent changes work with Python 2.7.4 (RHBZ#951741)- Use explicit file lists for make dist - New rich rule validation check code - New global check_port and check_address functions - Allow source white and black listing with the rich rule - Fix error handling in case of unsupported family in rich rule - Enable ip_forwarding in masquerade and forward-port - New functions to read and write simple files using filename and content - Add --enable-sysconfig to install Fedora-specific sysconfig config file. - Add chains for security table (RHBZ#927015) - firewalld.spec: no need to specify --with-systemd-unitdir - firewalld.service: remove syslog.target and dbus.target - firewalld.service: replace hard-coded paths - Move bash-completion to new location. - Revert "Added configure for new build env" - Revert "Added Makefile.in files" - Revert "Added po/Makefile.in.in" - Revert "Added po/LINGUAS" - Revert "Added aclocal.m4" - Amend zone XML Schema- Added rich language support - Added lockdown feature - Allow to bind interfaces and sources to zones permanently - Enabled IPv6 NAT support masquerading and port/packet forwarding for IPv6 only with rich language - Handle polkit errors in client class and firewall-config - Added priority description for --direct --add-rule in firewall-cmd man page - Add XML Schemas for zones/services/icmptypes XMLs - Don't keep file descriptors open when forking - Introduce --nopid option for firewalld - New FORWARD_IN_ZONES and FORWARD_OUT_ZONES chains (RHBZ#912782) - Update cluster-suite service (RHBZ#885257) - firewall-cmd: rename --enable/disable-panic to --panic-on/off (RHBZ#874912) - Fix interaction problem of changed event of gtk combobox with polkit-kde by processing all remaining events (RHBZ#915892) - Stop default zone rules being applied to all zones (RHBZ#912782) - Firewall.start(): don't call set_default_zone() - Add wiki's URL to firewalld(1) and firewall-cmd(1) man pages - firewalld-cmd: make --state verbose (RHBZ#886484) - improve firewalld --help (RHBZ#910492) - firewall-cmd: --add/remove-* can be used multiple times (RHBZ#879834) - Continue loading zone in case of wrong service/port etc. (RHBZ#909466) - Check also services and icmptypes in Zone() (RHBZ#909466) - Increase the maximum length of the port forwarding fields from 5 to 11 in firewall-config - firewall-cmd: add usage to fail message - firewall-cmd: redefine usage to point to man page - firewall-cmd: fix visible problems with arg. parsing - Use argparse module for parsing command line options and arguments - firewall-cmd.1: better clarify where to find ACTIONs - firewall-cmd Bash completion - firewall-cmd.1: comment --zone= usage and move some options - Use zone's target only in %s_ZONES chains - default zone in firewalld.conf was set to public with every restart (#902845) - man page cleanup - code cleanup- Another fix for RHBZ#912782- Stop default zone rules being applied to all zones (RHBZ#912782)- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild- Default zone in firewalld.conf was reseted with every restart (RHBZ#902845) - Add icon cache related scriptlets for firewall-config (RHBZ#902680) - Fix typo in firewall-config (RHBZ#895812) - Fix few mistakes in firewall-cmd(1) man page- firewall-cmd: use -V instead of -v for version info (RHBZ#886477) - firewall-cmd: don't check reload()'s return value (RHBZ#886461) - actually install firewalld.zones.5 - firewall-config: treat exceptions when adding new zone/service/icmp (RHBZ#886602) - firewalld.spec: Fixed requirements of firewall-config to use gtk2 and pygobject3 - Fail gracefully when running in non X environment.(RHBZ#886551) - offline-cmd: fail gracefully when no s-c-f config - fix duplicated iptables rules (RHBZ#886515) - detect errors and duplicates in config file (RHBZ#886581) - firewall-config: don't make 'Edit Service' and 'Edit ICMP Type' insensitive - firewalld.spec: fixed requirements, require pygobject3-base - frewall-applet: Unused code cleanup - firewall-applet: several usability fixes and enhancements (RHBZ#886531) (RHBZ#886534) - firewall/server/server.py: fixed KeyboardInterrupt message (RHBZ#886558) - Moved fallback zone and minimal_mark to firewall.config.__init__ - Do not raise ZONE_ALREADY_SET in change_zone if old zone is set again (RHBZ#886432) - Make default zone default for all unset connections/interfaces (RHBZ#888288) (RHBZ#882736) - firewall-config: Use Gtk.MessageType.WARNING for warning dialog - firewall-config: Handle unknown services and icmptypes in persistent mode - firewall-config: Do not load settings more than once - firewall-config: UI cleanup and fixes (RHBZ#888242) - firewall-cmd: created alias --change-zone for --change-interface - firewall-cmd man page updates (RHBZ#806511) - Merged branch 'build-cleanups' - dropped call to autogen.sh in build stage, not needed anymore due to 'build-cleanups' merge- require pygobject3-base instead of pygobject3 (no cairo needed) (RHBZ#874378) - fixed dependencies of firewall-config to use gtk3 with pygobject3-base and not pygtk2- Fixed more _xmlplus (PyXML) incompatibilities to python xml - Several man page updates - Fixed error in addForwardPort, removeForwardPort and queryForwardPort - firewall-cmd: use already existing queryForwardPort() - Update firewall.cmd man page, use man page as firewall-cmd usage (rhbz#876394) - firewall-config: Do not force to show labels in the main toolbar - firewall-config: Dropped "Change default zone" from toolbar - firewall-config: Added menu entry to change zones of connections - firewall-applet: Zones can be changed now using nm-connection-editor (rhbz#876661) - translation updates: cs, hu, ja- tests/firewalld_config.py: tests for config.service and config.icmptype - FirewallClientConfigServiceSettings(): destinations are dict not list - service/zone/icmptype: do not write deprecated name attribute - New service ntp - firewall-config: Fixed name of about dialog - configure.in: Fixed getting of error codes - Added coding to all pyhton files - Fixed copyright years - Beautified file headers - Force use of pygobject3 in python-slip (RHBZ#874378) - Log: firewall.server.config_icmptype, firewall.server.config_service and firewall.server.config_zone: Prepend full path - Allow ":" in interface names for interface aliases - Add name argument to Updated and Renamed signal - Disable IPv4, IPv6 and EB tables if missing - for IPv4/IPv6 only environments - firewall-config.glade file cleanup - firewall-config: loadDefaults() can throw exception - Use toolbars for Add/Edit/Remove/LoadDefaults buttons for zones, services and icmp types - New vnc-server service, opens ports for displays :0 to :3 (RHBZ#877035) - firewall-cmd: Fix typo in help output, allow default zone usage for permanenent options - Translation updates: cs, fr, ja, pt_BR and zh_CN- firewall-config: some UI usability changes - firewall-cmd: New option --list-all-zones, output of --list-all changed, more option combination checks - firewall-applet: Replaced NMClient by direct DBUS calls to fix python core dumps in case of connection activates/deactivates - Use fallback 'C' locale if current locale isn't supported (RHBZ#860278) - Add interfaces to zones again after reload - firewall-cmd: use FirewallClient().connected value - firewall-cmd: --remove-interface was not working due to a typo - Do not use restorecon for new and backup files - Fixed use of properties REJECT and DROP - firewalld_test.py: check interfaces after reload - Translation updates - Renamed firewall-convert-scfw-config to firewall-offline-cmd, used by anaconda for firewall configuration (e.g. kickstart) - Fix python shebang to use -Es at installation time for bin_SCRIPTS and sbin_SCRIPTS and at all times in gtk3_chooserbutton.py - tests/firewalld_config.py: update test_zones() test case - Config interface: improve renaming of zones/services/icmp_types - Move emiting of Added signals closer to source. - FirewallClient(): config:ServiceAdded signal was wrongly mapped - Add argument 'name' to Removed signal - firewall-config: Add callbacks for config:[service|icmp]-[added|removed] - firewall-config: catch INVALID_X error when removing zone/service/icmp_type - firewall-config: remove unused code - Revert "Neutralize _xmlplus instead of conforming it" - firewall-applet: some UI usability changes - firewall-cmd: ALREADY_ENABLED, NOT_ENABLED, ZONE_ALREADY_SET are warnings- Do not apply old settings to zones after reload - FirewallClient: Added callback structure for firewalld signals - New firewall-config with full zone, service and icmptype support - Added Shields Up/Down configuration dialog to firewall-applet - Name attribute of main tag deprecated for zones, services and icmptypes, will be ignored if present - Fixed wrong references in firewalld man page - Unregister DBus interfaces after sending out the Removed signal - Use proper DBus signature in addIcmpType, addService and addZone - New builtin property for config interfaces - New test case for Config interface - spec: use new systemd-rpm macros (rhbz#850110) - More config file verifications - Lots of smaller fixes and enhancements- use new systemd-rpm macros (rhbz#850110)- Update of firewall-config - Some bug fixes- New D-BUS interface for persistent configuration - Aded support for persistent zone configuration in firewall-cmd - New Shields Up feature in firewall-applet - New requirements for python-decorator and pygobject3 - New firewall-config sub-package - New firewall-convert-scfw-config config script- Fixed traceback in firewall-cmd for failed or canceled authorization, return proper error codes, new error codes NOT_RUNNING and NOT_AUTHORIZED - Enhanced firewalld service file (RHBZ#806868) and (RHBZ#811240) - Fixed duplicates in zone after reload, enabled timed settings after reload - Removed conntrack --ctstate INVALID check from default ruleset, because it results in ICMP problems (RHBZ#806017). - Update interfaces in default zone after reload (rhbz#804814) - New man pages for firewalld(1), firewalld.conf(5), firewalld.icmptype(5), firewalld.service(5) and firewalld.zone(5), updated firewall-cmd man page (RHBZ#811257) - Fixed firewall-cmd help output - Fixed missing icon for firewall-applet (RHBZ#808759) - Added root user check for firewalld (RHBZ#767654) - Fixed requirements of firewall-applet sub package (RHBZ#808746) - Update interfaces in default zone after changing of default zone (RHBZ#804814) - Start firewalld before NetworkManager (RHBZ#811240) - Add Type=dbus and BusName to service file (RHBZ#811240)- fixed firewalld.conf save exception if no temporary file can be written to /etc/firewalld/- firewall-cmd: several changes and fixes - code cleanup - fixed icmp protocol used for ipv6 (rhbz#801182) - added and fixed some comments - properly restore zone settings, timeout is always set, check for 0 - some FirewallError exceptions were actually not raised - do not REJECT in each zone - removeInterface() don't require zone - new tests in firewall-test script - dbus_to_python() was ignoring certain values - added functions for the direct interface: chains, rules, passthrough - fixed inconsistent data after reload - some fixes for the direct interface: priority positions are bound to ipv, table and chain - added support for direct interface in firewall-cmd: - added isImmutable(zone) to zone D-Bus interface - renamed policy file - enhancements for error messages, enables output for direct.passthrough - added allow_any to firewald policies, using at leas auth_admin for policies - replaced ENABLE_FAILED, DISABLE_FAILED, ADD_FAILED and REMOVE_FAILED by COMMAND_FAILED, resorted error codes - new firewalld configuration setting CleanupOnExit - enabled polkit again, found a fix for property problem with slip.dbus.service - added dhcpv6-client to 'public' (the default) and to 'internal' zones. - fixed missing settings form zone config files in "firewall-cmd --list=all --zone=" call - added list functions for services and icmptypes, added --list=services and --list=icmptypes to firewall-cmd- enabled dhcpv6-client service for zones home and work - new dhcpv6-client service - firewall-cmd: query mode returns reversed values - new zone.changeZone(zone, interface) - moved zones, services and icmptypes to /usr/lib/firewalld, can be overloaded by files in /etc/firewalld (no overload of immutable zones block, drop, trusted) - reset MinimalMark in firewalld.cnf to default value - fixed service destination (addresses not used) - fix xmlplus to be compatible with the python xml sax parser and python 3 by adding __contains__ to xml.sax.xmlreader.AttributesImpl - use icon and glib related post, postun and posttrans scriptes for firewall - firewall-cmd: fix typo in state - firewall-cmd: fix usage() - firewall-cmd: fix interface action description in usage() - client.py: fix definition of queryInterface() - client.py: fix typo in getInterfaces() - firewalld.service: do not fork - firewall-cmd: fix bug in --list=port and --port action help message - firewall-cmd: fix bug in --list=service- moved zones, services and icmptypes to /usr/lib/firewalld, can be overloaded by files in /etc/firewalld (no overload of immutable zones block, drop, trusted)- added missing firewall.dbus_utils- added glib2-devel to build requires, needed for gsettings.m4 - added --with-system-unitdir arg to fix installaiton of system file - added glib-compile-schemas calls for postun and posttrans - added EXTRA_DIST file lists- version 0.2.0 with new FirewallD1 D-BUS interface - supports zones with a default zone - new direct interface as a replacement of the partial virt interface with additional passthrough functionality - dropped custom rules, use direct interface instead - dropped trusted interface funcionality, use trusted zone instead - using zone, service and icmptype configuration files - not using any system-config-firewall parts anymore- new version 0.1.3 - restore all firewall features for reload: panic and virt rules and chains - string fixes for firewall-cmd man page (by Jiri Popelka) - fixed firewall-cmd port list (by Jiri Popelka) - added firewall dbus client connect check to firewall-cmd (by Jiri Popelka) - translation updates: de, es, gu, it, ja, kn, ml, nl, or, pa, pl, ru, ta, uk, zh_CN- fixed package according to package review (rhbz#665395): - non executable scripts: dropped shebang - using newer GPL license file - made /etc/dbus-1/system.d/FirewallD.conf config(noreplace) - added requires(post) and (pre) for chkconfig- new version 0.1.1 - fixed source path in POTFILES* - added missing firewall_config.py.in - added misssing space for spec_ver line - using firewall_config.VARLOGFILE - added date to logging output - also log fatal and error logs to stderr and firewall_config.VARLOGFILE - make log message for active_firewalld fatal- initial package (proof of concept implementation) 0.9.3-13.el8 firewall-configfirewall-config.desktopfirewall-config.gladegtk3_chooserbutton.pygtk3_niceexpander.pyorg.fedoraproject.FirewallConfig.gschema.xmlfirewall-config.pngfirewall-config.pngfirewall-config.pngfirewall-config.pngfirewall-config.pngfirewall-config.svgfirewall-config.1.gzfirewall-config.appdata.xml/usr/bin//usr/share/applications//usr/share/firewalld//usr/share/glib-2.0/schemas//usr/share/icons/hicolor/16x16/apps//usr/share/icons/hicolor/22x22/apps//usr/share/icons/hicolor/24x24/apps//usr/share/icons/hicolor/32x32/apps//usr/share/icons/hicolor/48x48/apps//usr/share/icons/hicolor/scalable/apps//usr/share/man/man1//usr/share/metainfo/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protectioncpioxz2noarch-redhat-linux-gnu Python script, ASCII text executableUTF-8 Unicode textXML 1.0 document, UTF-8 Unicode text, with very long linesXML 1.0 document, ASCII textPNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedPNG image data, 22 x 22, 8-bit/color RGBA, non-interlacedPNG image data, 24 x 24, 8-bit/color RGBA, non-interlacedPNG image data, 32 x 32, 8-bit/color RGBA, non-interlacedPNG image data, 48 x 48, 8-bit/color RGBA, non-interlacedSVG Scalable Vector Graphics imagetroff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)RPPPPutf-80dbd866855f25153ee3aa4ee4554b5edb3f28f0437ae9a5d06065f951aeb14d9?@7zXZ !#,.] b2u y-iSqj?9*;x_ J J)K cTVY)cI SqXS;4xG5FѭXl quR'gmz aJNsxPƹH krJ=![?7j~ʫϪC6;mEdV\XdI aeaT1.(LZV-4a^Y5+_!cKD kH\+H1/ ti? %(eCU6x a* $7Cf{EffGbKv&݋޹#kJ_B.!-Lc`PInOu&,aPoj1hRϳWʧvsMXW$~j$4Fژg(5rt93*tQl%%>&Uؿ*˝,Bݶ.4*}b>[Ñ)A-*f U;X}SЙ[ 'z5(&h(LL)o3yFױxR\zRN\4Gsno!uyoyk$p݈eʷVVdf'V޲Qs5OSJ7`>ZĢ -/3=#εN*.p9g;ĄJ '6fZw(~mFCgW'}ݤߜEW\~s4&UaU𗭋Z'9 OS~鹞71b\Հ./y9ɤKkw Ǽjrk;[l/ fSoӗcd Κr: -Z' WK~ߪ̀jgYSz:%+> u~MО˝"*"scFx[ M5%ƴO ]o?;"ljXkFC€+1bI9mjEJ%_w ;:WЗJXPLZڶOcka2>eְo3{Nq) f"@0|Fb, T$qΪ~)ƞp̛g+ɧF<IR reE`(X:rci;t8Cc|N諃M3Fe]2}kQt ]ں~~w>MmF]<SCi@6$6 `&,d]g DBw|R+\.#n/6{:ߞR}7Ued*O"TuaKtfˠ!W@?Eؽ"ۈ4_>Uh$ sN ksuZ?G"`^|vqUXz}2fS H^CbG=Gjk ,u*IH؁ѯYYie(:p*.A'+?O5胸ǯHcYL\iN͍7uWH|rİ}ê-l35b5NM.嶪y-o\UG| \Ugᝄ dUHY,jkIŤ661W6{M,6(a3u@XF6tkB{9-t8ʂKO<-L_ sFu2Cz`'562*!Յ@؛'#:&5Vc؇, gpN4~fb 'Q1_w#e>~u6 f@ir0JȲƻK`IA$+yoR̟[ Q 3 f0-犺<3l0c06m[]s[?P{QS]3@Ή @?U8xͽ^  '2snH8cJ >S*\_Ò.:clc X؊v%U!+wV1o]1^pY|dfCG}$6_&C 9/$bZT`Fm E^AVު=<DvOs ϿR$J .FRxw+NLfj;Wn¥KS0#DPUar0>+/B!NDCʕjQپ#[bgXw޳6WgQ'~` zcqW>ĠSS lJ{$k]u/_U8ˉ4P~©tˀW޾5Q;ELcT=.@opa)* N`:bvI OȎ*nyGDV/-\)(&ioJmj)OVOh-$i#sN |cfB;hVNlz$^SA"b W?;m(24X-jSAҐR}C%/u9:_enGܢ^NnۦOd&vK+>#Sd#vye B fl~uҼUZ"Xj%$~Q4QH =~TіhGgQ|31ZvFxap#!B^@d4p+B_d $iI/B/jV#rNp >cJUp2ZyCPUФýKf2&]ST{)q1\3qΘ>N2- ]O XNYphG A"ؘ>ʏZsQh*~ڥ}!u\P(x(Zahn&ȭwX? ,= U ں# +$X1<(PWc%yFn s) Y'M8oR8 $.| t j]SQqP˝og. w(i6wkg^#Qj >Q9^R ]5 J |9~fڂSWl>zT c?"{&fYa`HRi9~0{&H.Se4rHT&NOnq):{>[0R%K0oaw[$h ,h#a@y$8fpl4XmELP&5>.pFyM3njr\Fŷ%֬!H4ȝ,PHWaL8{YwEG]۽Mx_mҰV#3I\yB3Q5t_`bI3<^M`-xRi)u(c ehl7aJO:&ĜY=zl5.r +3WaF]Z]>ȵ@9lUƿ >^ֿێGڡ%vU&b6K\#"U҈Ȫ5ҨPvnyuN9p~?f3Z=!e|f;EhRmzᛡ1?uemauV\*S./CҞj8=jiЛ ]>rNߧș?ZS~~L Β&WQZ%+ WML+?8x3:鮰K$BHtsfO/j[Ean$꣚dG<88}yuE ?%+ȋ;zEbixbR=EQuM_g?i3a7XSA ӳcoi/*XE5ѨpLJ۵։IJExU58D%_mr+o'u`}:DsEN/[o=e ǻ{L$V/OGu=j˯ܱDPk w|]%h!: ^ψ7'$9xNFJ?AQYˁf\Kznona|26[ U+bw)}hY۝M%G0˫L[5>þZ-4-1x$[0N ;G<tpmOn1m!,nSg؉qν4LN:BTTfdD:$ІyQBPN{rkQtpD +rୠ'3ǁ0ᮩTHOFOU֭y6yȆ@0|6U-j(2bQBL_jb;kq,S{W؃*qX-ȳ%$ϑf(R/PTѝQDu+yyh-۴sȒL˴Nט4itb/ҋHaZuwt> ZkJXFS;]#|޷@i,Fy|K~{" A71E4; b` V_D"ɔjUZĠӶɞEEĘC(S2H!o|{ jWv<5g_J˜w0EJ5*CBrV0Iߡ1΢!ӳrGqzhJdbfOZVL'HȪpj6v9C&R&5FrH m2,~ysc3 =NM D4s4mnK_/<~|%=RYpNwCe*Wrʩ ABR/TƉ($фA^TvŸ'Ϳm@C֧.#9UyYm4BM7V_cas%AÝ,cx&)V'9YG{*/EPn nz0lк0k}s0x?ԙ~#֡.Hp#lk/u"8eSxv`z_PUQ|ceTԣoܪwrQdhmen|D&M፪K Vƛ/"(c2\?R'd މ6;A)BC"5M@p69茼摿Cu^pʎn^lc[\d'nz+&j+J|J^x蔂;(:G>)*C[ˀzQqZ`gl@3BГֹښNoϸyn m\z2MOrh`2=)R!+#< RVxq:ŮI4Piw|V W'Jw^{sd;ъYq)̚>h?C x T֦~zN㰫<`$\d1aJJrN$l}AauzW+5q0%-A`Gv͒C<*,W7?BJH Lv~ӧ0K9`q[V|GUm\={"tخh0rz荕|쪻3j,BG8hB,=nq[F+~.;vZXQj 6i$vd~?ĭ);SZ]3;>`4ͽ{˜ s=K|`a[<mBk*yAϙ5/yԺ+A6UDb: Jgһ)ĖFs q~8q"WMJ#G['eNf/$Q9 [s[G]Ia7Y.M'10 Bíİdp(R{/G?;@d{<  v ;@n{V@tdinj Ż@-} 7>NJ>Y ,%\BEֿ )-z(S"J϶4'd}ʧu/itܼgJq/-_BEqƽGP5~PDE4*iߓ汩zRFvpj!` tDʫ{?jWzǝ6$l%ʠY*2mjJ 0ڇKS ʽ+3Wࠊ~d2S;4']TgMl->3'oNw$48֎!S^'!tU% b&|4)iEH%* tl-HQ0'R7KfҘfn C$QY7hp{M'% 8〿˽bAjGUߣb 1w1fOU\J̢W!\btƏkLѠ#v˨'9lK%rYSIoXW$i+#˘YVE)2:77 n ngm('WO&WG{{y|R ?R nF}E"E7KN{Y:m|t21YPD>{%ftB*A53K!u?s&Kwc 4 `pj~FJ$2t]wa܋}QMiIhSّH0F5]esGjq8G(K 1Ǖ ]R1A,?`[iRNޣʿEd~VJ065oؠQ{2u,ϟRt|9+%F.H &@We9 :_*u,=z+Y&/Jit6l@#Do(| "-*N"RsG0L \?;7x+>|9zPS7;T&5491*4@Ts|PS.'^DJ3"TD,?__u!j&8c{c>#}7V}~\=EJ(oƐTDKIIùlW_'y!,b{B\ZtCyt \抵֭S:+OMЊ,p9#‹C\|NI F.w.IZ5wr}<c)aNzHN@cA8RR&{g@fyJ ,lק*}>eG:wd:JG?~ TkjK"rTt]=Tfu2&fmH!`Kpjخӯp(?5qS1>D.l'ptodQ8d(N Zdt[~Չ(,+=FԒ %K2v5(T"W Gɻo&Hاaam^C2y}ؓ)`d緌+eBi[+55GSz:' g#? zl{'¹x-!064AS%<"j !W[3 js3$tB <=b|)6>rX#l[{fpįKNI{Sri*;3OM3uoϔ> S1Ie><+8Y c5"Y$Z+P:LL ֬`?g!& NLY%`j7 < fG1>>TÎ(v;T>BE(WmRkъx*L-]M;p B beL Rn/qv$ &ʍ{& 4!i.tْa죬Z*KھHLn!3^KjnC>'bNHJd&9w) R\V)- 1Fv#*NaRt3J1 /%O8y(.uHB<[3g[,.ql'hbc-i{{bMgo!f`@YƝzRqK4[Wk/#NM~r |DpԠ.BӃRP#zcB[Qy42I&,1N۱v4' pDο\C+uF`6X_׊#ѓ̦GdCVBޞGI|&e"A18CrЬү`ui2Z(Fb>/]UՌwY}\:ب׋jZeq*-n5q4`bPR#+ߕ[§X>>x\SƻCɯ=YP܏+M<{4\ rǻ4]в1 5O [)yک<\} 3=ĺ﮷Q.7 0}TBhYO9t*W1t(`O8]`remdM3aQoӫXf .ˀ _ݯV~dzbDC.A“2!g ځ0zZbЃ@lKk 4gD[[;JyQ4\G?샺Dj5NX+Gn9n>:tTO{earp1B}:v|垆a\g`>$+;w} $MAN_ {J~f6gOC+n%1\mx~}k&'1UCRG)Nrٰv.y5i7Rr>JmGUqRҶ K~X JrSsy~>M13-uo3lmTsJ>l+Kd:_]&c X*WҶ+~tI|>5z\-Agf^:~-U b NB8Ns[>C<[3d[vB G#JZΏ beA-^lΒ| pibIvwN[47tW$Yz65 WqRh;[Wzc⹧)g<R qpgCyl:8螹Ջ*Ӊ0*ŭH u]9K~oM-#TE_s;. NoS2#Ѭbo* P2}3 %4CP_ez:OS.B $-qiuܛr>rm>P+)U!ot29.9q[AHB:2iuvIicwu@?8z_=ͫЊ!`~~A*`=JЧ43U'  ,8ŪhkBQ7*J@ҲI(_fUňo}h: Gl8"*>IHAӌ ;OKUؠ]&T{@ !,Fg4\#\;]a`RL5]-\Z}<5LdNW]4Wss*z![TF#%4weKBn:v>px37Ͽ 5(O1E=I*F< ]*$]yQɀ;M}W4kuՅoX4 z,w$CanȻ0SMY;5^cPc1Яlma|`n$B辂N#$$&1ȴi$zs{$$(0U m? ~n+ګ9/ IƵ# ɶgMsP!adQC8͓8!{,C˷d{nކ[/pEX4Ա-5ٹ>=~e1Fb^c?9ܟV3k;Vr0u)4'*\pE&O$nOj87xu=ykr9jʕ?nڎ߫)=ƤiO؅8~W|Y ܺq]%Zzebٔ_~cPL=΢Y؛bE1w&N3 ߏ)96,!},^o1cXmfqF8WgO!:~,; Q;դ(M""/VP`vwhٙ3oϿܙ}Of"|\h3 3eF 79>.pi#6l󊄬y4jV9on-MIi_w7A>[yTRw(%9]p{:h? A0c8ϔ]!MRẙb ]Th=L? g%eWKk QSpn]4#3 rf5)Ez$ƚ3$6ԉoڬVxW5(/92P'%% 4s"yY# *EF+ 8v $/Rj*:$= YJU -@I6spJ+ n[$zi0}lFWpMψɦj 3W㈤cR{c1?{PǦFfJݎY@Xh/^8Z-$E+E”;r7 qdCr_9/ Oxkj͞䛃-zIIFhj@3np$|lF.{Ņ3RohVE~X([V42v{k9q{V~cЯ6;W?5! Œ8UzefҼ|&Fac6m|>)@ L?RH@6i%[7(ռ"Cŧ>|UIM..=mA+7AWP4p,'T* u&J'G 2 T.,1 胙nm55G.UڼlT1q!_؉S X{nO7ZT̑pk¦͵,'zU)Ŷyx0d:"hҮw$ѓBT񟚝Z,İ'[Bd!Ɍ6/*OORJVH,f'T ;n8僯:{'mt6P8)vq.>k,K,wg-&IG9oSmI7зj^yy3."$nNJ8lŵ.܊ 6 G6Y3s%qVN$0γ1h%#%j!AכdzOV<#6 t޴g{;fcxIuz/,2)\lVyYȬʤ6,F"эCɌpfjԆ(mP<ۿ.yfi t@"2uQC;lKvp3՟x_ŅL%}j'pgL^~?K+7=/#HWPZ/VsɆ*d.E4)Xd 䘧j갉U6]޾JJ[FGFWzYW!Tu,rӤ-K^zqO-27)Y\BTa E?'¬howX*xҰ3 IavRQ}eaVNlFwy1_*oc>hse(||Te/<;b#}I+-fްumY+}K>C>ƾDŽp\[ٌvU;!R:D?=$դ|0^ 6vb2]Fu؋j~(jz1qVV:4u4rx4 FIf$ J6s%{Dp/gšЏ hY zNA{$)dn؞Fk㾅OdT"/N Jc *{sɻ+̡˟1`-Kq bt[A98N걢֭{H_TPvS[M%#:: F nxvх;n2R(aoSO[Q6 &Ȯasvxd9DVuh4RXqcǧ k5ĥd7􁧀d㺒eI/oͲNk~ wY"((iNxfb.'{1JCש(9TX;n Me/AY%% Z `e7:b,YYUB.Uj!tEhAaX Ab[!>A<^;gMe k3[q-?i*6veB^D$ɕx*#IAndvT왟G'.4h42+~Da -y~攀6q n u?_bǻX;⿹La $ P ?aL`vBս㐾œq.mN^B: ޶߻e淃}M̟zP;_'hU\J~iZLz6%3d!)2Y w$i5I-brIH2[ӕ+%+!59j̶ $ -kU 4c'p5qy[tD&کXÉ A8%?afGI¥Ž O_6fՠ*ZYЗT.!^9?HXu7Q?+"C wOZ.j .BXjcܨOx_xG{1#Ct Dd7yeИzd$,ߋ&B5Fϻrӓ[%|F4vЀ7L;՝[f?m3} HYe\o4#й>Aaū`3&`ѰK9$AHf}!Esuj"murǷBYHODQwx;Dbk"="%P5τ:)'.F.q#&%\X}zyz!ZaeTA`wCbĆ)\ܜv%5L]%wF8_=ƥTD=Wc ` >$0깛H&eu j~'"u,NJA]?h7ߒh+#(e:Z>/!o~< ۈ.λPr}V~/ B8G{t0fxXMlfebR>tCZ2;C6Ejz:xk"T7h.Hq8('zk3 מG׾"GoK:QUsT+LCU7Bڥ$hs\H#o۰"8yIwϽj Lֱq,P{~*Hce8z=}ѵdA'NrC.3J8Qp|)y3/s" 9lpMsSsPcuΐ +L>tnsQGmT;T!JxTJH qcO\jA5 ? tgb6޿_*{02[mCG^of?iYtiIuαF;P5nO% v12eoV{7_'\ߑ=$dߡ%EӘ&yu/y[ՙMʊq;ع" *ov}I?&> dDS1p*s> i.ra~ 6|"v<׌*Yk(•Ԇ߉}zkox8 |~P&$EP-mߖa+o~jPjTVm˾# {D !RamqJ%\ FH+'1-w,9/`|%NN|DvCkrqT`@HxmŘZm5JĤXJ~!n$&օ 幤{v ,i&D:eB!jj+#NV%qZpzу3L-./-uXҘalqYoegF^7|-k]`lGjwL*BdA+Zf!  "?Q E{t9y3j:S|)‚>KgtFaobAARZo.FS>k%@χK[ 2vxϧ.Dx L}ڪS:V''IcY^"Y1'2يv86e: zIuDے 5W[s+΃ +"TOG{j%US^`ۏ͈B!*fkOCzYQdXS/'٧~Xl`в[3NNCd흮x²62^%sbMt 88cPgSE<}.'7׉kpSk%FJKqDoqԉqhM;w+RZP*_lCC_붺G#}V;jϋS,`[m}[) vPTE`..-96zvk861 %dYq PIPvA |{Q2Ǐ U}8e:itbG~&502{Wz]wi"A+b&6b_yC< ',܃jGD`x=hvYɾs;4N6w; PIztB1y30ErmiE4t{+z!JqwXU.b?jaYHK]hry(5M:ìC045Ca΄]*aҖf^0S#$}S 1[1iR7*L9mHb'MG'~\w;bFnK-Q_ɲ_ZxɊaZ GlXf_j)?w)| y f(뵵 H!py/WSg+kCɼGt`bGHF5ʮB7D~lӴ蔰dxB8']$loqߕ0A]Pb9Ú,/&Hyn[%"lE?Y_O2{^@|ץv>\|wY[`X:dFi",m9`X~> 4#V'QK2굷MڨbȄ6ZoW,YmӾ#߉7V! L (=~ϏW.EwSꑷVoDŜ~-?4ZlGh:[27%P.YI3\0 lWc8!:T, 7smq-YQ/{WmK9<`Ŕ?##n UN.akd1 Jvs1/yS v P6+SjG< XS^H*O; L&&?+5-FA_p(,w1ojKZ$"Z5-ܭ13~4faxgٲUIQ_ N >exim7cFbyR֗C}ˮ#b_r'N. M8IEȵP(8io5{eb\ mNȹE&>UsYA_kNZ"p@]R S#rbm&Ci  jWR `}lzkw 9FQqx˛<9t̡Dփ?*Dw̮g:dq 0垅ЇZZ@k"ykюoL{u\^^`Q.%eRgg&j\Vr;@ǃ 8xMTcKH F|7~u,|<)|b ;4M}Wh:9Bvs%RL__^Gbֺg$?;u{3??t\^vF-$?TS݆sQ:yKW2 z$ {kp5bƤ=/'C(P_Osp\ojxXp'1/" $QWQK k6\\RBd7CSU}M D2}qL2+/K!AVIb,Tfl՗DGOӘ,WK`л|R_W:h@| 9PȠku(+ךKƣF3^>@7#(eB!0ڢH"mi c8f؊Q+C ئ|RbAx&U$T4FÜY>a1K _Ѫ87y $Dr oJn)k.=[GfZR]<Έor_&+~+g ~h_{X" YUaGSǗ d{1AhC=Mlmn$? SSņ2{K)2ǰ{& {aT Re9Y0w" aNg8 TMNK?vBٶu!s\KeϝY|/׾AR=6Cdsn?>#;l9OK@R%- vU9';?$57c p~Ivnc5n~iX f>=ဋT"`MIDBSzKG]C^3PzRR[{Wfަ%,g%H# :d[>} %2pC{qw}:um?nw$CVMG/vmxקDx8pN0; mdٺ)w-u"x`M;*{ ЃON6|sڜ"mPX<ǩ0kظWmn _?yaඐQ5ȃٵBEv)ԁ?Nb?O_$,ȲJZZ.c:H1ٍBq 9D(TJ,}+tϜr˫Ⱥw_%"Rx?Rކl(-hIn͕`E=Zc@gds遶0r;cC)_ME3b|b >ZQ}U5YlP)cNj~;ʛh5" %˕H`KJRQ7aҍ6ļNyɲ?Khu{/+5BuIոm(݈ A/e'[b']B|8bmYQnŸhSw*Xik'#c&_e|5p Z*Ϙ`=q7d`8jig^o,tM:iȩT`;G/U1zQf[g+#U@~dD>~1<9>h%܃A(:2egTφQ r/qV)R6,g_UuA Rd' T7Ib,W )Ԫ!N?U4IZ$[n9iDo]eVo]b)un?N~ [3Rb~|U.@TIeUv"FZ(p2f#/'axN15Rd%M/ FkMYɷBw㔕ݔ͍B܌ɥQ1lkĕҤMK2B5{dŘC^gk0vWF|&󰘵ZHlZ -N~kH -l8]G emI360.7#/%`I>-C ϛ_c+ky)[ҤJDn>]p[`z|gvJ+%5S.T7SW]vG'ߣ. _!6U8е<^a^yGlgɿG*M?5 h~J2 TG=Qow2ҭ F"jkI tz." %=_F1FHH=#oC6"T3Fe*E J¡@ &MNғ,*PqK!$B9-o: h4S&x>P"Zxe,;IM-PKLk))]7WW*hȵDkdWJ#{ScF0g?puͫq'ݱb 5X1935%t%F=0ɵ;IF [^K>nO*uw%g)A3g]9 {!7GE(B TFrl/^y-WAb4h@k GAqCjT,bJ2_G2@DUNX<Dbf[QY{D;$CW]=vcLJu]H0  H'zPEԦE> #5 sCNƙw8*O:p~xi]4aǙ\`e҅."_:+u¾ɹ]CB=A@dKݩ/̐M?v]G9IeL^݇ɬK ]ӻL\,?3]~V7Tsl1/V RsM9v:Uo, Q-eϕI4EgJb?0/Ej? Jv E7ӫp.Ž_eզ7^L+.LLn; m|4vn{O+:4qE!4:vzڶtҐB85߄ [jz;3%&G+O_ B UWJV9~ ") y>Q[l"?,)ζf6g;kQv绝-͑tEQdHZfaҝ]0؀G<$>Go03\bipU,n[q8 m* ůٲ:S|b4aƬr}σ)s8  tmXa_d‡RHFΚ1'|Q*z.#1/.zZ4hw֑4 5M؅5] JV{#50X*Ihuvk@&j1^:javw 9CQXDw\M^Y_OF`lsg7xoCkT[U7t5 xs`cLiJ,zf"!9w|s~|Q 3wvǫ ~<*ڂGmf9PK`ż% ^? GNyZ)E>S 7-SeYQ =vKuɺLO kdJ+D<-SرTdKg(@ 'N1bƍ&evy5r $8שEls6;tL1fݚ )%nv1&[;HGH}jT˵Wn,BevnQm$ǵr"^/3)ΐi62rVA۲9~Qt$`YK$_wL<ݿhxзN2-5k#iكbܔG_[=kuoJ #t+=[]f U0' Xeqw^iM2xTECYqF(hWؖzrQEcsƋM˽lðnVÑ0u|^\dYQSX4z$bi~Iu^bX ROV^TCq64r쐂AHskmNmd&mSnAxUv^xNb31wcg~&֭C2ۺDhMύu\ ”rud$:e'DI~=VqvZvv1@[Mu9}'&*@A.k"(1 j[gc5CݶO6tV Ggv<3RCK.:Gy&ŗ?_ы.@2gyB$3H΂_@ezOqk Y.&J3ꀡ 4l6 {lD]djFxǔ58%b4M4#I_t `2T+D8@8b9hO~~*RgډyȔ!t<v&FM182jC{lvגhUuFi#]zR]+wuH5G#l>n"G!dj n[9Z署+'<ooWv=j8K묋]ygqASMjM`0cOGtt\WX=Zpdoi@iN2+-b\莨A瀃M91^ #MvV cXNr=z$)j;t2Ybh_-uMw)rolXf8Qd{G LhIemT&Nm)X5i慀֪3D<~AQ&g'xGaZx^kX%vX҅K㋬ *q }ɛ$NNg x<+PLI1  کS2lWBaX [Gc-zoZɾ_U3:_y#5Ȭh,@Ó?j u :_m^ s>" ʮ}Emztt +q%ϼYX] C|H=xZCJM0-ŬHI5aħx)DLDgK",omMeJQ˥ ](mrl]&߅ 8b64.[< PS*WaSAwIz=NĩʳyA5Wq6_Xj`r"rp2WEd]q /\=CfJ%JX+=˝LPg33=!hr8zbOcF*4DLvj1깍AFSݝKP) $.Sܤtl2EH| B)w+ybmNw3c>\́%LrbV/M&-c"_ tr ]q,L! ԳѢ`016 P.9In;q " 7,./nԸQ5mx6w)P1+)[I fxOz*)_Zr$q螅TQNEWUnCҐTWKΣRN#u=kl/x+\DV% n \D mq,EfwcWMtTy AMn|%"R1W0?L_y ht/K$ RjHrEj>@O{H{{t~:K=Zn7t`;}a468;?b WoC}}~bnΦúy&MhiaX<|T'I\o*}*Я:[b6TPnz)jEgvBI  :>bAg2!6#'@,Ȕ̴K+<5'cmif#|ɞ NeP%Zvgg-KLs@ 6cIo)3ݣ\Ni&ONU X \+)(Hqy aiV\VkV.9^ɗ0$<97|f;5Ud2nf KM|`ֈh{"pAJ뛽R,E#\ZQ?rIt͎Nbpᰰzguƴ9[pQk6(XH &b:2hDjpr*_8TA3B3*ш6i |߁j>M"\Oᥩ-rM"OG[`_aF?'vAT5_b@I_~*j^$S;4*O?oH WV4) )wv̬][K$5Jq$L+8 #.XA#fl<޷Ϸ8<%vl#p'[Os ~P3nG`w;^o Ub@AU\kg@Ԧ-GjRFjqc~/?+3Iy*DesѶ?e hD"6ϻVd1W[BcO8`YҲDyx@݉C0`xZ#jiKR8ARl isX7?LS4oFПq NQ3ޛu)0curkl(&f)$z}/%_9 Q^SXx>tk]J-|λwGLFxg.yL :ZU8H5=lxZ[HD~b 6&sCMBvo毒Bq}> ]_t!~L4*]rT@8°\/Bh~r@yf˽"㙼)}0/Mv1sx dQ%;{Gqk 5(gŏ@祏(?>MIaBBˆpm'KuPO:qO,Dp'$2G;DzUFfeIQB-~%\pe0,<@B?S>?ބPba$l7>|[С'b;Vu^m@V)fjb<90ǥiڨvzxlx`L:QRLiu pzZ *RHOo 8Ur^܊ O Q c FZAnU+֧!Y:y:2!AXxxƌ** 5A9Iw8p9$2em=v﷌={, #nՏ=.g>Opd!XoVH/g `9i5B!]@3A}aʾ;6fp4hKLDRBRYV0 n> Dl#u I;Oq0DޮL?GoB-Rцp{ox3," !SLt,dʼӏK3 q(xpbTeh-F$~÷GZjJz2¼ dH4*2p &{EzӘ ްLbbڝA{8b5WtF_j;XA%G{բۧhSVlj#0%3(>~[zlFNL-0X_ɔ`P.@1{e9(O,&}zL˜0Tpgmq^iE7qc-2@(Fr\+z>rpU<Ɲǰw].D^Y3:ٲ!iQB K֩Do4ә"omqԴsm hvíxd7 |+D&yoa4?.r ށu@v u }MZy0Y~#Xl"/7peI,F$t`:oOKhd05G; LNMKGzf٩[E R)pax$ш9A)q!Юʦт<{\ߍC&-~#0"> i >#G, G57B{ h-+̕ hg4{M?K݆Q=+L!-1IXJފP* HMJoy|/WpG])֕(0};Ϋbv}b1@+^*H=W8;@ogfejJM̐SѽJ6,>Ak%pdrJd:W^nhQKK&hv Ya2g+ }k5peZs2sj(4;zI^MwT[v#˳1km6(~f'"S`E6ah‹mU ^G<3݅<;ً_ʸǔL!.ې.(TpEwV)͛='%Zh#<᯳8&{B9@R ;"|yV>je cyD'kLz,hG#E*_ʼ\/p`_tw_2?[hIӠ[oڬ֣o(^4}(Y4mj/e&eOe4~}6݀}6O9Ud^_>R]9.WxCqA^oP˘^}4Ug7S$[F0(ܸG"Ma΄߅cj?Y' l{)bLq5 0 )c`:6 avF}-t6ϛKMz~s{iT-IUӃIb3|W&b]j^dtxE Q9~搃 yOۑm:Ϋ4sP8 Ka֝;Ӈ*g?npMoh}ɞa:_` ^MzeedUWE<}}F-W~]_r1I-t~J=Z~a2T7r]:~2P'_IjGf젊o;0C8"mo\fmBriRr80s-_M6 [5.oNejY7L+AǬE#F?QلnzN@cߛC &J`"ƽ|kyIܥuȆ/j?b,ux1?ɚĨ;N ĦL$W24Yc0şi2'J*> XZVFJpq(ٸSH|Ygs۶4L$IȎNUU1ON;֟V'J&`x0.:^1EqUw$3F>aybHcI}üUePJ>8/pNQ4vd;ij;U\SoWbKh%Mьյ,8')aU]IbGKlWHzEFCbD~d샑 f'aGA|Zx euɬBAH$a('S}Rtͬpmy&ϟnGt[m(FkT3lD.)IDf4RfJlUG3>Y}JZu81lL 'Kϲ&ԫ]? &P BOcFr0:ΡoG_G>V"wS&B >a2GWK~}8^*1scUO1?v@lmynЧHс~szK\U)Ӕ]MTfoAIF%e&D鰲`6_놛m -z%;AN!gBeqcMm$s;w zcYC+c[K<^GSt1CG)r6Uc局!mPv2`0Ǧ$<;{Hd c*L:RDv u@v Aɭ{ͩ-זsay5=nlg,2!yvEokDžRj1ލQTb.02>z$u80οwTAȀy&4k{gj}ڣAL0*U,,ʈF)Ʀ>Nw!87znOŨ 歓4Y:Lr^7bP2wVMv34ڐk{P܏9C5RqSp{ M8mV+:QI+=I;9`֟.W)Icek0%b`IʛqMZz(Vw(F1΀LqG@=|qdoc|"B`]Ð:vLd(ϸ눊LʖLEۜ@Qlտ &R-CpYLZaT 8~7㼭kpX9=1tR8|~* |ahhƐ ;n?WƊ(C5*yy]s+acxW"HLC3o`̙f}= N8W62h|4DNso* ."~PR؇PrYC#J6:/jPM{\!^O?$⬾CքgpT>ɪAqSLgSaN*j6MI[[}żcGxKr׊Kq*aPL<9t`Ik'O(2'E^N<;InJ 4Q럝(*1hR!` 1yJãL=IPWY1|vg2 cQe ~EBԄ3$r;VoT#7'*8 ~=@yԚ,]&dc]X ޥ&gorڗS=EwOaC<珌44__CY ZS2sε'dpB$+~Rb(= ΩbnOȹOo.br-#"h.aE(3Gn&awu@ ]b!_ɀTjI^4hp+,q"OfV Td| BQft^<^OozǼNv;GL0SL[g ՊE2kmaiu]OŐ3$,}%KfRwc7>ëЫ7_Vd&keNѐ: 2⃡2KB& bG9u.' -fBzoSrԴ &-dqZ(|~1Mբ*"Jw$gwNWOqXY߽M؟m1[oCI~JFFt:.+R^C Br{/V;!{tu"©|Ⱦʃ'1݆[gQ9+J!ŸtDvu$InHKJj"mED Ix2*\mأ+̏{cTa!:us,;OG?"~]qUXSދ%Dpk /%[>Yg HIKK=L'6alQWYg?pWkj+ި(aŽ%W~ȎϖVSQQXm le8MmZC9ih})7ǢY Ą4Dm|{T+U4j41gE|.> ){-M۞ιe^w&¶LKI.>`ϔ^Fu8QwìrAv(Z%g?sH)*̻><{z]"F[dBdj\ֹMQH4Iz`01r-@"O9j:UQ#~j۔e&mP``濍޲:WIcH xd(`LapRdVh&ufZtZ@Wqd aq.)V[3=+ wY#By{nP_g6 (Γ 3c д1nq}6|=1fъ[#+p\Nn܀3b. |GԆtvA¤0׉1.cOR9DۻU5/2=B;({)T2mQ+Qt,~l </iCa#S2f=vm T|5N30Àp\,;37}? ,'ڛ]f'N3ksm".[i`{%%hX&OM酗K^ ъdM-M] BxWFXx|k,E·n~L&Od)m.Qr-ՐC.ʢM*_#boY֖\J2 + y&3.V{U-ygDr~0w^yI:7T]䖨3*SVI;\R; u;Gy / ȚX0vD+E Q-p/5Zgw*Zǜ b~膕GS+rKY1v'xx kLX:pq'5;~}7DJ8S> xdz7r)ә4&9XAGlfNy,g;FMpMF]Ibx7$y\FH[+̛UX38ZÖq)kUL! ÊPXƈ/i? ^HoǕbxϜHrה{`sEK?hHOF-kЙ,qLSs~T=c[P;g^֭ͅY^_l\GK26ݏ qVqu^]B\_$[o/aT{ڗRQ>^jcq(|?'`Zyk| B ijPͩ 33j2-Pd@P]r9+f+EƐ Ky3<@f F+5Yݣ.~Ր)C"RE.&A QJ_qj^mb@)X )FPb`󸶳kBC' fHa=X )ha}Mlgm1*W=6bIͶS(9PwM+/Yu!v&pY$0(""e"o~`Fܶ!3rU7t(RfGְT h{K~J5Ty4]%/혿Ⴟ1ovP |"ѩ ѕivd#ƹC#4vjHqθi`lVńXȺd\$Y6',I!4oGvNa]oI5 yL_O '0srdA^dгH|t]/"QG6D&R%pՈ!ܲ(g|} XuQt) m*$jSRQU2Et'^`783:x-|iاd1=9L7$ǍE=Pr_-gUd 5 "-z vpfFc !O9I7ߓ-p݋|X\0k:&d'3%tG%#jȿXVܶ^(GUx.U-$3}bBV3zj;EGìb^=Y>-|R_7獫G/\'Gj=ܼ)Zea$iW]Թ]HYPS]宻|ʾR"LF۽ps2 24QZިe%\ti'0[i"i}s]P}YLp@])\/ ?R\3'X&XA{5Zb za2'_L%?k?l6e (>Ovaa#U'{c}HURn2W bpB 6 ;4?BY7пXSHgߺC<3RuauMB, G9TX}%K\5dd0['r"gPQ3N`??H6%%H,/ߋʥQĵXF6LQ'nb2 Eٟ<ա%Uf%=b4VtPPcr\V -EWgY]XУLPۼ*mM2 ?Hў*O~9(dڝC*6p|rHce-UU'&"RO:E49oD{nv@ޞQm+;O<UK )Wh!6Giu%a`(ٛ)Zjg3os+ӆġdB} hq]jz<, XQ="H@wը ljTl1ЇKAx"EfyQ5KLZBר*d}`֫2d C &"<(]IS;`EpYugd!nX."jª%e^t(TjGk.X`SHk8q}I\B>Yߒ:{%QvRETuw'0#67APc=`b%rҼ*eS=vCrUclz#A+ôj.zdAn<> mn x>*X1-:pF„_D4KoyQ/IBCʞI_O\RGoxeP7M7ls^m6bN:g7U ՘† %Ay~BmV"=zE|N0O?B߽82CI}X;e<ҝtk0`MHkI>ICF${Pњ[ex fΖ b+ 4n(͌UuNPmW >f`rbq,Z$Q1* z.:jLJ7A%Y2\UpS6`Cy@ӫ_';:F1'zDlFQS :n NX8QdҲ(5gH5l-۩\˛QFdO}+w̡ô5g }ZDQ`I (QHQ-7POkdX%T6L@ < 8qz1B9xl 6BA*fGqۨjJFo_NPy@giqcF`GɏEG氱{v#s`sX1q:o/rƉp(a^B~X|wiv-''(Ĭ(7yoqma^|t RHKbg˟--0j&+q͊q)/ciAdVDd=.t=hxk /0 -V>5ȅJ2:ZQ1[ԗ qd N2 tji8g|8TU[( 9YhxVnhR=+Ô*+Pܜ*WsUn%u2%NXځ*W=PeP bI=.DƗ/y[fC~fNtTO$aw%3tyAAqE Y.Hak&k0=Qm(dNn jq?- U_a /ts07v-wj?]1 ?qNns~syr ť`?v- zu[ q_21qQtA7t;=Z~!bSp<:7al6۳nA:Dmjs!66)3碂w]oѵF;~ L/ۥơLnC^ s}%]L!\>.ӤBрg*f y; |ZV, `&)s}*Gmږ %!`mnu47P[w"5*Z%BOQHUPaL/;P JmFT]4DZANQ!r}- ϙ>f7ݺHHsr%Ul%Ff"x)C{4jnL+ 73/̢zBAzcyO&CsaQh {oXhUtc(5Ɉ@mlʾu t! Sl=嶕^H~?'DPwo "&U-29HR:]&E]YFE)oY.ZU1@eUYV|$7mLޏ*>+(@vh麟owۛ̓E`{;;AA]#`K;E_Rv RhQY'I5]p em2i(T5$NWLAb,`}<{nYqW%QAm1XA`> 9eC`2ʨnbL4&;r-!~ɦ6#:'nayA t҈љKf|8kYrrƹb*0͞!N,o&GCcēw: )"A짫0+E0e.M oORE >:UnJ萿Iv{(\GUUbynH&k*lG\AR6kp(^2b[FzcMۭ#a0 sbQ`S RM$oq.x3!o.NawZ1->W^. dX 2TwRP)e4Yٯ# ݆MwgB6lIh jrVdpK/K8|N!VHQ9VSWb@hBwӶJ6u?'%*ߓ3ЙnF嘉@ݹN eBKUW˝g!r+q"U];.=?Tj'-^xy>YV s̩33kX/d |O rI^ϥ۝ 3L)}nKl|x0iՋi[q p&E0LJrW{2?QSTPp;N_N }RXe,s+)AՁ<ȝ3kst`˫<]2[Njįj Su`y~/%LC= L9@^l1`[! ,Fճ; d/Ufv)FspѕL /]Ua\60llhӨP-sE`t{Vk_z4 O[N~  뚝P\R[m=/H4"9̙둼 Te[JQ'2"*R7^rve1E#9ӊ3qL}} ܋%c=/սd6aNA=';XUYe3w_<:8XJw>oBO\r,axZismt B%-u .kJZOAN`_mjnb %`eu'"֮.[Z7;_[vq sNn+;{C#_hNҢDķ*G\݇/WJ:>\iyݗ@#$ QCB~xǖRfIɔD?>.XzLҀQQJ;2tY92 f@t=th$jҹPhreG=?]vbE֮;M ' 9NH{{*)>TȜR$7 >|r*g wkB19ve'?r*#}ݰɰ(^5ȱIs.ٜznu>],i|Z`:/ѐF,ojc%).FI'}LƔ,'ދjͼZB,PKjG;EU~O}Cۉ7Kw0(c8T>Kڵ88f2hR+n#>U! zcdӮ<}EI-[Np@ 5և#SՊlܭ89 lջI˷)=q<|4`ᾷ4D8BK=ժL1⃪s(㶝'_2p@>FDGCuuN`vAB`ǸCĜRTh?}L"skh\ }'(|~^պq_䵩7ښ R|[=wߴgyo  2<tG;}QMH(N=E"#,Y'p-4ƞqtL2(q& *'14׏Z@6!a93lqq߾bSgm\A׼9H2N\7{/S}Y?p_UiC2S1<I_K[E#.oM!nKRq~`/PDkiDM%Ъa[x>[v~t v b4b{) 4 i|hSҭ 7pHXbmڬY I9y [|G,96A"0l>O';)/Pd)ޛ;q<* mZ'(#M/^]?Yv1T}s bi+ dv^`ܰGLU=݄"r3zO̓~HqnFJƸ6=iN׊gMD.^NXpom_1P9'nQ^p(<ۃ{8OP%i֭D'_d a㩬EFME!zC"7jQY8iLnzP)fX+;=' xYMgceSfؙ(P>yV(R%'Ï&%{aw*` Xo :ܩM#=n,ZJox@lfR߂hY{u$o!ڿ wRJz1 [b}?絸Y:ɳ6)x~ ɶˉiw׿DsKr10ob(W }ᬃp>k)N#\3@WHL\Z0V5{ ws͂}J' °tDGB)HV83Hp9'-*dP4z^1QAҴHUIv|ˈSf駣c-wy>EuBU{>)FZ |妱.$/jZLo[V{嵨f(1ީ^OSZ4f΃VªsJIpt_5XJUta@%yڪ[* 8gkKN&2r84FѝEչnL=ԙ2XqH NGHpKW 29"ǜJ,V-nlgXT=G!ln!vԅv{8ZkMbc"o@'HDa+N0O֧y|T0,ɜLn 3Q2sy0 OȒЎzz'J@/x?7^ *͗9*bd v YNiZ<σ5&=6@zL70Zol|;rZ0dnXθr}e'sMYK{Jw>O} |#em@CX}&pꢌ18_kw/9r{TGS wՙLc4521ssؖ()®G^1Њ^yW򭢸*tH0X=t{,Nω *뮊ڀu'葎!kp0=Ŀ(шN)f,<[ *-HjP͒MozX{lUʸ ٣ѷ:prLÏJsg>E bυ6e((e59fZ"SljjqZZkK P Oz|"jM 0>e ;]B`Wδ>pʝ)M 6Xr*_/3 nKY!ˉ:$=kȥkͰtbV("UD^ieߔqڃ'cQh-e$deƤM圞ڷE SᬀyPCy6.HWL_rT~ Zm˲?KyZ3-MQlH3]`f6 \**Й0l)ت$rp+/eMytNTiM85MȆz HA$Sȼf )6#>QĒeu^Zwld3 ز ͑_GήeúZ2tb_L h^Aqj1OYL"qQfWI Tß B{^<1dׄ`,mx:_VV33.N7n.P?:εAbqSTKz]uD7XJ4ܪOWՙbZz-t[c{ڥԄ1믴nEݪ-RU*֟bO/ߪҐDܩߠ`ܲE79B$oD^P F3<܋%_q-/R6:kLR$JA2pýQ'o)oESTiM̔hL/)T*l!ǰ~̿L^veS-o^RoK{g" O wc]P.GɍYԀ`Z斀} -Pn`/ۋzm@Zgǩ9|*Q݊ 7P0i@@6JRf㜯lu6h4ِ7S"XC2OEb0Ț|^POp #蓭OqX)Ib3" \;o*9N ~' #ϪۮgЀ2,+`e"CL6u,C}BjfG٥G@YkYQ xtd5-o@Nz+1a!W}<4b  b ޗ7?r6DEm2xSΙ<;-9rMJ!YzuBr^D&ЩӒbW2ʧcc^i)<}: ?8^%~~[${b\\ Yv"p98[Dha%]d叜͋pmYjKR { ==.UVE Z=p|u<֤=h;FlH҂^#` ltmӘCDMK%0 tR1u Zۇ@3,@{=1)CcOm`ZO1}"Q6|fE@zϨg!KxQYX… f]CCƺL=qb3y.R0̓tuNQCWƓ {cq( l̍KҭkFFT]&@d1 %z,$#8}- [8~c`.83A!h`*P߯GdJ`d=ɆTH$xɰ7u( a"&JM,MLg0,U$,DR^/#v*ٮx-C!R #RE#,5*vW/ xQgoHXQ2 Q QT$C ;+vM뤾Ab%*h7U/>$:S4gA]jߺ@#Y֍{1В B75Wd]5L٦[4SS{1˙H8a3aN"d KW( D+$wuY5V/@-/y6H!@dj>l(-@uM0 Wtv8zPQ`+s1{1M3fj$%ʨ܋Tyv=MNC{V5J>XYVĜPhd_[3ʎ$²ZnP >%M* `5qIbTGgy0SʫaW2nꩵܟiH\4^3t}嘯'6N?2:;Î,&" ;(u}gpP|V}uG/XOG:bSbA޸h_~"Y4]ܨ|.I@h7zHBړJc$>AJjxCq2,E~4\`7;n{M,ޥATbh:J^cN}cXL@dv<þBm&%W`n/2.H5e&3Fbzkc) S8f,Ύ.z.ht͓=Mٽq8)'>+qyAG zLYUsj[Zq4d4ѧI(73T3:ySj6M6XKFs#v|4A- V¬*1ʌXË3Ńgq0#X+T=@BԄ ꦟ%@' C> [z_7OA~=_,Ι;t^7r""iB[> .I/RUaw?)YKx~.rayV$w_Ɂ]KkuKsK4L| eq>\p57h^˟N;]یJE̜ #tw:?gs&bBGOMyP㽢e ogJ[ҵǜ ~='c-,FAqywtw)Iobt^Cx)UbZ%|!9'ҤĩүiG,"J'x_PAտͭ|F MBu*«Bwڱl|ofbpey徺4% pWԎ&TMʹ^bgʴne&M<ۊ|x64e/@oI̝Q `xP,vi&uxÀg(0 40qRxliLLqe: |K"2ѧkȤ5nNnRVt`k!"+KhJro S[@cהNYan84::f4:9_ .pd%}m[_JV)H7.yӒ3$w&Smwzw?4.*@a/3џd_kjrVBI=|Y]&*ݡRsL$46_s՚71!W=L=).*ݞ}!uY9F(8x/1b/ TA~ȁ#%9-8kZ?sIh\~`=6XC|{Q)%hKb;`b ^+MWW"ko\\ [ewwz&]"л՚Uߨ2uMP§Qxr]"@b6Dn ?칔Pa߄6ekzS-8BABVӀ]:C.V:xh7o5Y<d֕tJGKpBr4!\ &PE/Е~TXRDL߀݈*''8K!೵Q+ɔxgY({+&! 7#K4S;C8dQAq:Ů۹~+*Nۛn$xT!k1 uW u% \yA(m@߻JJLMe2|%k/J Ojt FxfD\^dq!*Aڻ_?z\p`iHG ߔvf  @>'.L唧WN0Kfn0V x\~tId5sJh] '&InCP Kv*?žsCY|&Yk0wbu“ٴ"& )HXW9/~xFX׊%jhxV89_YosJ&;b%U/2ro.GUMU9 o_\u=RPFd똻 |Nn, `#k֠.e^)Ƀլc9 RswLȗɇf\@n߃8O~M X0ӻ#F9PYqunʍt8> 淋,Wm# o 7 Xj.dGE ȗ\ds\=40Lߔ0jdȻ|?Ȣ攙r71i[L!I9g8a٧1NG hV`b2"u.2& V]mzTÙ JS/ N?CU7<;;k8XjCN<:;xV}KyAWb7) #9 9 BTLm [b]FJ-[E> wʔ#g,bMsOl;ͫ?QR"T@SEմSϺk}lg佭_rSLekAA(eXM㢔ajVlgׅ[Ħ%5u8x#n`hg;,:{/emxhSjUp;ռޣ2`? _5>D f~T<ߔ$5k 'bnHG_`0qS8bf;P*,rrQ*>N X*,\6\QԊ6/!' 1Me&"r1Nv?~ H*%41 2pSȣ \"*\}q0Ekr g5 .-~ 1r$EnP9 0|n+3fjr|帋q oAόEo\H%P.(+ϧ5y+7,jWG)7% ݔo#R,K詨vg]vmܠQ̰`S-хFe)[̈́k¥8L0z086$aq#ll0iIOP )Q/ Ȋ,˖ڇhEkڨ9~vG#M+IOQfB?F$ٞ@..ܐ-5cY6UWSkffXH ;+%\ nA./&KԨ~GFO24pIJ(l:Ә5uІ>b2؇T>ܮVm+55oxkn0ƹZ>e2Ⱦe%m,i/'TJ rx Pw%$mC]I/N;=D ;54fW?BOܽ 6OȻ-Pzy' TWʭd `1D aD4rNE/{s9Ǝ3uת"{ Iv{ dCr>Cy q=Y{u]&uL~Q OdQE F|mL|.4G @aGrviu)ZbXQs $kۃ8Vfc> 4+ ^sz0MŒ}䥴m d(Ir IZWlxRǎK˻R-E- PR4g_@=:"sQ/O߁=TSc5nE8V}31ŋj]rր6vFۥx˟XЎLSG\8զoT>dP;iFnDR%iVyFBưokubvR&LAcu{Sb͜nwBPshHGYGmҢBdfe!ԉ̺8n;|hɒRh@޼84-!]G2CqNԕ[&?.%kr>>Ez֮tgl_ vڜZ5r*Cq$@y^1#ENy1.z$w&Z_`c )% ľV1'0ĻugČNf(|!A>IFbbMOwMBvQaV@G`9U@pfrfvin4t2Wo\ uKf@(#2 8EϿ[ir8 L޶?/;vY\fQ+nvQM1ێ^n.'˳nGQUiv΋zͦvzs尷q*MłcJc5Јۯ/g \X~ِZSƌl$lSdUCGSs9 >|}=$ gꐟԕJzlr_p Q;[ohЍ7߅X 7YeqfZUڹ0Sjoe ZK]j{_p4"JFP G fe(7\hu,piK `,R)+Z> *0s WF\lȿ84on]H Oٛʧ۴)0-4PXb ]ʻv`"Ӷ߄ַ_J ߺ<ǯu0)\<ٖt[Xϣ]8q!sjY~ K%5IvM_T;'mT p\"d2c3(LVZm/|d=(#_LId|I♇#O_3M˯*V8c#Zq8=޺h;=eD~EkgqD1p6B~F+D`zBAN2v!>o  ,QD|cY5À(nsۯf-ڊ>h{5dU3 5n"e9:c\6[-67G&|g5Hx&{m} _6|Ao*ԖtƗ_9̉ٚtzr^זPraCi!J(ƿM죔(lre-K$Mb_;G߹i,܀Vm4&|Dc:h/V_["80i@S8v+kRyJȹD3,S~5m~#TG!k{ܜ r}tPfÚr%OQ À\̙>ףY†mVH~גb ĦgE! s5P/t%xpCro^{i= S1BZӋҽzѠ<3&t!]fBgJU4.iڈN5mPlXNsЏQ;ԉ4L) [f ÀWuUB;z jcbv@ףqfgc{pD7٣ɐ"=aUgÙ'JtC=,I_4c Y鰠'Ԃ]"#Up b`¼*85>4 YDSг$ u.j"|ۅj8ڊ2NT-@;M aICvk?4d`XM4Ϧ.U41W1skY=v-?898oj;31$C=8%U:ӈfYLGc=Bd@ ^QAڏ`xTuhy&'wq͢cd\+P:]NQʘ0gOrXCd٣#)&pjoˠcܑ'cF=2\*x`YiY;O'$QIMY_eo$8.Hvu5rtqDǻ26Oє*Ұ/#Cz!ٸ¤Hm%)M3=}7!HTQsl? ]E-%m[۾4XCvư( +\-lۅw`kxQp;cNEY14\gf D R.-"^4.j-$\_Q?|AVsE)Ac ͷ9tx.Y r9T :7bs!C4Rk%A⵻vx`>e}Pd\/[*2 '9yDwU gʣcNrDx <Յa i{JMRqZ"q9oR37B릃&cie3 /K349Fqݳ@NrW<JS9uС6ߊ@K'z s~ԶĞM ]J'U"% O?rhNRRsa6~YN($4okZm@3*N|yљ(S7Am[B l Td&0^7\QcޗF8 D<# ,L s8v; 칭dnw1xv'82}g)ʎ0r({S}}wRA>Bx"XJ^*7fEܠ`qbuh )@E8w;oԊO3 (I11} KkRI\ ׅ|΅cbihRI E9.PSO޾/r *ruw&7g4(e3[fxeq٬o5TYlh_Vy >;@v튐dg֮‘vZro_޼W6E ׫S#c|gжF6Q#)J8cV; `htVla }b^_RIFu$)n҈k5B[&@eR0S O8?썱0IcC䤼6\O ۂ߇ j_ hxHU;e.mO&/:+e ]&_'`t`etk|~*.1PyFQ?ɐ A>:=:I6E*b\&0@-f'Đ* hZ_S2C=^]]Ű(HI%pMN iR!cekV e8plǝtkt6ux,Y !P.+.MZ-<Ͽq#!5v@Zao')]99Y۵Q>5 o0g4(XcO] YJxgM柑,2CIJJ5t,9G$ |S䎔xۨc}2*[hv*9@)ƤPC?vVF>vKxQ%UK)\t.@[R8QKB2vON3@"tJ1ЀS#zӔ:[sr!J9xHhD F[+tKeF#@V;C."/}T>օ iK帽E&k Q T `;PGV` Dkje8N?s %E(K8 /m@|VOz]cR(~r۾)a<)go*ݼr88ݯvc+75P8WPFlҁFuB{z}u7igUxm+S;HjDdW-a VZce %.YoY1%Guy/ԋ  N4>|WEbqY~UJ&D!uR1A匈u'hPUE!Q0T:RX.{aJ`#%= gH'[? Dž.շh@%)O (PGz=8kz0 KG fNyzJlpX @,JI0 /-(9IT0rLk؊QRgD򼂈,iM79eXRS}0gUFP|.qŽ+$ 0im6hWV<"U8H9H6hgF 5xHC?y\@\ +`eoS"(כ<ʌK|Gח$r-d8&U3iıXY{ jc{e"^+113f-!J .ZaZ2ۭ.c} #dҌu9 (:d aiZ[l1/Y?a `Y}[ iP-U"-8,ymڈja0 $>ΤG軈1(M&nհP/P|)09'3CeX`V}ai$ ?Tno~]lء،Hx%@ޥ#jYu@CyތC2n] OPOWᰲ(#xk;*́˿F6`&Ml@O%fs tvx.ڂgE\~֮`MF?:R cG[ VTx' C0FrK:13|k :sm̶~X;V9 ldE_`f'<1ZgBr ;'"8rNzu}.U){~nA;y*oo(Sg&D0ss. 6>^ByC!?h< ꢨ0\h5q&);θB+ \ve՝56#tMcEr?l+Qhً+K 35fFmoL) I!(}g|51bMZ0*t7yYKFqt̻ 6ItF?F>:C%~`"JtoE I9sO T_p-Gt(J3;% Q?frA61p{%竂rOa,ik,|=3ǩ}#+<^(`?y~Fq)s|hDBg{f3΀tsy0 )8E*F05#!/ORy %z-6ܣ,EZJ0oIh8Ucty 4w0 'yM Hdl:ǜeu\9`aֺxO^b>9>BWY?`R 4 I 0t}fK,*;Ͼ5]P}(جTY=BfLZD?}$\m]z UBa.׏p2!o 9mŁUvi7|dO>:(qccM魭&D( ef4qCHܮဗk_$!lkZ^al6LK{D9 m8UK T(CV mN'3m *ڲ)%rBJcOhrec?@fF:a>ȥ ';baQG< E>;Zn7 / 2KNڵ]B5ٌ kk=Y#4i/<˹/*)L**MoQQVsJhZ X(f.V 㹇 0N*zWF.&E XHkϡ#$5~?Ĥfls.0z;`R |ݾC7T AL.CݝCP2"`@{tZ+l+; E0K0&]99g 'h.~_6jXNQ?qb'] ~bQo9x 1Zmk(U }NS(MK Cezw*^*1ێ"yk̅@C R`;",WSLq$*{eȊD@k 6zMc_ qN+#i&rn gYj7X)짓<],0LW@˨[Ɍ^ܾCv:<ia]ꅹ}X)V@bWqx^xԒ4;؏]ë*0N˥MlL9\~p䷕ex;'Ob`w'JH2 SZ+z;[gsD_ ) #ε_eE|t>_bc?\C mN t䱥4[ cLGŞ s $A"sA~`T&j}˘\kgY2˨ܸ7`q|X)r4w":Ҡ2 n [aH2$ O ^k!d3$ :;گ,]-}\3)fx >؁z2Z;_bg hynFX2,랲N~(`nGGJDVg3pT/ 'ay~̎`)$+m;:jkyhWHr)V?yR͆ ]4aS9o5.fń\fgQ'E'bcُm$askv}?? gFfղ;(dy0ˏ7޼BnwtR\5Ѽd9Jy^5w!Rv7[?IkX;d&j;u 3c Bf68n$% aDDD!ûz_$.(<Ɍ6J>Vz:AM"Spz5Mi3~@ t ȫxWOsG>ź!8 ꃡ lu$Pgg].~Y?#~%&_wTH J´N0ˎel]u&fFldh'Q'YQ5A+TWarl ?UZ:;hG/ղlLHR to%jY; Ǧs ¼7s)f==e2"PMh(q LU>z\1Wtm@4rWB&88UZeE|\92|sX2ST}LD7gΡ:BY9>oBg{1[: Ԋ Z׷r_V\GҚGqlx3A$SHݫQ#5N2'6'@?~Jx0te]qBфb%1 dj`f3O<1b1IO jtS  B O9 gńk,(AIdGq{?EwIG r3kNc}qc_4-\PMKgN.5(SCw2kxl*jc6OYE*QiWC2}TsHsK& @v- E^wo{ %nɪk`kms-FVիc42xXs|F0wOV &SLRϥ"C}=oH|KsϪ_/uY&Tfdɛ*2>aE©mwWGJ"tp&g=jOw#`*>TJMMq|@/l #Cw`Cn/BMU8Y1>3>xܭq.~9\4{B}7k{75~@]۝3/"]iq^:LXEBXwgf$QB!A/UhXZ4[,&c,l hP5:ߝ S(`CP:km;QOC_:%X`͌AfPD$=RIE>T+`S}1S%\+̱\OW}Lv>E[=a8M!ǻΰrЋKJe R3'4)FU~o]twEEo#JzT#rUEy&cCO b@:+x8KI_s2!+ޑD~f\9٢^?];3r*pLe\s1_ ]LJ 즤@0hc&]% _-P$y{Wlj4ݴlثs6d-"qF|!mڑX֩l h,)tnUr|el]S84`е[>Kj/Fqxr9j#)vzH.cCȹ*'zZ# uڂ- kIVbL%ԩS}GͯTJdJ{tu㔜QiAᇠ|)p2UR11Nl&̦P[lHRsbY6. QVaQUr~'}mC0&pnZw, " A`uDSM^ \D8>YFsuyuFCB?-AW+~aW 9pkM7/d; ){Ky"S////{`͠GhEy¥4byW߷ :Ǝ0g%yAoՌxa݌*UAdm@Del~!}hܿՈ\~ R9I=sPQM$)l5@pU-ElHf~I󇟨HZ 6Zck<8JƗnꚗurʮ.P/3Z@vx׻ DNZOd7qe;Ut[3c*//˕?_۾(bq^>sCYBs3d__7}ò9c{ ={zْ%,Gi[BOkJKl^͈]|S{+NJ\}[Waꩤ=ÏwY!,Qrg+Ũ1]-G\u-RgPC.>|q<4B hعх!2Τ۹?DYq+~yƑ .[W7 ӜA:GvWcg@foE2pC/\y!!09c!|joTQ.ɗUL/ۡ!`?\cmN8E dn 5O˙q+,TAB"p&SS@5qM&x`NY(H')υlkl% jw|T&~Ğ!Z1E.Ji:e cUފ0*Xe}[uH!)*أOK:$$n|;u!uv7yM0蔠v$RBJDf7ׇܳks$JJΙ`աfcWƿ Խ[0Ȇgk-I)/ |#R5P4x6= +eS𒩳Y\H /0=菤:Yo|(zOipΰ QH-E:V<gp-Jޅyۓߚ5eԧ(x8E`Y]]ODzV JCuZs>~NB _@ԴF1piXWNE_H_#bőm@lV_fSil̓ROKQf͋l }3M e\Oا,5{+XkC<nE)A8Щ1}; /+EF,z &#)iY4۔"I^ ujJ}Gr9yplp9DI![,:"Y>n 83#}|i:~l !1߄;xDtiҾ{gl zH%vJIm-`YaO{Ea5rt ֨~ BFpiƊr0 O~QW/*X %s^{n1N4_o"2f4Iפv%?%,:f,)n=WhNn~x;6vE졯XNٌf9VW_6_ ^z5Fc=dJ+t-?.Vj}8_,ḸpG&{_1#(X(lp1Iq=e Z߸@ۏpED+,Agc;yR#uwAʊE(0uXh~zv~[pUa1D/ŐʹCN)TW.R%#͝'r'f5/slnD`g^Ќ&sҦwzLمOs$'^-5oNKΠ>)UW|h{R[GM?B6 _",I#.UPz6n鑷0wmᖍ-LQțnY~|lMƩw|ѣ~W[Jsjn#h7ЎG*fhfݒ@l-[+h!!XùKc3E-!櫕b%|3OJn.](VC$y='1p5)Nggm,*'0e(6@C~YlOoKa&E^kiYB`,J-1 MR&QZ{nPOL^B{|T?>{Ezђ4WUDA#!U Bˡ]ثb?$4B*8`wFʔȉ :aP*Oi!drs >(D4+Q%kWAPpUj1˿JX}f ڊ3O-bȕ h_;:]Uatmngq}>2qone67R^$ɽ9s%$Bmz0p):"!/^ }NLoB;M:˹(J?xD5ČnѹΆB9XݰzJѰf=*q×gFёU)RaѦD>g9({K13\غd/?-:W(o-$.!5=9}%H-g)gb~|IhUC+:)!_x;^?zIC8^C?CKuq9ټ9U5|0⏥s&/ dhMDLpѲ$pSF,d8Pޘ=jL~˩#C\ѣ/g#/M'{)ѩJY|y@MɷЭ5;̭uuvdd0pяђssi/r[֗##.6}G0)Ӽx_7 }-&%5&k;!dE:wѹD-u)kRS[R,0$c7WPuV 2fG€KВfu8&zNtbx8L "|y4 "_5$3cc_*;n,xkh0M4<b.\PwKO]# δNɊ0/n@IY{EI.j bUOQLRXQ2oG_RnsvMiT.!0ﮌ%W*R.v =!r؀btLb'D3W#*~Ex.y--;1bz^ݠOIiRܓܩ4J#^1&{wQ$g6fMg7;!&x| vV%8#׌5x!dCt]Lf#BnlȨչ=%l:Hљ֍LyX$ k8 MB Z*#k\GcwD8>&en!IBs ~8PI)^fFWCoc1a!,[[ՍbsTlp/՟L}l])*)f:eWj˵l["JPEƠҽfP%^kxi24 QS1Ef<pݍ :硫_X2_6ph]_[( ۳2Y@/>E쑆A^sGvm^]W0ӻ6JA A`ޅ݄fc/m3}4_EGૅ;K9VNsR]sGė6, `We(dɗ^LB (p7&2^nߌ~^8!`;b 軓m&ʎ:;ffbpv K5͏ٗ~X5CN\;:Hڍ(^'u^DCٓX'0|dݦ'h<kb.$xo%L܄wUQޙUXR#^c9/>9`AĦ:.V<;,g.MbQ>u;՜#y"]:d4s0A+MbPyX4k;dYDSRobWmpA5goFSN9gź=.#8JXF5A{b,VmOTTx^K$ˍbҜW5&b1j+96: 't|#RoB$ vz7f_!G5>oQl싪$'RKpؕR:w6m|U߁$Q{:j#*k~DptBM.U׈_g{tx(eY.5 W-Ȼ |p'\ xq!tިb s80y.0tviɀy$0BחeЏLdX8kZ>w;0{$5B\ӗ[68nߠq8̂;-|Yʃr`,B39^]g(P[>)U ɼyGLu(7%|z-U-E$vWt<9wS+8c(MŞ+v43opgL #N=Ąt:.9Z^DIƗ.Hu;)D$w¯BtRit-dC?&!cKXY;box`LtNJF*+s0xI^g[ܚOD$yM ]$Mz8Rn͝c(# ,ϪN, ~/&O>k+ +`D9WIQ1S2J/\(-$ ?EJȶPgw(醡V ah!4ݎXnIYs[ <>=Z6p'[I~H,s8ƈY3nt~(~jzzZXՊ^g!uUEn 3Lc]bt$O@S{L .(5Suh/ak/ۼ,2 N%5[sd0MCIzYS U# 3IޅwD4^B8!۽5`8wle4Q;tMx&9wi{W(/!j\-^H&3&Dk]WfR|+gi<*D9Mw^5(XJ 5n[BɁ Z- V5Fގi.1&ؠb:'srew?|⼋ZcǴ"+֧:l2Y`Ru"g,|J"}e tB6%^r: +HǾT񛳎zk#Aw\ZIMfrAk/M15zŐ]N1*!f@C0(9',yKE Q_Ij&&,k< [٢P) C9Dl=a4LJrkFwm4%W[=} ^rpZ rz&bG0ֱ=y FQmB>s^*C:AjpA0K\I1Um8J$2Hj]<):<<uI@ KECcQJ u8XyէTB $Da48?.%xy"лg]4>DQ[?N-d+<Zwˇ XZzul_RJDT46e^^^#xIfz/':B5 /uXVIf[Jm{ C|OBCC0MqP|U,<y-^:C1視6B!I F]._h$ 8+z1\:3hbP~@yR8|~ӹ/ȎP3*4._p P ŏd 2Ec񆽶Ww7 @쌠9oEEN(zGfujCq%!1@=OyALb'bk]X~|&cDݤS'7PLSp0QFb/6닊&6Y[o]@ iq< Q7%+zυ->,IN?-yF(jCcW/EXw)ZajKx\TCP*=JH;,&Z s# IPԌߗ"0Ol>?Afr҆0rvv̂LJ _tLc @b= ;zr6_w&yqe3 [[̭vkNUrI7)ok,~'09h쳽`.f1h9w%NpKhs>A8BqDpڄ9o)t"Nkk&D5/`?Uw1͡i=K ^rEV~K)ǎ`W_T27 &T r&kIflfoLE@COBNzYdr,٭X!8و c/^? ?@|mQL9. Ţ n3?9S'pbqCp=m*I?L;_ ,TqGQ@ M}a|v@<NxwHõ‚RZf:TC^)'۶F7x Un{~'cT`J]Pм.s)Jk !Nv<~Ԗmn,xB52]ڎ$լ9oG+ieNc;9F6ؘh"rĝTi0|eRY!lrw SBC]vSHp2GNӧ¥C*v&B!z΍Un2;%<|e{bJ:s(~fhQEC҅|EڠO{۪[%.=Vӵ02&l=j/Hec+-1V |We#_&q@}ʫ*B81(LSGtaOb:;l#Om@cǴ}/F{!ZV2.X%Qkty՗. ELfDb'VMǁ;]&kD ݁Ϸ.C;>,N 3Y7fr̶W2chs;[݁5/hҰp|py'x8)K# i'$Qsxo#vns_[߉U!uΦy,}<־SkMT94h D>.~ _腿dF)jEWJ|  eE*W3Hkzc ׇ.a'd! ‰׽qVlnjh 6+<@ݦ"t?ʭS|D=<b<^eDRv1ZTd*Qy'NU3ӽ`B&Qk`C]Uq*փ9vŹ*J<15w\