firewall-config-0.9.3-11.el8 >  A a(U]Nq7.5D4ņ%?3`,1ODRrldcP(]6bo7NM\$J^0eKw4-K{k" µ)j|Eg3bH^۟P6'ͬ Jn\7fӁl^HO@6٬. bJl1֛%RM<_Gkv>pX$j?d+a[Sޢܕ9wvY{Avz-{%oFßdi%mua3(à5W'u=˲U gQq&-0po{j%h;-Z+N|xNߠoʧq^VVrFz؁u3, }*Io$݊Œҏk9 ęTX'{O4(\h]ֆ >D ^sl#>>()T\zޔM|r`IN 7Ds5690cc3ddabac07b91480fbe8ff11a9d063107d5e7b8513cc3066b2138f0a3be2b9e8415401272fed736be0fb0038f9b2d85b73ek\a(U]MuKV m^À PU,x=-nTMJ&#oߛ[LyT%Si@w־F+f*kA @Z7w1wߋB2t7!y]B2e7Zn|kt$DR3syU‰}5:/XYPX%xKNTm ҋLo tg'*SSUuϘD:Gɍ׉f#r({J{. tmko';±ƻ`ws">p<%?%xd  B (` |   ^ l0P (  ('809 l:$GH0IhXxY\]^ b xd!e!f!l!t!u"$v"\ w$x$y%%(%,%2%tCfirewall-config0.9.311.el8Firewall configuration applicationThe firewall configuration application provides an configuration interface for firewalld.ax86-02.mbox.centos.orgCentOSCentOSGPLv2+CentOS Buildsys Unspecifiedhttp://www.firewalld.orglinuxnoarch  m ́큤aaaaaaaaaaaaaa542b86e7b2f4f5f32ff4fd2f1b4e0d8e93f5144a9ace4e5219b21a5f8483f3cf2b7c20a701682478e08c91d84f767c054f40368262a9f8bc7fdab92cd6fdeb1d92654f2a9bbb1f82ae2dacae50dd540ef05c6be4894bab0e7e1588ac1bb42f236d5b33efad002f15b318e63482706e01a2b1df6ed9b902970374b51a7234dfe7f06bca8b424798b7eab76800bbd9c9b6d8e31cc2615c0055f2e49d221c470eeb7f76ffea9100006823452188c954696a7c9dd92d6801937a23ecbcea2ca0323318536ed118fe42b6a27c94891454fdc709a79d4e34171048154b26c3fb2c9fe44ecf3ba61c8daac7e13a258c9bc490dd6692b0494a7f83b9ef655084146dec152732f3501a2b9262bb1458713f5f5a980655f7ef5d48cde66902643f6134bb4742de1cff244f46065694258388751f164866b9a8faaa6ae2494f2cbc5aceef511af9a194fca0292ebb1458274d5d874e4ca86aaf437a1a051ef6cf721ea70e546b9c7b22d21db4f44072f92bf8b71ed68df0dc8ea48a071e15d6d9298c0cc8edbfd0a863f55c88e29b59fa5c750832c235c1bc2d1f18ffc6804bd9aed783b681da605e96218fccdb19a26bc8d1e4cd09f6c8e5b53c4759377dd149538f01753brootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootfirewalld-0.9.3-11.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-11.el83.0.4-14.6.0-14.0-15.2-14.14.3a@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-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- 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-11.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-8433e1759be2b51aa2b263d4d6dc24c566821098d271aa08d25f9addf6f198091?@7zXZ !#,.] b2u y-iSqinoo2ʢ6Jѝ9|Jd[L|XO5lWrp{gW)\̒g R ~1:Om/PT9]7RkAs#ϩC&tDa;K5|Z[ͲPB {Dԍ9m,w2꫇C# IJSyE|>t!V."7>pPR%R;}<8Fߨg+{k3lGh^CiPjKψ( 0p06[9ӻ=~bGxaey1(Dp{\%j;'NHL3?eafj6,w<{a{&0Z 4|!q*ji#*@`B$=(Ciy1A-= P2_JR:j,@.b8Y. ]h:,ظ .+wae%=gCtEh#j]@rQrxȃ kʠ׀ebF}uKsFt*gRWDHhIp62 f6Mj0`V,SWx}>[N3Uú-_qURI$(8i&S8N|nLYrrFl&|M>HM|($@F5 9"^k4o@B\t58) *:/Bt N ,:RLUmtd И)^&*/wd͐.74l:pNbj-g sáfۑ>Rk.*;A:]׻Ƈʳ6UD2iYU3 my&8"/Y鐞 OvNnRdz?om]!E-nϿnJM~2м&TV,2k6gKpTNVlslpnA̔fl8[Sh? BOӾO](a(96[N1Ëg(1NL9/&xT@CQ^2= ,Ymy0d*F˭Twubf~QRDf'3JX9>wۙP)0^ΐpU Ji$eVOPYiIzxH0ox]4[?Jr9L,m 'u)^/ώG# pH>ԴuR.!*s-mw#G@Pj=:B"s=r=!;D7%\^k^P Vy~w} QZRz]r{t$EfK@ЛD~>@ȯ#@胸hEBk攟 YԘt>$f60zg;@a E:xa:>g=Iì5ss6k:/=հuqT+"˓IN0LhY^ݪ@b BhfxhY'$ۀ0 (uxMB`Fty$t!v3Ƌ$ٞG_>  ԓo{/E'N&n8$t3 oa .׌jڮn0{ʯ&OFx ]DImt2Oc o[0Na3/hnX\n NI]{h\/T4 X"c!t gQ*=KQ?tNi1(OȨ".3XTbd#"ǚN-ZE?oME9/~Rde7 7W HG O: ŪrlņuXvυu5 (pLm{(B$5Qb73`umṮKR{#vأq 4r6wq=W2B -vNpt,rp (\48*G?}I{;lRD:ΟdޠŞZeol! יCGlSדsa:$?q!wMO ݕf^l3+XYVvp`oȈx I#>6 `ʩH%>g0TjV#xsP`[X{l,:2|ܬ >ꄫbiH؋Faf5n tS-~c%Y﬽[/J(v^90&ى@HVM7Y,/?R X(&Y@9|A% ~ٻC-6!@;Mްz4ҹϋ 1u1J}sRbzxTY␍q j, Ͼ5RvtD$F'D˰] obph\g0I)[1[,#قM~;Tu@YxѝP'd OK])ѹ3#o7?JD:9-ɬI_\g߼IlѦ؃ܑr~2N?D "8#t} ØBv4:$5: s6ZdlW^Jj\: S1*1qH-b|z4-1 φ O{Yv%냸!aWJ/ ;DN5 H-`xu%gܕܜ@8 ]d'~ dL+戵`~b; U}H(mc'F 1 B.%~Evc@e|:uW@vMwBPDIU /}.cęŽ>YW`o;8#)5վC$Po͆ \ى{MܒI`_A(ɄXBՃ>wS /@`d%4sx @kb9LN:{~bU,#`;}ﱓN Sp,@d͠fEgzĩ 5 uXHRYd ]^tod2JRd̈ތ NL*77@ '֯i 6P!TL>f: A!n AmwܪwUGKwTLZ)-.AwjP ۸\DEt}K/=ɿ~~ODZ\3kb]Ѭjg}}%;c+rpֽP4uvI NaQiYF~*U0]c*_3!!*F$_W2mGq.]ͩx"YʍBTz A5$)LQ˹肕fX QAI9ѕ+-2( Unx,뿞, R=k %◴CU7CzުB40 5یt`&{rvbkjqF-qpz o\R!y0-%QQroB7)my3ɟM߲S dH 'a8 g<-m}!˅/)q쮨)} T2Cxx<-;IrSXJ~7y}s2ҠhFMPXA_7ZXR xYu | "kH泟ݦ#m.@ok1x8h#8^Xf?O1ãaHNeN@X$L|*uVA||A1!ɬ((0Cz)}n̾iC֒*7eȥq:Tcؖ6fDIfԈP:C2}1ވxb8Lӎe[c]E*uX6M 'h4[i27>J5(hl],w"/`kv=hO(Y ddw,R w~M"HDN.<yQؓvSvˇZEÒ+Ӱ-vDHZƪ@lEk!9 Ð;Lʸ5iʹ\ЮMjsIMߝZ[@=dAXZðSFlrvyĐo\Oh?!cG~jD.}IܭfɅj8 ?IUk2*uYXѹt)kvG<*2)fk*9UV*Tb{*A )Ǹ$7V1CRCg]CLje" 'z-{"68􇏎$=^,3 1`#pu]1LlJ#^d=-UXKJ"x Ҿ>UBHmf`"6ؿ[ 0h5V3YE93nӵǓ1M7]OvZ%3#9cV ҾAa 7-Vy`Y P۾ QzFnHb-QOүhq~/"c2"5CH HJ7F]jsDsr݋"o#}.KMq-M#.i Ϟa={WAfBr Ľ8Z>",3f*-aRe(xEl5X0/v$HrE9w/9H ˕ *0bt Y4~AdžVq;~A y(b:g9_ōR29&PR|ܥ " <% #@ނʘĞO[ >˴ yďZ LtЪ=ܸ{k`Z`w\7_kZY'{Q#~8=؄=&:FvKվE׳5)X WtU?X_>NXg()99=y`m2.&dٿդ"mVڹE֨ N\AFٙ[Ȃ.u7D %'[5B*B<&ox(c1P8VNʶc!K=\ *̟N\'Ptz%ƍo[ ~%"-E11)iP;A*)3A)`U'K!X׻_CЎ[JJI1IfgidRɟnTHqS&e;"4 Й>m2L)&E]Dc(vG;sa  ߎ'R7+Zj7‘Xy?wzތCa]c8vz Ȥ`hQB&|j8ڿr}iov%͹S:ûy|dWA/x^X*'PGD}S$Z:Q a.5v3\)a)ǀs1XDGeH7W+G̙ÏpJu P`te'5E*uCs;8f^ҙ GҘhU3t|ԼiwJ9Im }ydh.Xr/, /'cAeΙ>ힶ 0TXo0.gQqAC)XJFL3)hBAX{ 6Gu?<<.1^wUgAPZ8J:@(}.uXIˁrhYbʗ=Ɩ[ Klx%ÀϓXaԉ\Nƀ`Pw)C_ N}EkgKalΠ~EqTKz4;Nyie4$XF)հP^yzT1ÿvdV}c式ktc=7Gu8MۗM,W7_eUo߱e?Z 1]5&- OM{"Chw&e~0n^T.TmZ-S}GRR'"{48p|بL";ơ58t^F> X: J&nf5MynEuNƭj Wz;&w-_bWſ`#YzCI_8јVW0!kHND*\N$TlnI?d:3u>].12W~;cߊ6erh|| ̸n9%WC'a\C؝vn1ydsy"lcl0Es8XA% z:VbiC%v֦rf +NFc&pQ Ȝh`-.ɖ)pM'ϴg0կ AHu4'b82l!/~u־-̱'<+&CV4qX6V'x+r-UXRQ㢚d{ .dZ\5||fؗbW2 *2eS-ٽ,H"Z4Rl4OhY*J?35j߮ףat%$OACR^gztXvY}Ij:Q[ȄI`B+7T Z|C) !pن\[DfyY*5rw+qM5 ۊWco3p͢x}#mLw >fwp }G!Rջͪ*8O$ut{3b<$F(%Qj~@U#qј"e|,zmr?ޗWꞡNOo9gH ViZIy U1Og"UNK5!ȋcV9WM',Nc3 PUU.aonki mRԜlqXq446_r-9m0VjXd qfNk`QwCݘOx`:tIDdRѥZFN+yz}<+]t@4RhM}+NctU\NN6g;^['Q Ii B.dјDZ7{'m߂=DG "4٦:N)+ ]H5GĮ6YG]$&.J Pj2#>kY!87_0!6CeP;̵p7ż5 oz:^1l(1HWgCsDP9}_05W|ZZ[Na=M7)EGlҶ6vk`_0CW+˥#;BBy HF&vwh~{$\\6rXx/* 8^b&K!Û>YY63_qV8PjK}*s q.XTݥe`< 6|0 8 Ҷblf&,s@4u5OVB)O|dG'ߔVAT31,W(F /g`]෥D z[BL< !-L@A Z'ju/hq+(!N#e=$lY9DATLJ$ĖGkn]drvuv GS7maW5KIUH%M9r2xșvF"OT(O6%_ >)`2Ny^S~I=:`EZ~U!;m@tHڮnYp `7Hdb;(Iv)&˿$#"3zJ;@6ڼ ~E)e^pm)14/ul/"Qi ù _ ^aFw"ǭ^^U!lS>F޳Ѻ#k&!bCm9NV[zddeh4Y\4xY[ȕ]!!TFfbﭠh;Py DWFEZTfn%Jmcьd$YGP,#_dH;+j ^/9Sr:]s7Xhyjse)F YOQ2؍L/[߭7'T}\IWחK,B#DqR9Xf1a5`$~CwkKP_h˩~tدeQZ?|6tffĠ y?"5£) $ 3(bgdfg+ J{fäljЮW55)=d}k2a|sZM4ߒH8$MK@2Ewhԭ%^s?~Aa$>~2$3kW_V"Sܮv (eqQ@xQ,Lm/,McoW]6ݨd_T[u IC:I:1q G{;߂588ėNg+|tWZİ7GM{DXs*+%=L͞f$ܵ&l3׾vL6q b0NVrwU y 3N{\E u𙌕+9zb gTqx:֟l;]i).7D]Zvd]VZcG+4NuQoLX`e)CCS&웫&EtbUdZEvj3"+wBr7[kTg:G;r#Ɗ:*Je;W3^_Yf'ZH3y2iIpͮY;Cמ\x[`:3 @o@ Z׻%֚>^[/E6|x)_z'M-0MV]LGDܣOIvtR5ǧ _> fƒ5hzfr;&a$e%!ͨ(oSxϥr_ylERwϸ!!pyK/11.$ 6v==hSԴFP/|Pa+3g!Իoÿ3=%V5O23%}\0ڢ\Jb&nƁNlAdfcOӊӮ!P:}*~q ;`.tZ^wUv"*HJΕt ( CuH+݆"\XvS۫^+ˈ 6:XUsW6zKzyȶFStU\*jԞ@oa WЈ_gj:gSB^y!391v`!6*ļS|@}|]ljUSo%{obKScQ]?)3h~,cU!5:W<qخ, }f!M@XtmR>`6%Ţ0!I$LIRP(_t$U Oڱ}*ܚ>9G1~h( 2CRh)Qd6 T=@fej4ԷvӫK6_q}1cC` Tc'(P؂GIvcCԀkSim5Z#.>e,7-gOj%98y .'`u .a0sPk^=55 0J;V:!6n8ŭPd <յt<԰Y8SDJav=BAɐ}R[Ƅ8w”!M/rrtZOk.xl-ĮC9Dt^-!=|NzDŽb(D'չDp1#3(k} } y &_(5R%6jYB .|Ұ4qOx18I((`6>H~OfRs|Ev"Aސ2LOzbzC-1{RdN7/rPpêFvF/|gρ|w~E Y{4$0o8.9C4RHh0&?&'*a +zp-S cMEwUY\ATx`©6a _G[X V):Y|G߫841$,{֚jO~wF=j)ioANN_ @ՖAփxl1^2›MQ?;EMǟMkbwlvagdp6/?Z߶zX8Zjp`PI N J7uJ{@i^#}_K}K@~ϫ9Ӂ?Ԫ>=&-ew!Sp7Mmz3Jw*=@R~c_UU$.̰9Kub~i_QLlLˊ9v9mb,OK.qx?8Nhuס] LFrny=~߹ [cal̼@{O?I_^~.TyTK_!<>C‡UMweo()'3S`i\>YI᜶/&^3-Bصֺb7ykralh?@[c}=5CP[ѕ-*ъ*04rb&MXHgSdJe}`j<&!ǣ]tDj.3Y&% $b.tu:kS9:Fhi[q,: 髺8Ln@rjm<KFfX#;EbP0!h2*>rRqJugBIKO)Z1%b˴ߖ,OPgFRMGӸO~CdMaP0:_҅t68F#=! J~Mszʝy?z)n-ѤV+e)up4ExP"Z@T&yuOsn Ozi&ա}Bh.};{/k5Y$\41/\8~&ҰmhjPFe٭^ϫ!x9g]% ;J\i:N)Z 1CW "E5Mqx фX;@ y=4nj ^iy*%b wӮ?c>lN·|;ڭDAJ&iŲ! iQx`D|p5YŅ;N}Y{sgy(d8nfҫ#lhYHz7LWѐ%5ҏ\iǛź13:t[34F] 1 JI O#Ե[EyRJ ڄ\ zJлXuu[5og&֫pk,='(d&EK(]c r\m* ,=k5 S U_3R3|2h_ޜu^۱% h a2AciAfX_U[Qar96g߈Sխ`BDYcw6 /@:Xpv -$91Iy_q 1㲇`Q8@Zҥ&,m\t^K;ɜi";pw$_ntsF!+e8.s ƾ{ 1:E7c#\UF֨ej]ɰ+F)  ݧJ_)^텥WH|JMs?*Oq&v8@$= czwXik#d4E,`4 l8FfJIt‰b[< ?¸UkƄHh-仞 :5!?;gɇ82TaIKYs`ʻK:ZQk2|%{0>T;ηqXDj)pdwcߌ ,xJʥ9BS'pv 37FT^e'35*!7"nD$M?/ߘu5&-lS8vjjXnia8y3#i17LQ$ѿ6JU6Ywf| չ.f/4ΚroA)R0vBsM=Nh 5z֯H:ԠпkC7}FkE#GRLP- w%T:Tkص6xݻ@;?|v_0;+9$Id-XlR.9\Ov*P#j(V1ohF$pqktF#EqXy7Yzs8[b7#e̺dI֯$(̿i&ǸMh(ݿ()X[u$Gm.,kOTibE2N{IMC㌪*BGKFFe84#k;s< ZwvnPw$D_v;e;I9QtbBQct*OяT$u%[Wrۚ#8^N}y]mG-h{Zqy /q ;^?acFDfɌU1#0]O]̶cO:F]O:^W87Hg4Zb~whށj`l0·4c\AlYu)܊nMeٜѫ%8u]2^: *Nv'KVZ 4"hߎxS?&WWAd`l9shz߁Fv @1gpk:p"7j`,]?R3x/V6C/*' P&ăkXi9K x5᪁Psm"u'$h Xi-3=qo(#vc*Orn9T.Y#U,0Ӆ6FE b[)! F ,V&>~ᗂbO0; -OOzEuaIDI0+"] QQ%#2\G?25f0on܎F2;{lY/ƐQW|1Ԩse8Uk_SHl Hp.Q~D6 =s<\=P>KtSU/]sꑒ(iF@MfS5|~ Z i;*nY;X 뚍 C`V^ >ӄ`]&h'{x m@8R^%B8_E?v=ʂ^BQNAlvT`N ʹ0_,%;4l(W'$iTj: OF8|R/]"ڼPpP7@t6ͬ !!Fy1,ߨe3ywsc'` %nn[`5/e&аQ\+dCߜ\pM.?c)^(8nK__gGح-qhK{T'K&dEYᒲ6^zxnPz9]b]Z)3h1q6-~_Gzͮck|4g$Egg܋K^ۋtC#P< [ ɾ)r.eq%KfB h k^1`l<*`7|7seF`1<Ƈ"uh\kYtH2#ۘ)(nxJq<=g|64~l)o'u7=vCv؟\ҀiWl\+}{ by8ҧIuG6.]vD WMx,Es; 8[  2x` M =qWdகD4bP큶ID{tyŀr٧a.\DHvJ֏LMޙ5|9w}W~ #Ӏ9P"{ΕQQhbO2R劊q~geM#{>pID@e:DRWܺAuԤ& p]Iy;(dSeW7<ٯ%-;^R`|K@WB K\#*Uda [W {}m_`\w5nE%\Җ{v#E֕Ļ5P*yRT=  AH-9ȍBjų;tx˄Na 8D6td$ab߉$2[nA1H q9'^T2OX c{xޥ}]_m.VKr0˺Oy%1H*U3s=/E9l>H|$7͵$kxߡ.9:cU{TLYXd*#x9I_ ɠӴ)k&b T. L=&5w:FFO` #%P;{U^ rȑ %54I?/|KS7 K3X!Wg*VI~~LmQ<9Ŗ#zbq$e"߃b1;$F^b"缂`|PsJ@=O ܓ :L ]fjvWlJasC'/iqI u)!nTI]iCCA?'CҭjuvmwN[-/D58ۘY^Ս-'Lߋ <TQ -{ieQ޺]y!AϑlLQٛe4G#xi"33ۡ?k 7>#ۂؿm&.tĎ.glZnl'$B4ƮV:~‹F:wupJ,KvGh88/|WEoAI&/Kk_촻 &dWsQϾgx$ ?_<>YN3)p z3YWBfP^݃ҩ``8B' )KS}(D,nG '9q ~VȘ0B#F+ Q)B9ЧJ<ˋ&ih e \|g; <&a7F3[ 1.dA!DDqO:H$VFP!bMע+@ hOƚY#=JQ[T\yl(/T%6ضњ:w{6jJ׎ mJ1>FÝ:.irh\#yRFF]/W6Ws<#j&00[x[*±B] o!TNjwy`пMcъt-ś9j2z8Py'IxF Ž״3-(k}uHYj3A |,8;7`Њ??}`)`ɨ\H!X"ybϹe~,>;To?I !a2S*^g?9, ĔNcD^ puW]?B}$"d/FGQ\GF}ѯƖd[$LPI~xB.0uN>yUP >7\dmg^qrПp* xyjUBy,1j3Ca31dhtbt C0)R`^5鴪M w4/M1М$k6D[uêp!lUρx}|*j;%ȧhuUG0ȝͼ+;6oJN*f >бB{8iDu>V5+%=&hBrc1ZK.x2Wŷ{5 >.j #e62 {t7%ܑvt-TLMж%QcT&8,ɍS.62=;0d{1f@'=%6q6}&]_%s%SI `O{zu# \\kd_|ioAD-W"C>'RLiFbk ԝw V\(K~fz)*k-UCV/)aȇ39&OHT0[f43N,>=UN{~ b=?u(Ƌ/Syw7 q@. .⋐g@D7mU@wHp~_Dz I#^ $ώ0ϕ-0]ѱx"O{kV^-BR'E1۾¡$١!@K`4Ԗ%2m9)?2J7<"^ʻMjbK_ao j`d"fVO_ˁ-ԂI 8R G,c@/fw]@jvSjagq./P dGΆ3DqE\).d ?h_К/Q<-┬5h[YYqS;ۉHP16̀9*?amF^}@`8)]tpӰ6cڗER_{׸܂ug.QL+D K̡"Ɛo\^E"G`mgTY;% kc.=<^C:{o9O Q+&!,c-P\4؆{)ũk8y@kZuU{xA,A@(a;-3p0d9 .Ume&ZJ@Z`POZ%f4a:w' NW99ǵ3 +5+)=e}d$tsk -3-~ G'9ڨPs`qT#}OsqUKUV{ 0ಗirm *66o3l(L)ܘ|f DPzGY:Sn\`u 0L%+ܢZsѼ,d'{}xHu0!)Q{`)Qv2ߺ%,\zO|x}K\{\i3vg,[(=ha(y8H).>s$[%یhrܮiB:ZDαco3NE0oʟu%<-b@n[Psj$Ǘ{e}J]q)[#{(.=g=А@~oP+V OPA4Q&a4b,L}%kU_73B2l;  @y 0{'Z=@FO~n֗9୉|WIMqj%[1` SA厞@iᏍ+Jگ'XwBй/̄ʁ_,9a. @6uHs3Kf5L|n)XO-;4槿h34jbn 2P>^ |UF].9uv4BG&ɇc} ?*.К*6l^'=LJFСb[L ._L"\fR✘3$XwAvk |lX-{y0i$MB~Z.@Uy$ HO++So("I)%deȡWIݢњ8dWzWOEо I />H& dJyMo+$&z3?fXs3e9mS'Pr"%L[D9{(.:|Pk1 HA%6́i)iK IEPn^7{ޮ<@T\ɧu ^tվ-%*ǗLBiXp!_QmDчl{FNof^O`<ܪvrF1̧)gX'ڦ.bDYI7b\a] 8=Q|[y}Λ軷_yX}riR*СxR=Їwd 6W*"R?A 7ׄBuꚽtwFhVk+;f3f$jz5f2?%;CMpoxFN'MyU XQV1֐n<d:m*2ˊPz'-a)!C<~ij вzѵdT]i? 6ݔw{y" FlŜEI AE!$90;B~z0x0 8&ZDnE[.B쾋˞9 ^fo]Z1Z4Їxa$LVo'.5靘L!:j‹@H#67߅z<s}G (KxKm`vM|&^SfJѨѪMYw4,"@?튉\{I7&FbVl)\hxnA4o6w:g_Фc6h Ne_ ~M"2ibݸidi/#Vak@e2K4fwf^uРc*.zwR4ʻL F'לlv' Tq^{sP9֕><.?9|]^ 0e:X 'F/Ҭ$*q!ccrw~bbA#%Cn&Yf !MTZ *AǓC!mT6B:~\N/[ȡgwؖ'+{n |P>~UOVk/ZV G,I.7AΨ|kx<_׵&FUT/b{ޜD&<ԋ*/RFU&TCam.s'^2j A~<;{McЁ!3h!]lQ!~%$2A*дz,}B,^vꥺF0ڷƩi|s|p::#0o.y9@QYZ~#Ф> Pz }sn5k: +toQTr8?%s@Hs̮_> @9HƜpsGfmt|ڝU ?mF3 Sj$!(Aay,CSv,䒖6ƾThK[ TƉt K,3ijVLk L[ n;UM  u֞HlhmHjB+r806c4OL3ysYf Ӛ/~ ELwΌ.[׷W-s4M0G㺔 ?PO@Ѥ>~8NzS+H%S0E^RĀVwpeE};,5!uvcm>|OTp;BfK'ݒ~ˉ<Lw*f%-Mӊ&1UGXQ:%Z]\^a+ȐbySD ;L,LT) ş;Wu_.Hi\r_':1*ExE?PR u{X/Te!@.T;ǖ@4/utg|y vR {,%I-#@_'GnK+?7!9ыP:-JA1- t$81lHڠ4\-wԎ/%UȹM}LrVO9P5r2,*>g77dFK-,LزTsteClgj;SN?z҇ե_4b 귤P:h4/ L F Yi =EM:_*Y ޅpE%ނc!]%B %dB5$5UGDъ'cAd:T=Yn9O0A) "3nC#*]b(&D[|=nf1oS=. _saq o['F'\P3Yi]>8vIyXLNwa.e$Dȳ1ɣf&T]4YWu$9gJ{&$% ;X݅|EOZuA)fݤTYNBGN!b!)y햍bwst"Qij"@8z^xgbQK8-!L3cmR0htۺe&!Wk O#mbJ!e9VP@ZgQVmR*nO+ke "_88=.Z%Ȩ\j0]i60a\Jv<: ɧ9UZ~WU9Gջ|@Kkڈ&'*c;Hw!.h'dG& \ -^<&QZ i5k*!> t ݆HM2uK; cPd";xĩli\TA\cw+h*}zcIک*bX Λ)*`m==UyrYnЄm?* roO kaONh;iVR#C,MW> .nJ߃R.;Dm)@2;L:X5đ02pe-ZzgEǬ}qxqMonN6kŵy[L^PKc`߹.KAףy(*Ĕ_ u>#F9OjÞe$poLgj 5B⢣jLue3yW dq^~^ Px`t()2Y[ʿur|EJEK~(> Ʀ"G^\ؑ f&j>׳ur,-V`< AWk8Jo=}BMŰ_9iimΰ& 39 !ɜMP*lq?k&1?qfE' SH^.uaf7hyH+Xh4-sWi q>p]w9!KZ8}LÍۂ؏94!E3l\q+(/cI3A\7zգ#9@صew_fz(qoJFuQUոTFXUŻ}cZWn0@Fl7}%,Sxb'1Dr{R.:~z wp V@/#HI;p4L=Z7X>W5@p}SR ) o|`j K q$6d .)HNp>4|%lf@;8ߋ4;e=) -:ZBan y1*r -pcR(#[,6;) ; ԇo*`mTaL}ؑX q[HdKdV25ۡ* jz7$XԷ?$ ?(&&+~u@*ckN hT\i2XIXwqҭ às&?ۨy3b>B-2Lo)#-ߗ3Q(޲ϻMxÌrdv`Gv`"Kk%݂N9Nt6 :͛T@ju.f#%;%"Ě`# rQ!yTLkRC(li̅2 ,kh1A7 hv$V:ZEУ͟5UvtJֻfut˷ iݽVDzj>jG]&x: K{nFJEi5^[m3;GYD$mY3.&3QO:/XQV89dudOˆ=HL700,}oC\K'u|KRtc6QT??uZ<[7@l~k(Ɂp@~*0= AҴ2[Ғ, f9*wt0FQ3f'a j+x] Yl@^24!8 ##uVq@eDiL W͠ NLd,rI#~ EpÃ8<فrWA;͞E;_ux7>U~w!~u-\kdÌmq(/,Sg]vRQUx(5l2B^`7䑭Ԏb)=r옻[i dlA%݅3(& =WVD;I peWZED`&<;qi2BA1%NeBd֌jB*Ў0֢8e1weh}I%k æȕL;tgR[8m_eA?5g}@4ټW( [O|B骉Dߺ;Wu7-cmg[#_!]mnC;p'^_9 QaZ04âx@%<R AEo4")G?T7î<Wkvծc)`8~;FsJGo P~aAXLU{I^(/Ol5737AZۼJ^{@c `H6#d6㷴^䬣G-2T\C^|8; 8VP=-R R3D{Tw٘i?/Pen֤&W".h1o`ٻ뎎VCx.)ggVASa24NC k38K}ڀ \[_L=u65Pd1Lg G_O9B>+^1R,[/ZK$m}r̐64 g A?#saL'I0 \RNM.(-.7[p?Bf!!SV`a<N/ϖ7 8yLDł>@Tvؔߕr;QNAP7h1ear.reIQpЃ5Iߎi?.mXY2 ow N+\ʾu $yx(0'azPgbkZuiiq$XlZCwB 5;#6'2N`jj˓g ! d78H}Xѡ%W2Mgəvnܜ*14մ7k@d {v9A}ȑq+?IPb\].~0O ܊DtK FY(\P}pbH-b[..CXD]J7jX9=?#%i/VU@t>@"VcBҶ'M3(|h_>Pjf,m2$6pݫEߨT-uxǟ%AoT ]`OG#tGAۤ%(NңUC8nf̄Xʇu2Pi;@k/n;}lhh0äqm.I/qFh{&#W?Ed  7Ht\ʾ@ְιsv`L&0(V͈^|iz GhOw 5WPOzo oW7yhs%G` UV7*J呎m}D;Znb9=iyJ hz$2`"UHQ$:<-n.ڢ"wqR7 ~.yPGm @R?\IO3d) G}atE[RoP˚[NW} df-C/=HfC)ϩj0nHim5>Tml}D.a|@wefpGj;4f<X҆h;?Qm)zφ=kK$%=S$}a<dG!>d“7x#01LnXz{KN3:d;jc8P0U-56ШՔŸ% 0Q ,' aEv)cٗ ߵ̽^oA:x>]0'1a_mT0鬉iڞ6K!Zi(p4~"2Khݷ zCF`/[iANP]$ZYy_E!(ww_i󸙉{m%ykؗX_6z‹R8yĮr9# Iu\4|=. #Ec\Ϛg D㥝^M6/g%BbQ6v#ҴykocNM{qG#YY>H&46x=>)GqDk\k%?3&1d}0%FN05w918UjmiDJ٨=f.OPrKeDcG < e1A{s2 ]Dcj..Ѷ XIgv6H ci  Ċæ[^jiCb./©=:е {ۘVSMlN>41+>ƞ<{7xY4ڎd|-ŵ?c쫬p]a/[ k!mVe:F@dQdr=]}E[;I)VPBI.Ixmj+umyO@4;S㲚oȍLs{^hсAF&vU|/MbO=  N&NCnַK.L PEfjŽ|4P D|CS;I^#%1{m'͗ #%[43ߖ؃Ue.@3_N[wXIB"v66x/ۦ%{: +Zj n-9WpmW~UǂGf 'Gep@A?5s*tLON[3bC?xӱON4oK`8D*0]ь\c4 ,AzW'R{Uuv:#=/YAwiv5Q'~!I7Ѝ1>FV ;4UqێiIEnB20$r9UlUq֜ UgDXu'[.rc_*{%8Y6Lil_*  P?}nFC yvU9gf"M!tXk>O|pdUDrnVUF4C㻪%cݮtS):Nhұ>XBa@Ŏu6cufVTҽJQVy.+c7+:K<9$c .0<#@Q۟&gd/"ԎHE@!ƔNᯞ/a݈P 8؏ 5kv;3`)RbhaaFS[k9^(sxYa%˯$Va+|u?*/Z)joV:jy[RsG⬄Hj%; ) &ڻpuqWͦo"' G_l9cB7M+aܣ .͠!|_]Ĉ֓(}ףy[_au)Π9:"RDk }n.:ln.`fa`_Vd"שRǎ?Z%GNi^̲sY@q4# 3N 3hv^ M8Ïâ-5)OpӠ>..eHkAf]Fּ*-vT8E~+&BG!P%6rn7,6]#Bnh,uuĤ7Uc\rۯ(}Nj/WvT1JY=]c :ʗٹ10p̄vm_owr\Biu:-kبT6M7 f`Xr: xiUlU A}+O"ʅGΑMW&#q6VGj*㊜{dpy.!L/[i*BNC%D^n&ާۖ$Gi6l0 E,VD^34߾yt| 3=故Y@^Q# g8-hiw,Eb+fk`WјW0T5ZRzV2An2Ren) ,t *kwE^\ ᧄW}ZõS12.uM/(k' ;h'+~A3/!$'#'ֿlh^ITzhO~+QtFЧa%3MEa} UKkAاgϦ@[Ӯwh$5h pM`سφVU Q`͠l@WA_  _Ef'.֔  `:"70 qOH?pjb`z&\ZӱWLuQQ\lɸ1XQB]vQQe0;-$(+тCEJD}@m,z#6 nG _Y;)W6wPv;!o6*#M1wdBkkj'JtF!t(B4$dZ %WD& ߙj켃\EOV7.RG"J9M:2_]>U9wZDF$OwSm.\G{9(?Bxڸ(IjeJ*]h=zδ|p颒j7wkU^Erމҷv4jBFNq+vmƝ@uj$=Q3bkƨ xYE,Zj|\r<\چ*r[pT[fQX k A%5D6~i]V{/ƘG%zvi/ۅ0Q! 1`e?:,L EK:2բH7lvn ]ט2a3d|oXYuylց9dӕj2bS+F3v41wgoX*=+Bl0Ygm,g%~m ȓ#k^^@;Z, `V1ˬ; uj5LvS(')P.XFH7(c&^~)tQч F Bx[R[b]IIC1{+m,*ǝ3xcϤ14L6xsw^f\ҥOxW8=jE&b^|s蒻ɒ;VҖK{ҽˤ?AP7^yA^be-D萴3sIN~wq^$=0hg~m)"IBX@ ?- $Ge+*^wM[=W TMtyV|= 't.ZEa6.C(}8"V?lƹֽNF;NK^1cvxkpE,>:$` ~y]OnL h( l$=Xv#c6+JIRjC^v0>-"g\6%=u?ؠd1]|AD'ȀIK4)e廙3"r!μ=Bޭ*IK_] '=~7i@Pk~]r{{* Q5); c6~}vtt*FRGwIan*)wfqn\ Li6SM U¿|_snHvJܨd^I^j[(fL S%T eAh@cpHڌ"9` HA<%+]߁ 6Vɚ=Pys]N. ) 脿 Υ CZRQ4Q_o BT[jgvPOJw&t##gȟAJg(}cW.h<^W]l0\7F} UL|wrO;\"EӉ`c3_SfM'bGdUqb;{!_:4mzZͫy&TBϑ #*huFob&S,IL:Jddٴ<i cs4_QL_ԨieʮnJNa %!o oJe>b_]4PA` 3J9jnR-Rslu$zVwﯻ! }kk-*'u'VCAuy8(Nh`ײJ%2#Z'bMzm1=mNI!puZE~V.:,IA'ƧX]S={QO)E &t>Az! Wvg(3(tq:=htmbH~0m|M_Y󣰊KaP;Z8RNʉF)yZҎ ,x`L{:5Dz_ġyz3K eck{/ݦN̴q7q0x[۵ |z$kC:/4]8L6Cn !BXXOoR#Yf5 \G}ʉf Ǿxn6u6p/5aܟ%"hDYP P:.Vn'^*j?.>IĩnܶdX֖~QcSCr˹7vǙN4{1#g,mM nA>\j3薓;;U<]zDz;F-ڬkkQ/Vj}YN6O /l(͉&,JKL$9Qub GܢyVY&o(X$pDJMcFa%AX3ܫ>=TYV\5ԥ}4u,џNxh!f˩PؐJe/S'ZjXS={yx` 'VPOr+l*Z󨕖cJ6b>MY#uClybL9/S#c.vG2NF%uIlܒ0".jiLP4&$`’ެTmF&JQ̨9!hf~ a|T:?A?B{fTQ"#eF-ݲ dwکH#կ{[nF<&Yg^>C~Y|ʴuc.#b$Ph?BrVъk-+ Oy΍,ۙH铏]x}u?\:"Efo"E2g./RPTu)!ܪ#b#ҪMd4t<5|m\{k C}^d?M"7|cJ0\GfK< o]Z7z_AEل &'f#w^uٮU OAO -w3@.~_.taNBo|?{E_" ^||.DRyr~Y)(&1 ,,ñ]:G1>ϒ@Ǥ4Lp:6c}JPR/GD璁װAnmh&Kb&-rh0xwqaKŨ@D!*ljLgnP3>CB_?"ʷ5Ѷ n R@Lct.M=GX;vMT?m.<Hء]-g QU%pԀ("3%~hRv(B.L=IތD/Reȉ\=4}JQVHvh12!{H~F)yE@a;2K{ ѩRclsQ5juA|ìI}>~}{p7*y'ɺԻԶa? = l஢]\3,% Wbhp?'L>v8r _/{Y:yn_qi "Vf̟m(ڢ#33ZobГ}Fl8*q C[a8^)%MыM鄐x p%,q&}.x:;Bl>a!oH ] X uwBCL_:uZ@Nʬo'aO7 jUW+a9]=LE b}ge5nTc%9F9@l%?w]iK9$Eb9$dN;H[N=`L}y^onܐW"KCӨ gg0J<qATPn=wv(:[uշW%Cpz}Ke%x2Xl`lI!W*|-xߋO0ѼJ浵X' xKh(aH~"~R.jc>QԵ"q:]J'tt1 mk[|f6 W 9T^>skmE=u{tm %ϔnz\^DkZ}v~g v Ac*~EWI䲰RN;]ɋ*Pz$cx@ֈWo|/ZtbFkSM㦉__ , 7`d> Ǭ<JIk ߕ4nwQ\Su%x;UiRȍ]Cg*[0IUjy2ڕЬWmv0lG<_3{ 1\8^6mT-:Q) @>ZF ZjF3s雇B6˜&;h`n^,`;K{-f"}JWN[uF~? . %IRvE!oQh%G jIeqHS:@sn|:ҙ-Y @rNv!Ha+/^Ujե# N٠jY5XX3{ܴbEBYuYKlё[bcۤ -9H6Vk$NN(Q f|=W7rMѭ9Ntu5L39ypj)PcKWY+SfS#2XL|)ͥJn'/o7<"q$YAQK͇(ԁ^#as&J7"wݣ28,.tMkB;_m9>I:<{W Ld=@-^[Bj:AFxֳɘ;+a3_P.cnN%w8A$/\ r{K ZB!t1s#B @ 6|ou#p%7}ti곭6\ ˄!7G^ _BXє%6Qr=GN=%1 B,MYBr-(zj@fgx|_~{g)_եK`34  (U:ءdHn$ *| ӟt]XdxyVHrLT ԗ~tE QkXLΟ I$,&s^H+eMVRRe۫CIL&7:{Vϕ},.tEak?rhAؤdP|ysjo^1F@﫠ud$+/C?2d#パlB(E1P%=rOFZwv5EAfђG%GO6 o-H0 ֓{\f@(ȨuEu:E v!-yAfo|r)wAh8|&?S$ y 4W/V!"Zp)}YǠ@74ȍ'{Qn{! (GDb$\ʖ:664+!QG.EցaLS d+&{6{cC/sʵ3Rɶ##GChBTcas` L!.;Ak"HF\}y{:C%X ]]!'p@K,cW jpx'}y{|lTCMĵ!_3c9%n36 u mZO#m83Mұܖ׾ͷBo׈l|^/F"~M@Ol<,{lz3|A)Y7cj |J#+]h/R# VU7G ձuqWdL'1AyL3 UB8o&. eٿ0~ٲ0/wc9#PΔPJآ"V0vABbˇDdMA_$/lכU=~>k4a"f\:EMV~^,RF&ӳu+ E>Z_G'JFPv=蕛 <7s]GUbѭ{9R# 5S뗫4.PYN2櫠~%ox(.MOmَlOU7QVX|9ji$)-ɗ{ " 6XU#Z:,!ω= 10.4ͭc;H<%.DˆLJ=gƴ[5ŽJPzlPkqmfH6A3(AC04<&st2IyGa#:O̼/C}1="f-Rds1 n( -bN+([o3'S: bQuYO$rRSV4>M~EEEOX_@͑"b?:zK©L CXdNf'K! _%-x,GDY=M~n*&Gs8f2f?Ǿ%9@gL '0 Q|bd}=[:->WWCy= C$a[:_~e%̪l}B[[H0&?0Jj{n!+4G$9:| S Z21^ gcOuirہq+wJa;%4LkOQJ87 o^pƇ`K!Sʫ&168P. g,_IT㶼gyy1 ߯?ME'gZiݕ/THrR8/Bhco_rqK@WkPHo+Wk7{)xEoA wg@0YEl&"0+E/^JڌNV-ckU]FQ q;RK!6KBOFe7 IELFꁏI٥ k3Q_Q.~+i )vK :S.l<LʋrA3 ڮZ ƹ:vjx6Y9DanY9'tЕI{TEmN}cPg3۶4ZvU84> dY00m\ZW֠x_݁g޹šqX@簝"!K"[C1ﺖT1 )d6ﳃRݨ{u YP3y'җONitAԑC+ł/''DqF-dͪ`0ctylr}4>DXI 66:IF,F=A;p:>w2,1UNKP;ߨA$G?a႘׺5[`/Nc $1m|d:ҭsm>D_0 /;[L VɦY@3H77K͌D ': uzR-XǸ.}c."ȿ*qJ?XԄۓ9_1bd}enD=3^ScgSb̍Oi!svhÚ⾟ҐŌK5Ȧ+D4P%' s"coBD2P ;PplJat6H]:,7ǓS| O䣒fe|UOl' i: Ši19y3;7_TY%P-rǪ27is7r7%2|O/YTJAm9߀nSFZ~G)b5΁6+g,CkKepX&ADb# KYr)S[֛:[C-\ZskHC-2޵Gl ݾyiů:nl;ېitxW þ PE̻=RΈi;djge0MWm43 ffjܒsGk )PD[ S}$r4?o u6xj(vhRβZoN*1.Z{Luq4v~IA0@u.To4$r(,W%qRͨ^lo! a-nqU Y[&xi\u\DQj΢ :iDl$P'ͱ=uA0]xȌ/xxG Gh"?{>AXooR勅*j#|pWRHƺWumS&2*1բ:U˳d5t3I(|rC'DRg"@IB7I(3_*85%s\g\! 7:ۀ}8ߝY(%TTj>I) {ʓ(f r}t/÷=Y ?q*ÜCz-e -1[$\Y-mgTN%> ']֘rJlK1aKشV/¡h@dZjAuZ'8;']p%\LOO5̟)H2mOpEBAlo)P胇L|Lb&e7?*&'7X.%)ⶃ1ثW+zȱYTH {)iBqF4{zՏ$5Go5.aÞHSp[e{>Yۂ%. P({j;@|#~$)8x~z/9u=.~38 e8'`sid[_  oH<\ޭ, 4x$춷$21l,|K:_hXyD2ѓtv,'׌Dj  N|GD d`<\{ ʊ yvrn(ӅT~+YpsGs3!zz(DPJhԩˀ6)Yc f T:]MWId]~4ƝcUz0֓  BCn]~̡&ݘI,rDSX%W`%u2ڄH}ܗN M;7pS7Vjl| C@oqG~P}N8+}Ivq9 yL |1:(3-C2au稖6WqU{d|pQ{ M"pyUw"A;jGP`-k(Acrlc.9<_Z‡p.mNcd3[-v= 8()w+"{N{ Dpr0S*'#c76B9<'i_+f0VFR{(9d/< |d F5ھm&̽d ~?u2!g hË wL}@9VWNi!V& A){re>I248d!)8QPbYT\gTN/"R4nDdW[!Cdҧַ(޺j0+b)K 4 Ȋ["J.O}Λ`h-Y~UXr%jj1΂_vʹζ.m|'욝fRpdHEqD QB:Yf3gJcP~Yu|ᅥlʘ wwBa]Z9̐u94sV~A8*8fɬ|k ^q\?|9[{;7Ox$ԔXК՝# f>")MHߒkHOg]Ip;x-CQ9e%|1 {:A־^շЌܨE`ₛEd2_;yU{6X ^I[ы Rn;"1t.ObŠd s"Tx60*_…?6!n lߞr5/MW/n9l!C㢓YHk,TgƦ+0%Ot0 "u0{{lG@Y6D ΐ-(si e_gw#K\VngDR!1/9aWdO=E8-'m[Eoiƻγvt]I.gcrcm^Si9 >L0#.GvA|PTnhP U݃> ؀N+W~;! 9 4?KTDAOStxeΤ| (X':1ip-N>|nos{m"ݸ5`(zn1Ѽ7rToCO@3lvүhIYSGhE7"ۃe-Cʂ]<>Q$)VNW>Ւ"MySaH;hM7.MCt7Mo0/_%GCl<A2jsQ뱜o*`ӭԣ$q^9,0 62TN) 44$">f2dM>@zi>=]l?x) A`GEuxCf>) Wz.s2R2 ap)< e!;̋~nNJni&] rV2?Ǫìqܦ,s+W/g`UT LJ-/m*[Z4)eʔ\]F<-T_k*)mrGؿɽ T8,<(ʄYjmY 6"OoL/q'dM='~m+*V{%a5$4`?† b < - E\'e819S ^ocM +5VE!|!5h9W?\yDz2:V`(.ӂ[?ZH-hV mWp 5o w+:d#P'[7pmT^Oqs2##0͙ $vF7I-<1=: >wP,bz> h#Ի<A1un:F*q@PXm5^#mAJV |گHmC*Р-1Q DJ 崈44%)+8]݉xCc`OĒrQa- u #܃;/dda(Ƴ^;81:{5*=tR?o<0n>G@0)[ <|"Z@42_ٔ4F4ݴpMjMi?:?e1\,bLl[&z zcғd.lb=d e5rN.+;p'd?toP. D籱zTaN6z9;ܸTk|5/h  A"6,`&n+c[hThov: )oҡ4on8zU7݈/g^vq&1|,:ѱ;J#7j8g- #p78pEp>Ԗ}wa^ġcIb7tg-{Ւ~uD SȽ)]tr=B)J4:8ZOV˄Sܕ(,B}nAƭy}2()1qp ;V/wuxസJv?5h0KBz@8Ҍ/*AAB\z=/ 'zH,wO򆊦v,X-¿dG|uŽS;$dfq֫ez &(GUX"+/Y2ȀJa/P{|vLgS. ysLͮ RV"1-Oٌ!8ꆨ{ʆ%z70 wt({1l 0s`}3B*1 ?BP< qQՃ% LE' c-.c|Ja2q^VUPP"|Fs hR68{̂o513 |^n2%!_hDmۣ.3o!l*8A#vFvj(P%bV;~ʉZMTSksj rИgv7( |׭J_=K f; Ai+tnqD$zVhl4|-Fu^1-o4`:o( ܂Fz?6vۥà6YU7oq \N#:=+3Q M~\*.ΙyS~_``?98`_9Yt^3#l}aµQB\iA߲B* כ XYl h f3K_GBrS.҉|adrV \/T~9[)j$s+f=0<2*sK Z^YVi|{(B}%Ppq}dJvfS_I5}(T$J"$O<1tUORSrZ,jrۮvR݅+*Չdţq|\b%lYPC'<\$Ó~Ȧ7-(zTh~:rl\VtM8x%1'u>t%`Ό?\_w 87Cr lݤRF>Z2'}zlVoL6ڏ 0' f @1@\oz gm85CGo#MCdeK3V|鰰8m7/Ћx?9'&+#e-W7 Ӹľ_=x81Տ#2b !eh[STkI(ncub %`(wdl|e.{!lYGhỏggn<,~XW"v CxuW ^EoDʘ.?۰ʣCⱪKX?9k`VC9+zq,3ha$i#OYtDsӖ [)ٜOQҳDץjle^_ "FoWt=UD!!KzNgrdoA?#U8tA1ؠ>+&eAuiR>,ԧ`a'N'֢qa9D {YneWAjasfb5'N]}\#J$;v/rȳE'. S"2bGe^HY8q@_M~^d|Qv[[\f(Ciyp¡* Ʌ?+7X,qU7N8#*@s1Kb6lgLݟGc?zs,l *uq3DE]b'*sn S$lD7-+`o"]7S(J lĩJAQgc\NsQA"䵋;QUಂۮ{?Pk]o&>_@&CPgK ?ܥ#@1GlgI/5)MӐLvJ.5CP[l()p)XTβX{gbަ[3=,чRM`Mz\ueGڠ޴oJꚥ偮էI=N5PZr8ϤN%p *>t9IygzC6 ̏r0tkЭ@J@kPѓz݉ vQi9a%PwBFzԡOqY,qMuoE|YYɔ~Y#pCɚx4&N1X|,9Z?9)?F%bN:BHj,^7jɤ"L'G`KEyXjOA<7l~;G.0t{zθCZ`U"kS!]_d6DWh`S#^lW_s C|.ՠICfΩ>ֵPI.%Ӆ °WdfSg ?*uۺ&itDGq_<рs]YUˊ;e`7Y0e0eyÒ0C 4ƦՒ؊H6{Yt{cjwNX.ә~ӽI R~ ªms1jO5 >炓'2;`dl-SKٲhtfNFa,9$XCܟ{_M= C9\X&BdyFU` mM u,%Z\k=![V*V4N-5>*D2N>`bisQ R[ dw)ԁJK*GDbJ}"'DNaC2ɗd{L:=֩eHxhD'ZݕԩY>jI0Hٚ(wt d%a/;ptc<vS4 ?tJ|]}d3PG"?W_T4=à}Rq髦؊j/,30jLDPISsAs4UBU+,X^#m ܊=`d)j}׺Ws`yOZպ qNvzdYLb1P4+žyx#z jyڧj ~ikoTփTsD=&2ʲ42x*_sߔ#^+DEI !AvQJ*XPy-h$Cvc^2M{2͑aΎO#[oAPwtyU`L,s ?CvJV"jjɽ{F''˳cv߁d2?59 yU?52?x7bބB._:[?3{4%Tf!{^ >`r̽NN*=fIp(6f٦ڈVicQʇlƲDWj6V-[搻}(z z6@iբO%CX5/ |fi 8mk'Fc7.`r!VP:wqtq&N}pZ*Nd!vDD%Uݱ UVj^Q>6']"2L$W?)6$EkKa>>Ǵ5 8:EΩ 𙷹R.3b\#dL u5P!8pWy%HBFZ2L9ZZƦUX!ؚ֍D|1;3?4;8Eb,CrE(߿HM`|{>Z V֘bbnl?,]Uc@-M}dt;Ui|@ Y!+2 %=8Iyțl\qJN&>ʊG"hj'V۲CS[({CySو)TMrmyn$Ukb;:%=h|>"rh ]et8*9Ac-4nS(Ad,qK/OV5ͺR^B?l#*K-l2Sej +%jդ,Mo273ŦF,|X/^QˬkdF GM/;pCKw?T53v]Rh"K̒$;M4~>O `,H _h)M,'5)sI`+84~p&葾0Njޒrz6`Sߋ¦KjOGp)gEta7??f{E oH*ARSЭyLINE:]ӨjiG֠mk=wB~d0):_ 1P=ERRKM9$v)qҟ% *2$ctVpտ a7R;j޾@(* O|\X-(@ˠw!0ac+1]^?o%_ЌdxfjX-n**N̍GL>>ELҡ-^0Q%oE\okۑRX%.C_ިa7ӥUpfS.{==i}'x﹙ gE1r[(3}IͿS M7fյxVkp0 ռIV9옝E~kT/V\; 9F/fQHsj^15VsԻt>~}B!6Y>;<u6gs/\DNv-;.T^W,䩃r&GPlu wQ"^2{ [ ` >xZRB/ǏTX/ [-[iQ4Y~x?m ӑr[rEКj(BUCa}Crt.YrMa Z֥@ mݫu .aqr4}Qεh(5@Rprªfɳ?Ç;2 cP%2!OgH)1ʲLwq,֗O =DO玮!;܌ IXhfV.wM)6m>.JV&Z8͎E1fX8C,-3S3Y߻4rDult9A4;*ٔ%Zs~L.򩠨[b2o)4eWNq&l5#Yz'l[Wㄺ _;Y¨L|W%G+4{VYQjt ۊeKFF @cVlwI3Q #>teZvRc(E)(T@*QQu&t_b-J)00HZ_St 4bNl|(U5B^" ~EʴZ$8yi9.M8w-47s]ΈBqϥߵgw?dGųmL ΄kɛkW>kq$JD8ae$ DfwyqGn0,ܺEv0XhۚI@:>T,tuEPh Uzʗ5bIɌZKO@lGkv$C-$Dvٮw+ze<{a9Fy۱JvvcO (45gybHo,3?#C jXUϏ=N\%mKDհ-#z&޾{,(_GI֟ '7(:M_z?;onQ}(,'.K$RVpD˶rtRhR&~9~H#x8|i*r&T# @*U N4L(ƭhC)@ӈj y_iW1@Nf¡5`v]3ŀߛcѾCBNmZflhHſTƤ,9$@`t| 'h^G:v!JqאH*²>oė]!y.Аo  c}^% _Itpo7Hvs%N{G*= fΩO-ZS)B Tu*Oi(-Gz:5XKHXKY&C]l 2jnKA2`D<{5FĮ0EBݼ\ᡫB-o lqA8 6ZjΓ6J$0lXL1`K߽rUX)] m.AI88,U^t+"(J,5(8ʲ*> /$[4i&'[[ؓ5F+"l!]TGE^c+U\nHf|4٫wZ3ݶ ]R xBxºXr`XXoe!'Ȑ݆er#-H%4fgt֚,N8䁊PG!W+=ZVϦrtL~I}{ ] );X{4 M4j"/fi}1XF*Mp(S~[uIl)~BV`,G"8 cׯYiCٛvGx8S$Qxut{D`΅ z@ N BluZ:+MAWX\pnC6))e!7 ~<=0٭_e|\dy1cvycJ"8C-(L~ʓȐIBdaC[8)t4tަ-8iiw~ցky>ÃF-sNNY>lƄR_&@<BkX%9N#eV]C<'\'Ԅ0Tk2Aۈ|ط-5 H30 "9IO4jw}|]ta=bx1fٳ*ڤ*u%1gp !KIRʖJ&].qzf솇pҹH+%TQ8++,MM.b[ZBE>FJ~saJ+ nd f7W5vQϿխek"6k|_K΂E2NUXKNDm Se_N$*<*3X+6Cfz8GZɋq~C^JذP8*t*S gCfIDiNvZW :bȥaOd+٬koWk3}VƦ, ^ar17~Q9=k@,- R$/Otv=GG0cw%X1OTLRD xdQ>aFz"b1`  IW w|8P-ch!9>ANW+>  hiԢ\.QZ tb|2X:\!|)OECR"r2Ȧs-kt@dA# ;Zko:[e5Zw8Ҭ izrgrT Ʈ'Ћ Pi߄B!=ʩ{]ڗa&&^whd̏XECkDl~eڈ-BEՠSrPy|}^R~ L7rqO Em] w}8Ф{]Luoc<aUtm?y4+o81)^K*NqP5Q DbK Igr*FKGsVFIV@Ӂ'O?3wL8'z=pngl{cȉLQȊC(PA14H߭4XB;~7yJ،Ql}n0H 6gP:cPZXMv6clV\qKGa!K4*u,K4'oroaQRxۃ" q4SĀkI@*^RMQlu`[XvݱEA^#VR]֢(vlWbSJ$WMBT *>xGPގ,^BX Y[$煉+lﶫ֔gh+/*NDd8 8xKN5:$X:f ɾJfCR.F޽C'LsXԎooz͡ו|8X^T+*h;Xw2]?eg\jf!3anİH8HyTEr ^6E^ DlL)<f;853oC ?ۚH􊯐.O ,gɚD)+חc}v`= &ʒ^Zݰ5t[DZN2 Ґiw5Ȍ~'.+EAx]dPÓa h; U{s}N`N‚"T Db^!GE_@WYE_3z؟6we{SG\Z ztIcmPN^ n{>&N)vteF5dChw8xz8-B>R?3?S ntQ@5zA9@[-z6WM Ui%~"ưS@]j|Z^w}'E x\x3k y\+u+#L]­IЕVloo PqC>~(^]KF0:oR(D3^RUC76$f3ʕ`7{`!0660z`_[,UNXCDEE~/+S&0UjQ:Oo`dӺq.S1L R̚#݉G|Rȟqiq%ƍE#3RE}鹫#wGUD'QilJ1'܃(dQ`^gS=Z~bFv8sH,v@7s.Vtߜ!e s Pza*n / VCydQ UM&tv*s'JijTtHjgs2>+;g!.]m>#b =vhլKb?3>R7Boi3t?|xm^`V-t$%:԰0q* kEDR_FٟBY$mK"7du̧UveFAB Ib9vp/D&9gPeu;l6S޿5AVQ+1ιjD:4 \G$鉣}ion1\ Xq ՔVMF0S[Lok_3(.Åeo|扔ǍXtʇ V_4KG;( YNHa-Oz=aR:EhВGAx"y*f[v!kڢ$s_t-J7>ߛrzfz8`)Ik <4'iT#nhlykI^1F\r6:4d6^xR^~;Z4 NY[@# e L:5B۴ ES$ !8z c:}z(KkYŬ6SH둙Fרpd$jCRtCmXJr߲4f34Ew;'Q7 ɕ/DG˔םPD3}VU]e hrMl~R!-pSAusJH-0.]>rIt̐XOzJתLeZ[n(m-*GRw<F?\s#아ժNR56 sXvb]Y`'`y*۽. xWv k,+!es 8ɭ̭2ڟMhg2ik`hs\c>K1O˝9Hԟ `D3qsI + yi$ ^rc\;WVs` 2+Dt8 BjZ#BOQ6f3\AYG}̡)$n*nht3Ցn>Mlu"M&vv&Bɯn%l5FQ|fi'+_*L$pM[%Ss~GC3]4gyԕ,>Qs#k(,Rǎ`b^Ap=W;X`Sls)al9(]Z*Mi`b6Rh_Z S9"tV?/9mvT/{{v $+%32K\Dҭe8 X{Vbsg]S6Fr`F^ iyamkK6xD#l~5~c/(K?JrZ)Li[n8yN"D;tߴj+H|-z/.hG^ht7Rr([Ƌ0YBf({2JN 1;}k&9MaJ`~@V |w-ĜІW/Yad w[?O0lfJL0H58!OP|<+&vkYuE1~ijn^]<CϦZz+t [C3pnZܵ4Kb-|q-*gi|(68줳U٬E~dEPF~p D Kn:}`o"ﲌ2F>]b&~q^G3X\ Mxbu!L^;րbZ@bZAX8mC{=-z۝t׻la]S51;WyoՄ% tjg-{ X'lR.3YqP(0L9 y/Þ h;9˷6zȔqϷ8q"&Bq!0!bex#7 AS* BQvh6Yi+ ا2wy4{A1xSd"-W NKU ҍZ=7`TU[@G 1Mp?,ԬGGmH"ʽ E1o<#tMNE06M!PeH5 D| }^$.UH AEbC5붔'Sbe88Pȳ8kGJKs̍Vl4%Z7mZӂVƆ|}b2Cnzt5-3tDfD7KQΘ!y#: 3}k1w-7q(@v*̔>)&P}f_Awm=5;EjޏtH 9azeRFe~!3,/پJd/s޷/Oc $u1H &HS2}5u$ݪ9E-+!g&Xj-MV*T6ZqEaYí!LΩ7~o;>OnT L懐e<&ҁhgm Zw{eߐM[*Ƈ}>nduCpGXvfc+޿bԓ 2oE1$8PW5 KԃA^SE/J\+]+a^7vbim@n=xӉtv#5*5q.ahx 041/1NPt..NB_y:o ?k N#*ꮷO 0@_y\ hӃqp]H$VHCPB}4EzEXӳRAm{J7Fk) ~<5|5&x~k3yW" ;$d6xu|։ʾy?K tqت E6> VX7R RdqdhiSr3S&b9D::5P7ubԖywbjo:+vA鵺=$Ӈ|c%)ߣhq,7[ԡ4:IoxYe-MfZȉurM坅3X|b:y{ 5b!.фx?)'޵F^a۫ls55e6qS';RGZm>HT бb3833NĘq!gs􈌗(5t*Z (:yﮠx$}4T?\Od8xnz*h;M#ҍueon2*HYTX$jdaˍ>ŹJX1Ya%ƌ!lV*:,CZ]9D~p6s^۳];[>*-:Ѐ7Lt> ,{ |SV{MDzgT zH1<æ~]pU"D͈ܗn)F1|oyPBτ̗ezJVW#ϰo7`  Ip\kT^VΆP!xl\Ц@ Wܵ;$'Ӷ8nu!V6R,O(Ҧ}KϻP1cK)񿿓S=b"s i{"vp4*Z|uDY0Y<=7zyY^g_ )4YG/-U@۳Dױ_{{OA3c\cE*Kx (nY u "Uu4Mߑ_Eb>κ8h K"s 6=%bbɫWBy`SʥYE.59Z[͔Y˫AÈSD7|7'eoC l$[EM ݣYWE-%mdn_]3ˋ,NZ<">)/:Ӵ@:c"kɲOx}۲m!2M'(b&O 6nH3y;t$v$q|a vs@wd;#xpUPģ6[T=l@z,Ebs4?>ښ"2oIǸRqKGBo# JǙ׼=;#j}9j g x~C&L%0>Ĥ$!l\u=q08T>qe5o*gT-!.}bl}`iPt}8BHy^ hd \'#C3 Jm"\I6ƐÖWS,0hIՌ\!j]`⟜6YrEJŌPޘ'5ק|flz,u̦L6Vï6ǥ5QHV N?7Xl XE(Pe,Ik'3jFǭyN'QxiP\BiOF[dKbJŻ#cb2mqZTFZi:1ǷV& AkpoЌVr.L'Z@;P(b3G>4 &U{XJ+ $((f`KleJu9mޮ`ϳ']UB  )훂bzQ}](BԴMPf0  GbjUW2]wwt"s6VL#u&@U]ݟGo<'{ipqfQ1|z5[NSpA>;?8a>kʀzmٖ`1` o{8Ȁw}z8\݄nALǃ.U6{ym 7%ۚa `Ey&C:@m 5) XE1l> -HxZ"+H9ele<ޟ\_EQ㰸WK q`5^ENT FdGAOŁҚVMck*\ -__gDvEZI7ǞbmsuN뚆%.1.x媃?>ޏ> EaoX,yIzBAd)+1> }ޮK&C( )3{j 'Jd1Uq nIkGЌ>m^* ]dvVDX8j kZ1Ğa,a8ME(І2ه BRش;ݽM!3eWc$MzR5xT_Z~>}g |7hF-,qiOakzC$}] ֹVEЅS.''~+ʔu7'p񀲣v(djiz %~}!cC̀0_eAC %1=imjt@ ;x,0AT~qܠ\ҹ+ntf[]K+XOEaS te# /m͖L̔ʥm^m<ƠѼ׍ujed+Dy zr[īabHi__‡Fj L`|!Udo9~Q&Q<*4` ׶)f8YfC0 >Y'̫@vy Lc%TuT["2KՅ%{u62/(WU{ Ĝ{ܾQtK[bBy=r06`G>:6Lr<V/SlgG:T0p5`b惐HH`Q;ZF_w/ A"G!@⹝Ba3-eNbFvy{b ʜSCO^w k W׮x$;cjaY+"ሡ?BHpQc\9z ł|+ϰJf}rgZ˘0$/..?3JWpi )k3Q{ԠB{jggX".&n~rٺ*Yp@I-}>Z\e>>LnG&~Gdր^VFdy3LMgV]ob>.*3q@/Vy_ZD76ΖtnzH8`|VXQngKaGwJiF&(x]q殔 tΝ;NBY~m ^UGOUw_lt(H; /T5[ngЖjsкiܯ¹w6lk.bݭ"qV>*܋ջOH᛫_in^DSŬ5%9ysӏF;M4RӦmq`€ϘPD$,)~_l5Д0CdtNXOkMǎ%6w[N,+Gj!z.1xkQ܀i!j`4ʮέ^V&| 4| cj`4T!H4#|KCEZ:[nF~N[n!q^lvC|̞3JZ4FB"b_+#+oUh+^ƒk2 BWiŮ4zMP൫C급)mJҷ!9/v&yOj,`s*6O NU9l+|JV)J~ɬb {j˪<=88Gt)yI./o[6HCR.<iOgW>q̰VW,|< |]4weRPB;m_sX[~4-!8GGG=b1YX r KI*D[ JΧ#h,1vB=9jz8ppZgNzh&0*1!\L,9ǣ85ҧO$ly{:{@Vi U]O0RZV:\.˯kB !L,範3Rg4bXBuE"S/2>4 QWjǪˠ#|v|F!I4Z0ͥ&L4d-KւXnI3TPKZ\}Ցܳ*OV6 H|-7NZ:psmDR-4^.g2V6k-߅#5! \TٴaSLy"i3$(cHN^ސa2YIBbM?801_4E_*}?&TA947fcfB@+@nUdW 噯*S~)\uwm[-?A;hekK~rhe7:` nYVJyWƩVW+/`.Ĩ,rX%570>4;Vϵ=&)$bO`]:5DzM-h&j%Qf&p\|/sðYT{s_D tX>$u5:e_hZED s9tvbɻ:uAխy>-;2#4ʗ>&>J'S *[5XsPn属S CԉF{ -\+Kw‚l^?Xʎ DQUBBxʪP{"j$55{y炵|5<=xT Tlq=5vBB[Α J x<[a<==aa]v\ەBb8XM.#(P?¡TǣY'fD 1*Y=G!Ӧ< <4QM+ӕ@ڜo` wPt;C?)B&;(d O^bs@>"0[G51?2 /xh1fj〢>TRFNyJh5&oQjw144}ahyF* Sw$h