firewall-config-0.9.3-7.el8 >  A aU]~be>o([v,W妆\zQbh͞Ժ06o[eb$ۋ'GMd Ʀqy (e(Nfg 2^xj&Ww_6? /. _a7>`2XVȭ*u|&` s;SB֗\cG(%Ҟ۩'驥*_cܸ^l\J1h`C j ^yȁB Gh^M%`uEd n&,Y<%} ^%+ulb@`ڠ}0?2up~ZuU%wy|pP@A+F_fK]nxUP/#M'FOn IAu=fa"wa9>rtȔ Co.HtW&mJ\Enh &_EX"2k},X^?h4=}p7ގã#!84«0k-˗~n 85a @^"D-e$VRGi`J)<jzpRd0st]i"wT^/U i**%ZI"+J9JpV(%Ŏ)9ف$qXSUed %t՚qAܙU6ҋ*j('NRն߽4b*!mUZ7܄Y+p<#?#d  A (` |   ^ l0P (  (&809 \:$G\HIXY\]8^w bd (e -f 0l 2t Lu v w#x#<y#t####Cfirewall-config0.9.37.el8Firewall configuration applicationThe firewall configuration application provides an configuration interface for firewalld.a}x86-02.mbox.centos.orgCentOSCentOSGPLv2+CentOS Buildsys Unspecifiedhttp://www.firewalld.orglinuxnoarch  m ́큤a}a}a}a}a}a}a}a}a}a}a}a}a}a}542b86e7b2f4f5f32ff4fd2f1b4e0d8e93f5144a9ace4e5219b21a5f8483f3cf2b7c20a701682478e08c91d84f767c054f40368262a9f8bc7fdab92cd6fdeb1d92654f2a9bbb1f82ae2dacae50dd540ef05c6be4894bab0e7e1588ac1bb42f236d5b33efad002f15b318e63482706e01a2b1df6ed9b902970374b51a7234dfe7f06bca8b424798b7eab76800bbd9c9b6d8e31cc2615c0055f2e49d221c470eeb7f76ffea9100006823452188c954696a7c9dd92d6801937a23ecbcea2ca0323318536ed118fe42b6a27c94891454fdc709a79d4e34171048154b26c3fb2c9fe44ecf3ba61c8daac7e13a258c9bc490dd6692b0494a7f83b9ef655084146dec152732f3501a2b9262bb1458713f5f5a980655f7ef5d48cde66902643f6134bb4742de1cff244f46065694258388751f164866b9a8faaa6ae2494f2cbc5aceef511af9a194fca0292ebb1458274d5d874e4ca86aaf437a1a051ef6cf721ea70e546b9c7b22d21db4f44072f92bf8b71ed68df0dc8ea48a071e15d6d9298c0cc8edbfd0a863f55c88e29b59fa5c750832c235c1bc2d1f18ffc6804bd9aed783b681da605e96218fccdb19a26bc8d1e4cd09f6c8e5b53c4759377dd149538f01753brootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootfirewalld-0.9.3-7.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-7.el83.0.4-14.6.0-14.0-15.2-14.14.3`@`@`````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-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(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-7.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-82a4320b330b016bf905181312061cc7140e15e7c659c650d5d6205cf56bd0dc9?@7zXZ !#,.] b2u y-iSqjYMI!/ 1~N~$h[x3wH⿬]⒃]ו|8eTZY_2s^NI9~^u%]g!aj>67c.y%o5V^cQZDN')P15$ 2o9Hu-qB.D+Mp _vHzFэF(^,Xx6}DVDbN8!$C}eAXi؀$Vb6pcFD ÑW {k%nۓ^9c~_PMկŠ*K1rrO,Kk_ݭ%&g DCD,pA)e$,4]汥G,u]"_)fr˒qɡTP0Glrn>+;g攮wZikߨ@'|?ƒ6$Sw;sk(Kg9&05˿|N>KȬ*%B$!ț"~!!oiHp? q@]e{2<Xb(‚<;;'|^!E. fQXĶ*{J-wXǐak;j )!ת54,lbpفl]諄zTw~W.>:瞩A8:0%9ց ´̘l9LqM9HK '^'7qYIWgMEM`I줔UmТfk9c]ʹҔ.H5GuTmM"3ȼZHȡWo#cݔ;nۛr JzA>k ѕJbvs 1W0u"z0qg.RV\=>ޱ5pZj8L:u0`dj,Ȉ3b $|3RG;F 8˷=@*zlҿo{n6~j q>H-k)ƀg?zݒz⩘Q!0U3h×ח%6WU;l$>u%T9(c Nxl@%bl͢(SkkíMiCr4;X⍷3#CŤ:U[2mI=%E 4 QgPW7H.N9ژ#?WL mCȦ1V4/00D5EDtM :%qLi:7F3vGL]-XaX6E F[)1Z1ѻطIXXvx)u0՜<驒Qz"9SX\{|SftkɊtZ3e@r>+:#o e6KQ֓*ZI0"2\[cG>كɑݙqoMg%ΗE'߬+@t:4m9uE)x|(j 1F{`yfv{9"rDuOTJS{zmU#]|]Pũ$֯KrËCYIdFV{ڥ.k$sK;$[FH3VM+zBqxc/?Ï diQI`n-4 y"q$t3 YWA*)9{ibYOIz+3vevρ3_ |a'nO?$c?q3zWXjKqe.٧)qҋ@S丘k{R*o2 ĸ, ͺqܲեfY,|T:K6:z>bt \ rŠ'g\]&i-No1ݘUo_WuʏJ9EָԔJHoEY!4N8]h!ݍv FЊIp}^?{pe~g: ѡ.ꖬ-T\c(4>5'ѸQ?݌ίVGr闃IzM/ENxdkmWy{%a>/c.H & J.5@qK*.1DwV{&kl^=k+WA?o"+0BjLRBezT|y =ţC d0iG4>M!^oF}6W꣰% aA*~aL1nOG)|) J] Ya+!*[Wѱ{l4 QST D: 蟣(:mZm| [.3U3YCxeuӬҵ#Ы=))H6NŃ}lJXp+L3鶘B"^~则q8ʁiƲqM#R(8y>||d#>Gpd1^!9if?S=T2٣]3R x0Q 9؂1C}L d 5 깶 Ԥ¶g3`Soͯ_b:h*̑9DH<7\;N{Qӯ;i9iRVU=ϊŐɆ/K[@BVȒDͱT9ٶ;e+\kkx x6 Ƶ9,U;rKwghr{; `O=IgT@8'us51`y֑վ}<,b[qJʐNQ`:awz 0 M?OcFVY\P RQ`U1t'9pacb6571 d0wb6XjZ%AN: d*̪Q63Hڭگ mMb>r%Z[wyg8#d)b5yWDe?Ū8GpS{tzf&mڋRfx )X:Xq,^E7Dz?$p=za?l'A]RM fJzyae[M :BAK4XWPA{FHu}>QsZ]a1 DzLL&W*ەG > }1%.8%]0Jb\FzS440~xW{lt<9bbi0 Q$EWZX@ðs8,:v,%$nޤJ:$f ԧ(xU5%GI3:9@VP٬Ѡ6 ]n{2@ :5>,7*m{:?1B̂C3U#<&EprI\표u•PxUtw5Ğ:Y/ʱ@/uZs7'qPlMWe 6MP5{5u^•nCZÏUI@e䓝m>m*A+dYGc o\rtp 5<Ğop͎$Ej=@}׆C[q2:0|1Z;ۑ ʶsږ7〠[Vÿn7T1"`!K NwNj|:￴xdٮ.` E/mW qBJ7ȹj &Fe0ʤkuUUIQQ "HoLҷW::3z{bɘ mT(VTc;{@aw=}2:z4;e;~J S|2@QvN:3@`'Ju:Y/6Rg&Ȟ,Ҟas0}VuB+Y!dTĐ7O&e7HyZP(aCM}O.iG9P712`ηYkGᴉ 1*wZFEEj\NG9Ġw>6~AK>rxlݨxɯ 08G!9"K{Q˴9 `Ps`4Ȃ_vEU+<[BГ+ZFmED]sO#qkDI!͚Ĭ; \󇬶QNʶK0լ\$w2f11'ڬAi`ܠ@)8L|)";Ԍ6#Mmg1}s<0MD^y7&:dj{a玓Jdնۡ}T`}`lC4ͮ=TV hV 01(wZz`7 ΌbR{Ñ\W* أy?*\ q8?!'pqXTbHj"74Qh}"p/=x@2ͯ5[GG<1.(^` r6$:=V{x@}`t/AD_I#xP =ߎQ QB's,XE)_$F$j*2Mi- lw'rػIƢY0 4uvCXx9|#FJ?/ajrrԯ8xޏ,疯 `XjՃTbsq-YarIz iQUp}ҫ<*Ud5 rL?aǓ ֮Fs?y!Gv# aF`tQgm`tj*cV_3oh٣ AWAĺ< Vۋy o֐ƛELx#>8y:rXPYxu}K^,-Uu _tF;Z%_}lw9{wdI@D t̟:ZͳL 6.U>%Xu:M $(hG&9&sy"@!ZB@zs/O@w%~&,L(MKE(a6 <8Ozn'Mp'U-oDzW~CerQYHi~qi_ )<ҶQ2 PѐdT( .okӰa7.Ġ>6 CH8b/hjpj{.?yjGW8IMBiR7\a 3']Y] 4LJ4"1g',(pA*Vz X/E[MŢ2촓?$k~[9FH"j%<~3l{vhޔx5>?9-&=lJE;{f!y P0ʚ]4Ev-JZyfwM3Dsv9Y([Y9Y`5EIl5u4+WzHANKz T'/4_<=υP08кN c/ ]OTCM_ɇ'`zm}P,>t19tD0jK&xa1g/-gF8l+pD=-3ɨH9\ޮ\IZ"(%׬h` f]6O KcsAb1`|C4Ԣԁ/dS0Y޾Y ym|v!^e1n4ZWt-Udkc}K_ T=! `{$jOs_ExTiLM >.a~Zś ) wMK`eWg!SM9;N"@(~b&?{4zv3l%n#+1 ? $t,KWzqW-+56{V9@;OJ֤jlL^k]ppɑNFL&T`XHqѩԍVE[ 1.ʏP')2qj\{>+EQ? =&| $5+M\@.!?ݮO"ͽ];oqgfLRi0ۺ-M(.rnɋ9ThJGM?W(vhD+nr\ M@D!1R cM}Z>Drȭ)-H4cKh1ڝɜjRL䳳̔?׷X63u$76!(yɥC7׬Uzs@$Ov-ejw(!'/LGZY@)`7H X[Yd삧/]Uqb=BD"W#JZEQ@fTdi8ߖ?,3+kE6 }F^e mB@$;/t2YA[|k=ȁpygCRDC:,\7)=ۅp_\ز cqɀ7( W˘.s*;zQ#X E _+{"ZjXq=/=,ܚ%zZoOR׌<,iW{aE 1VP!4a]ZZ۷ג.|#Rvyȫx1N&3/Lw|2 vӐ8̡t񼇳pEKlKxG~Gb+O`g|Ҟq6g1q3AfjM,j'TKa$]U)XFG%aS2,mg Cdu"v痝cA"Π`hS{rM밥 Yw6}hn|G f'.|(ҳ#7ɿ򭘡m@춊uψhq->U~!MRaV8$ǤEȅZ {yO4U4D( @UhԈwdp:[g|9WPpyB][FYdS=..wN$+/uNR-o PkJnbXG7_IMT%ezC|w7iR "$6R"&Lk>'D`Vjf&^Ѕag^$| ^ b3(> K0e%' P!s2 rxPa'0l2W8%nHaFٝq/*OB]qD9ӓ% 6qoLx;.ӫhlGPP\yi vag<>K)7, o@@''"z[Bb.Š/dX8Y>Ԯ/F͌BW3b{aB4gƎE$B6YҪq#Wn? U@2v>db VwZIޓDhYkfӕWH1~n>':UP8-ÍibfZ{ GӪ}*C"ƕ/У1dSyFOVrojku.Qi '`P)2/Ԡ깃fU,2 pgD͝# BRY )#GB֨݀{7shaӒoh$Kۆ]t\mUOkGIWO.4*ɛI(6\܉r F%ԾCf:fb Ch !HPq8Uy__7Zl/dbگ [qRJk&iz|DrD=yh{DbTsFRӴjTx}]ģfߑmda<gZ :(\gCYv E~nXNJu3!gM30a;+XB(&o@C# 5?%Ub{w",#4 f=zwhbP]˛gĎ1xM7(w(𶎻[A7Fu'k90*UH\\g@w炏\re D˖ .(foڔCJ<&"ho/sz& u-~T~z7@,|WzMYc7cWx(myNlhvԘ:C;^KV}GIU/`cd2N|xJuuBK8=y(.U\,W-gȆX&:8gLPSk[G\d,;usl@+'dWRG\kRس*VԶZ*xv9x(d[YoӲ~p4*l*wƯ]ZXVxcu8*X; 鱗*!@2: jp]M)nӚa''d6QoXpU(ZzRt]϶+ky,оtS 񏶜 α<+a9Ge'J@8}{6ߟXR:(m@Ҡyp%PEyC%Ow2|{@oCBN"/\L.6Jsv/+רݯO ?BtD Z2%fϻ!\ijpa rcî}أsM 'ש>H|[٩ -BUqE qFySzVyfEuk6Vg7qgcHB&XMsW) mAtuǢ7qzeı*^p}INWjC*Șj NY%: -r P{xMވIBemjLI\Y`Dp_cF 18*\˳h&rtπNO}>슞"xZxWYY+{fp!MaT"5pꥋUݿ+GiNt []GKݯ[:ŞTiዔ; ȋ ֐:%Pmz} fdk~[Fz\I)0K۝l̈ühԆUhh=u\mhY=F^gFC_!85 ~G/~O6: /i'sC#OX5?3L.FFaPN^ k %+?M )chqvo2;9t}죵ġ\傘#3W5gꛆEpǵHExfXzË{ B6dڐ7|k^&X0v34.%Gofr͛dd`1"g>]/2yeL! Lm4 $B$@\`m VMw| sznqi`ʁo|3`k[A݋àdq"zZ şB(8 Yl+# 3&}s]|Gy'>/4$Cg{ϯ`F NiPl& H SgZWv:qVC4}Ix>*pE)#P0j$jjd1QbSn >Mgrq sCw[)5l&9JKZbD!V :28؛ƮqOr)}s n&oНs‰\Pz#TW)sUJё ]F(3)w+H3/*࣮^J'_Î>W;'C6]:Ȼ S4d4h ԛOM9m4D/ִaD}9"iʼn\/!^MMΝIA]|/szgO}aPS]?~R$BgK%e`F&dGttT9ÛyIG[8C0|ipNn䧚;N b; wFY 9/^gɱ$CO Njp6Mt7ˎ *AGlU*' B2A,*($֘T|+)]L;Lϳ dD0x nVGz>>Iwz?zm>ALE;UXAnr;?X2ZeQ/wZedD`ʜBobr,2Pj>t6vQֲmA9+oFupo<|h|gIhE#wX:u$)wF-#qsK@ARg[1q &'XO_(F|9@}&d;v[]Q5,Zuoh/k! (=v=[3m!"70wu(-1P{&2w/QZbCPP('lc4f`MԕW.,}BͰ\ ˫*|Ku7(XJ!7H4=b )Y䗿xD: _lLyks%8HQWB܋[Qgj%yDCNgsר19[ًy&PGܓ fz| S 0׆ 7a q)僙˄lG睬qm@*04,4Jԙj  .cZ;{NcV-Qz(#Rp^mN+ pJi52-,PبNuǃ򤊮ziX𧻓Yʈn,,O$Ip.?+֚PxiEA^Jٍ p H\`)HPFl<)>Ikߓe$c"t 29_gH`1P)`4?N06!_}慶6m)x/ mqJREPsK͍~^4(9FOQPLp;ҡeÒD!9Qwe,q".neձљ?T! p? y5d潺쬒٤BK~lKF R3䷉e_0~| 4,9L 5K dX--o,^[S ɝPw .ݹ2F}d~eِzX-vwtpJdE1_@6V BEH^ѦcD[/J]p>Z =$]3D:b֥ gkhbEmLz/ul|tflRY 'y`.5gٝUoK>D*yY!J]$C[qVg ?0tMڜ 4l*yo'e6#y꾔,N0)}kFy6OXB01iVa|9Kg,VG^qCe9Qk^ˍb3[z"RT!3 uZyܮnq+% ?agG1+[Ҵu$ù=t-oj i?wa KctS~XU}y:}>| ř%N(*NZ$HJΕ[jl%ˢ;kNi УmY;X2?di3!,oCcK=%^%6 I{88仨'6dIXzg+2%eNdX6|9{,W,x~2k(TKx.2!5&EgžACb^ 磨 #[c(ӌ4 f1Y^2$," "i?㨵71E@@>d z{;/tw({<ƽːCg},'ĒT52_ [ʾj_eY##`6iCc÷Nd$?VΑ*ӢLflrj*bntF)fY,ĖJΜoEgXhy72Cjm`"#,YTUئ2u=^+BNtYAy큞Q1.ьص|# I_Hf5#Ѝ5H~CnR!m"܎`du_DߋnaoV0طOm,}3zctf2/\+G*[^*ٍgoz`+DިGK?|R:a[R:4bɗ=չ)}+B+;{C"OBB훉5/{+vK7̈́Loin%Out$&#͠RBPDuneTTV8(,+"rd]te&T7Ig"E`BX41 z;%.vsɷ~ONn jkWSQZcY"j^KGCsd&C>~f{.]WZ|VguR fJh98ԇ-?[(Lsn 7'bkoDN-1#1yc|K.U a¶I#ާnZ]b:`%TS8-4Npts_D/h?OKQU3HN3bu#/4Uu9 駥꣱g ʛ 3% `y-^86 teQjkiH>q"%dޜki9Qy_l/Sg,O&3x#&Ar~X:JGp5]ñ y/`W})_U8-VY iaHGybT![:<8gĬvUpmb\;G+{0,!2Lec*&$9^P ?k)0tF-!0رBW( wMkv`*c\yJ)L]7"Z/ި|VdT.&)4S">\.RᘙmHmY̺dPpXTQJ_T_TN|JRąpBO}I=>,K;* (CIdܟ1ʍ*pDoÞ%+.̣ܥݤ$OE14y: G}:dzCBs{/')!5"/7yjfs@ֵpXn#t@tDBsS?OpwQM!y֫t F4XH=:(!쉣Ne@{ڮv\es"3S鸛<SVzd;,&Su̴lYs m̐`VEh+aaڑ@* rD@.uv @twS6rZxO\FxJ=؀;P@g.p޾cZ1LbV}ۘ8--ߥQ7,"l ƒrCTj#/=Vu1觍˜bvͨ/ ߲+֔,X[dŻz+s5sd}G4?d̷dT{wKzM $*ŨAq Lx 񧶀A>mW1r {>- bض켋?mӀOs#J+]wPOɘoS9vGRWVcpQ L!sa9h(x[8\< B@R& H|Dy1M  @lh^ٌ.Y@^DR_P ~}$2ժ ;)WT )}7l,!{yi2A*{8ÆƏWtf)ѣLC Qا4@z{vֆ),Z Z# Ozc4"سUIsyխu? gd @jNqS^`lJS a]GY{%ƻz>Ț )ֱ-_!Mz딍nW [Go"ɢ9"مKLJv+Rw %$֚D'NBjmW;g?S(\ "ӷP Ts;ڷPu\UpK ?xV%s4o\5/YU:qg_5(_I((0=rY4868q[K06$y З($8rJ zH̲Bט@w`yjzi6(ȡAED2 XaZ:|Dޞd˜^8<쩮Pޓr< ϊ%9g}^9@k[:f[h0VSZd8 s~ߋ>J5Pan\G#pItIuY|"dyl!E2c 6,Ll $i<$/Xі^_- [{ELd}lSuIBk-3'v!|@ r0Rc'92bp})UdS-@.#Y^Ŝ/ҁNn8H';fV r?ڷ |FŇ$ǧ=,]uP J3݂݄+-0HIJ㩵t"._| vR8"ZX{vEլsa4o1=F*SFh.==h>n͡Umwm7O2~p xin[*ݝSY @;iNq܁LxF++iw}k*Mb}Nqq9֣b0=b$TcH}9ARm2ߢq>]5Ma/zŋ.=ztպp)v% KFYX+><5zV[u1F^ N(<sep/!~ԍtC2[RLt(X( yjuN1@ XC4L 7B/2I 7Dq#PKg2Dtk5:Ԯr,|V 0aΙoKR{4'jntX=_tX8 -Jggyˀz^JWO$iՃVR9KS&a#hɏһb1O4It|WpJQlBJ@V-@DK&0$Lb|̞FkD7]xDIΤуƁv͆Wu(~ \92/䢟#w14X=pBiE*7ITt- %dѣjNMqjrMgprmK2Uuó{GEWNi9G4-XҐ2CB7A(`Sgb9pW43FOg17VotE 8R\vXS}CObV6WS~MQ eO\)t:jB(.ZZZnsdK\t+i<\xpgj zYjD AiTnτ> >:`Y'wcÂET̼RxbE $yAJoRt%&, ,ޕN;?|D]n6w t!Zn+RY4|DJKt^bƮÛ9 2 ea;Os۲<ӻ5הaq8-xCmME~DdJ#Q.lVGiӀ\!@N/O y_pgs=n@1E 몑]yĻr/ [NW7: T^moBL^g[#rKH PțC(ψZfiA2"3X߈7%V$Hu;urAT<)J 8]S!,]^dbBm{`t-PI >̒"i*Emr#%WWHHaz0Uo6#2P,K<qʹDkly\tӆwv+6:Hf&20r ;A4 3>ёҫQ]8|>sd8N$n]/\K7LXc@ P>N0ڳ[ ;?z-Jow lrZ8, O66Mp2$(*9|!yXA=è%+?cV8-: { 6DPns7Mui]?.YٛXiH8Q>j\THt;iBh}]ofⰤWXԻ}r>pm-8h=OiK'{?aaj."b'S{|6DGa$5d_\2JMrv cWFϦ $E *}EGLIu3!*9*2M-^- 6xF}8wv+Jp/4wCAA?̄үn >@W+Ę xd )NDjG,hBs層!V`apK萩X S'й,dG\יSDg*-U8V = RaGLyی H{Hˌ+N>ܐa?hdKh`Î/OjҠ@`a[^ӧ^nԁ>|{笎T-hެ;eۺ C~C]*N0\Cߔ3h9'qJl.qt"M: @>Ga2u!7_`]D1"ԑ Ckensjz@[>/8 Oɝ4\ paey=A4o#\U_ts[ O:fQfd;4'5{dHM-;Z+LGJLHh/:G0Fsg_)3ĉKR4`6'X>!g*i٬6"2Bm:,G[rTԑZ jʷ-/)1\Z@DgK5SֈiFwHv+@,^!Eq܂ߒv%‘)sY1+xL #O+vÙ9?yHOzl%M]|> Qq^*ehPKRLvJ6|Uw2y鋵30P!s? 雗SKp3qB C1>TͶ5f9ÁFAЇ i?w$n7LeBD:1v);>W,\u.ZqTB'K=A+抔ǿ5O^JTݧ˜2`euKin0$d#73)ksDKy|6L)6!Ei\Pzs F4.1M,a-Ђm߃,6BjE]zErz^3nU:8jɖ>{jDďD^mv-A9%N=~ׯ݊ A'D й3S:<((%y)j괕&T_p@M/"~HHڝʡrxt딿zˊ-giֹA},B1υmMQ\nԗ& -Hجq5ˋ@3U .y&:w ̀&"QQgM(N9 zr9^صC}jzR p/E"(Q&`x}w<e۪X4z2HyU7<2`U)pZ*L^ֲKtV4YbԱ';LiXHu .Kͼ$^ џ[&6-D* Օ`&Eؚ 7kL7t<E 2uo@1x0YΰYE#bXAǔ3'C1ٲ &}D_74+IW򽻍 cGi̓N-rDhJIՒYHőlc'=|lsE&EdIY;"dׄyzE.cO<[]BGf+m-ßr퉨|mUDS*YC2PJ)T*yØ|q>2ǢQDO^XvuCE9tº̄9 DC[i+^fZF?NQ+k$:H%7%G,G%πN[SRu3T)|iz|fFImZlD t4$W@y*œGr&.(ʣWćj993D_ߦ`tU7b_(G{iV-M$C9j? lbm_u E,{ˉ) 4uJE)܌'/odlpaW^F`AOFsgI#L8D*&F BiOW6Ts#:+Kp :j깋$v4tDTU(gD"Z복$Uh-}~+% q斒<4G^JvZO0Џ!'+ӃV$~d8bjat=Xg.\l4?Sہ2 5bV/3$NNNl,X+A+}T‘ObAŁڋ{I͊ĀhZ>#ͥ72XB өv?s#y/l~R$y [~ɁT/$5u%׏ܙ]>Z"'a.ͻv5tDYLoɋRl)f)Ry LzmPӼɻ:ղO*CGE39wj7E`R-jtZ,CZ2ZIG3~3?UBVٜ* C)Vy./uy 9񽋴p .~{,OHBHleMT mkO#}KV:s ?WS'8WM QIMX E0Ç]Вö 'VEhko2+ZAEBy&)F.l x(#`E\؉t]/rM'ҧQa7 A ؓ?+"7u`8dWƿG;Hf!fzu}ak 12fli.n)6# |b;ľ(wGxLm SB=q\3 S[am2m!\2ḘU_hhERru6QeQ=1As;dv2iu8o\ c{ طb-f=(`UIqE/bJd32E]Ɯ ;)[x~uCjp]s}J0PLiuRd=E920{dg21xO˪ zZo+],acMM3.VZ _M9+QM49Xs}^60Л\p;öT,CM"ق@ thU@]ʇϬ A"2NDJ4mR"iI&]?grTL$81sď1]ۜFP%OsfQ3pvꅔ^Mrh&b\w_h Zud(٣h ^^bUFk% x5zLM Uizt,bRyyL} mBK̈́7l9n (,cB4y!@G@ sdXvi:};36sCLV&]8$u8y*#;Ӓf=ue.Wtp '1ັJΉAma'^ǀ\ucQ j&LW L7ߺ +)_5O&X|wS*7ېeSJsW fg03 7ɩ'M=O.T&VAb~h'ӍQ TA`A![:ZX Ez卜vmpP%qqǓj=Au ] J${ˎ'ddT7׹"ze`M E 2zm@,0l _%5/ Ũl?|wC ܍(S9͒LBZ:A@at? ~"ƊAY )$jvwπ 3g) rYQRd0|qi'& U44JFHųǮiQWɓp䲅zce)CRjgW+Bb~ȟ;L̴K/ sgF:ܘIs!SnWH\YhRVbkBH`mNMb _E x ;_c-Wj-,rD9oP H!P'zWvÍoc=TPA^t ,>2V?-Rfvm>j9TdBu( !'YQԠ [O'lNoPE0+q[+,-],<(%UƟk,W帢?'Jd:bc >ZJ-%Vщ^q'P+Trcy܍H`^PV#R:.&}ٻpлꃕ ȕ'`|vUDðW^%-gwoߤp{ɶQMD~VCE{3&$mz[2NS09f?m13U㧨dwCLv;kVJ4{v'!- {on`\Zn&լH:r{#!xATS̥Vϻ~D'ɩVWX(}j{?Ff>6ZˠUɼ~(~L,Zk]&Ml@a鎪g&d%{Q+)kMy9k@<ESh&0/'{v=Oy:Ojػ7 7혍d i dWެo\m;ސh%X 6[#>]| D `݈ >l&ग़9% #xIW# ҩsHfwΠ0=H;)7,NOh].NP+1AUMQL<~-V;{ 3 HUn>Guީ>tg- EJpȵ0 .stnOq9+Eڃ%wH T:PniM<5JwlL&A@*N5/RR:,-bʾD\0j#OP9x i5԰ODGewѿ8M}rP{F^H*#pNثRQ1BZXyЪ2As;Nʗ% ѝP)sNO}f-A1#89S(=[e18k\ &Q» DC$(®@bn|d8BtݧW/A'K+XewLYJ[N6])aޣ| cgc ,er?- dbҔ뼹_!.Ǔ)Zy3s42`(/Rׅ {=Vo$iO*ԇd2T=a\XNMC] ٖBb\Hw ]{ R9,u?(.&WT;C_:/Ֆ0XǛ AR 2<̡y2$X?0?%"ېw ?)̣ -ɿ,AKx [N=bھ[w [,O8@Ȕ,w" 48XZ&Ts:B7*r>]ơv9bBܗg ]:lεÌ1e5hWwqW%EjIwV6޳dUYަMt[v0;2"Z8U,+y`΋*7PofEõP99{AgCz}J\T"|}QkB{th: ?Z7Ir-Aݰk]TsL5hAc+r0>0[ 3N @;U**{{JkJo9뗇=7JbַO$! gGCc^oxN F>,X0mewX8u@܎<KaZ0:x4\W$evdceR/9Oqg*\{u0/? :`E} ٤[B`:V igw!̑3pVf}y)&!_5!F ﭰJKJ!I ~뚹O v0X`wǖ`kYs,nLf?h zʝEڽ⾁QCyO_Dm!EsqZªѰ@к 9g?r1rbٚF`߆9%5怡,$0J(|ØJi~>ɋ 5jv7W&7;jIj@*9 @Fۊ{N0Iftyz:~ʰErͱ u=j&G ;Kh>}P;V1ש?&a890ndPKтO:3 ,6Nk"3UNX^΄65*d"BE2ZM AJ^rVBǖ4B+ۙX5#waYyN'2@0.Ќv SKB!BDW:2PDW/Be!weҿ|)RG\ϐ.@W^#j3Yu,rC@"JӠt4>rpS+翸͌Xlr}R@w^ }0x) a)h3JT9 vZ{Y*\޸mntWwٜ̾Κ3\P_C5jtChEċS$+!&V|ih I'M F#.ҳ]_;]#53" -,:B t=?6]&8O>nsKE7u?~MSݾ~ڔ [bX n@B7\{7bP|%Zj}tDA+W#O!LVTw8Oi#ficeXlR3-^F^O]WÛblyRYTOӤSX)`׽1ƍ,HLj1<1ӕLJCEqff9ܤD@Lz/M ZV`-ACmAY7]$֣>͓\-b+ µ@ӣ_6j>衭(1E"EJpI"ló!xcX<Ϟ^ g>OQ>mLl@H"Yí jM$,-DJ/M o4XhsBNOr1BRN FbkEPy+vT[LYeurIQ\p# AlSjcEܕfSVA<~X<|w:_njiD; hKD–;IV CEKHĐx!ĬE!6"_^# !7e%[>" Fx6e-c)>c'd/wul4ֲ.͘#6X ZXsZ5e2n|yl`J%("NthD(08mΓ+͓Fщdʵn$3R kJZW|N>CG8Swߟ0|'r >`ti[/r0>IPD?*'7Z.}lE[]v`mgɷ2fxC0ZҎUWؙVMz'e/B ET!+(d)n|CZeTO5dGNBSBQxHR>MZ4^2l{]ȝ#~1 @* 'gn>7s,  ָ=C|9[F-olR.d/ 'V1m}n* cW- i6B6D t)},~Mdmbo\J1ŋ +t?G:}΍0NMK6S\Aԏn@ݗ8U[HxK0R遍1Y6j ok )Y;<-Y 4 #23y4$nx'G9 'Zqe6sն Q~d=c!ke5B#M(yউ.=HQagRڬ@ `jK jSxԡZ{ݼO$Ž3-i3 ޼G+y%߸\'!pFԸ4N c-2cRʝ(iL%gD 66/j`wx8tُV66nЉ&%+W =?߸sJ"5Ā Fe;avwŶVq$ _Iyuܺ0Xn)z\9NzU bƨ8*I%DHب$FEbS(prXl|78u*R|hR `K~u5@L6`EsRqe0|v礗N)9 'EEA2ZUR> %~W<>#\#j\ wv/3;nj$QaO,ֆ!INr5bm@Rlˋt( YCdy[T;лe9Tvy b5X9yG8JJ>GE3uD:(zn"H曎 YH:DY*ۿ~dӾ z-s"140RLSzZ7js`AEDywd<>J,Gk#o=Ees " :f=H*:TgOE@d{3ȐD6PH[qBNa&ШF`ŋ2ohɤq=Bzws{tAwJxe4bR.|as7v=ϱ03'YJu?lߦi劔G,KLj3ז{8m`RM4,g7' @&ݿ;X]_{x_A#'a.u6 ֦Tܻt q,*cy<߫* fs9ʁrmĒs3CˏV;ߍʹ ~g/!q/t=V>s #M{5dGo]w{7brǹG5_+T{]2: aj嫛xă("JC_xUΩl56:Նrqg݅D k:SRF3d"jrOOR= JBNu8 d(MѰ C(X& ݡ-2+p|C|.p ΕUDTK\gʚ]LO@$k C)MV(Ii_Ԡ}Ցaus\⁳:{q2(AtNk{³C d_z.اu44%KAΧS3< `{nmd?| ~VX;jm{K2KfN-$b p)ۓ\@NyOi-`|[Xy"j!&w D 0Uj<P\&'_ᚄ"̽Q΋t=3o"u`^흲J8}QpPRizhݏl=HD6ձ+jG?.po& DU;'5X .MS=oMn%Hg7bʈyOmYץ%u@CQZM1-xj(PL|V|U'(khGMvw)U=;\!ց %Mn-&Pޗ `ċ0׮Ν?u>zBAp2𢣗)^*q0;(~ع^[xMed@&dx_%SKKy~\#;&V~ ^2'sSˍ7#sX؜b>%^eƀyBHC'atjz[5 <ܵŧ]L2\$0ihv?4CM11iaϮdbtVQYIxR.*̒ӯ^[-$z9 LMYli\R|—I0aӡr=I2®覥[?Qq/A1у Ώax6WP-w uJtH7.y*y.'ЌP0 V#jxEYjg 1ѣfz!DJ+AZR,C1u n'%;+ \§;i ,,(#J]"Fգ*cDSl/B'\r6JCQ&' ~B*Q>;'&wq2q(<[U s!~'AXz[;1 zy'|G>z0.Muݟf[]%bQЄD~.^KӶKr1q<\^Gȑ'm |8F-nX'~A{}i61~l n2}POLPwrܱNRw,MGJ;ˠj\.zx$>C(|GUm'އKmޘ4V]*cc<&L.}l 5 Uc{pewL fj-*T#oԷ}h= `ŕ? SoSrj7As^#`dHr\6~_#A2WWBe@+q mpfr ,}wfYEuۍP<c*R3fҺXlnkNcɤ*Vlä0+{ C:3 j,1"pE%Ņ4(u]aw6ÁEѿԐ'9;pL$bWWrT(K,oWRwG!r.q:(x׿2}iVGKbN>UNG٧l(jCZ'kpm `d Yjga~VV(,zR?$ŠpMѼqݭ-fW\Y uc*G9[~}g*&yI̽F'ImȜ->ҕBw*2 k9mjg>C!՜۾c15W~{OQ)]n8?֭Ҁ45ojiH| C Uj< ei;T=FrM 7Uf{G:~6|iwHF{kNѠu3cY?VlbLp߰*&^q nxVy9юs7NovIby`HAu'B4Y2̼Uesژ0'-C)+|> tE^ Ϙ|ŋ!!Z*-O*%-h3D '-$urh8Z,#*;$G@Gvq2 >5;F{KB#Pno6/EԈUހxBeq\n2w'> 2SjYKkedrnƞ,Ŏ|~+k!GC!L=CBE1Jnq~>e |M2={3@C`qO5Qjb~AOv.h6=>G ]A^ghY5,: (w4m%wV]O:8Ǜ`R$U5sE~_[kJٟt=zx %>iTUt:ۜ zD:l,~RvMʝ~UZc¢FޤW?buИ?,Ӹ|# Wl5 lZqmj+=Oڽ;xXr灒)eBmQ;0:F?ӛ(D?_54:_y#\jswd^+.&{i" P@qS}\CÄ=Z4/HXQrN h4 kI+>K^-Nuz8Z*(ιW CwJ\0_?qQO[K=zǃ@*>ecyQ\kH %jb tQny^%|ÿđ6Xn _cE ` 2O3`^5/VaWUHcpW"Sv{-YxXZs+C?/ypic2ܮ @ya:6Xs*6r(t:z+."yN[PZ/gbcvY$z䆤|v6_z|4$]Qu AAjJ,}stN,-BZ(yUv%0:2Y8* {a_\,VN㌻o]+v:ƈP?a% ~[2tRhz45Ѷb+8o!82 S'm]^_*:}av X߿Ą.Z(.I,sGUT8wM"S'pN:g S]/&vAzSJE^5p !AGSi4EayTC5}M7H؋vdsm$uv󂖐wk4-]WQjѧQXՑu=qK?@OFNI+^aX>wm#?zITl}X\֍ g+K3,EGͽ\yDsuwH3S<}11T* j(  d~3{oggD.荑s#r$4XQi~@_p]Odz?X7|sF*PA tvX2|b7CTO؎fp(}8*: =\VUղ璥v'nlh' 3P.lHHpy4I]%ZbMjնKe#q$,6jZb5zTۏ)nws&@H6*aYEc='r, dK?E:p}lSեz`Mqx`t',#D1a$"C\o jCk"ܲJ7,ukx/7C 5WtC1`o'fl mY|jz}רfn 0ur^{N@&C)E /ScU7̑jYK|o&] (s_ָ֊$nmxШ_A۸cu\xTd6A+(7 CoJ3uÌ;jhȩG*߻P,@vۓ(\̵aC~婓ԏͷvAvEY 8&M=YU`Y6 1U" bD.EǼ zNcZ4/e<⻙#6lS ^_[ٸfV`5];ĭk0onMISGh}<h]r8]MK=,9M^zwX0 1m$1 HBu؍U+sa1IY)|kk(:HlF`sK$sqK-LnLY7ㄖO9 "( 5b$^ yv[U\^exvM7m^H\e,)6Yf7ѬAb3knAhɽIc(i`tlHkk02t{3`?1]Wѫ.uƛ*Ԧ]LmtSx=rK{E}Ȧ͚rut#([Q]\]|bs~OO8D{^h}'JΕ}M|!5#nJB'$P&J0,8i 7_wqū% ?'.sƁof>vke((/L%F@SM/!ihBFn^~q&g{q^v]RʿH9^;ЇVs^"ڍ_}(-|K MaFX3o{z}vjB$Ќ5*ܩ $p]UL ))&@R0ZGyjI-l%"%Xz*lE\TS5um$zց\ K8@mϹ+ ~}#ʞegELDn-h@%$&CКI׋.SM(!GGST6y5}dMF4L|X)0=!2XltBâKl:>w*_oe"1(֣mo01dTP{uE֍JC: vd.ݜ?i~4 Aemh_}TlQ}SAG(V ? jǿ+iq<'s^m42>~ if+snI 608sn!aڼit^z1P03 5l4_[k@?wtͤC BÇ%(jqxJ-dV<H<YpD w NjhVzŵt.14O;!aLk8X 64[ w PQVy,_vPӨzdlβ!ͻq_v+[}vpX<@CF7^pS2[|Oaug fz:~tJeT&%G%ַpd6M3$D5釅hvJҵ#C$?NR->3Q;S.5j'J!$ҔmiD2k r\^lu;ZU3D&یi>bkKW kQ-csoS;i^;T$0v>9Kz=jpKZ(R0mξY'D$6H 9q7w.P&vg!7W|`YW(턧6Q j`;CkfI IEvh .r@3XǤ M)FYVY \tcKs(-mqz0**̸|!w8XJQAy2ݑ~V&@睇6V>\(_a84ꐫT&tt`(.WUz@fKJ.$+Q1ZtBJ5"or GHcEyWܨ .},ԡ[m|)|Pp0u" c*DZ!m0{:_ 's'+ש(ۄ 僠ʞI_h]Ί NE{~6 עno4qinuC+mq5Πg?ebq WB_ d@(cla1w hw3X%ͼ,D۱i'o+$&^Wo`ב,ȁ3gro{{+i\QJ`5tS} 8C8Q+2?PtT36_-1A#ЉD߸U9;-C'?xQq}M ܥED~ Ͻ/J޽S~aP#:(S$HR:yBƶQjORHg7Sl}BgTڄf^@#k=Aݙ^%4 \uAcꚸ'zk-$r D у !63 C5*ڦ 8PyY8Ԙ:POx-012Z5fwQńWx$@RqfL**Qo{e3K5dp,m8 7u'tZk"Map#4 5Qth1)t ̾\VґmW_hX{m>"(h,Ak<_.D ;">KH=M ȟ bQ0A]pO 9jkc|~C,qaM|ԋ5*H "Ko҅Rxkhmlޜpl/y(A[=揊,E/ThXqdٍprI83 h4h/]RcJ zT6qS~*l7פYmED$I;ыꃦ`?W}l.IwȫҺ)iC;pj+|bGoo0UKX>ڤOU%ukJ9+hG@7#|h7.TX#+)Qp0G$Erݵ\jGhBB1}2߼$&u_ bxzζATK_ҳd@L-zw_N\[{fzEs17nWK{w<ſ>-L%7s3_ќU!/Ģ:-R#6ME0jmQu'm:ڭ{U7Mr/}-Σ0Af!m\uՠHl  F\K:xVkL$ЎQ3MӫjPm0T^l/fIvB:?E @XSGXQ-=-~9z/z,sD|m Rn {S~Ռ}˕LNz%KE \S3O;:w9z[Qp|B P~@eflIK0=<,6oa>9睊@neѩ֡k_J#y\M4K0I;^*Qu=DB{3kl0Zrzi\,{%D~U':hQy RH(p9[ s(ML8*T7Kf5uѠ>rp8 ':%x4r>5d5:Sr >󢀴Ym(v^ '-g<0AI *ātu:y$=OA0 RFրL-LVnm}LgL/*DӓT_9Ds௻Zv[<$x~Y_L_Eɍ9UdH%tv'#HJD+J6=uڗ4Ti)3+[K̦NTC6(ީ#oǶ1 L#^9L(wfP_5ZCHБO4)ᨉ{v3!|C6ɁsX`j7iXi2c|PGRĝ1wNE6w򓱍E^lA<؝=O44ªR&#=I(3_!ܜ +"Fkf@TnfE,a>"Hݝb8x6Z̢-vVQvCѹ]a1$}7T`?ow!F#n57Ei!FCq $2`qU fgg'v+_=RH] LBxڈ;!<J*a$uš9'߉]#4'(fdP;E\PO!$=XrI kT\9H #^>l@\ /9dulء}s6eOq Q&N: `qPuqatzHXOFCJU!FD͸o4[u2sBԇ0tc[|줺ZZf  M-{WM}#mt.D{w.qSF TUd֕X)&bN׸&jn/ ,DZ]3DWpx6\,˶)i$[m2nqߐ*X{ ٌg).D)tXip"=- 0 AѹE}”[8 Gk\қA(O`Rgtű3vMMriudTXJAgjCW[z&3oJwA{78Oipsni;b_K/}~х` # *vV/-tQE^je|LҜ\_UM[\d@DB3a#ϝTܵZ8Z=C%:&\:Y|EӴAJ|fbXOR7_Yj:nT2ߛ v'DDl*_ Mhcy R#Q.ӗoK3si@񿏃j\ݜ@7Ҝ'F~#duhȥ1 MߎGf7%=dawCtwrxk53P 6 Op3IĴrAui] ?tljr8cuS+ $zO\"LtmLLç7aE<БZo9Ƚb:'.Ne|q8\$fIdm5S@J3JݠX[Kw oy.n:aM?Au. E$&uQZB~qZ ST5Å]K!k%d\nO:k $WfBzw_urpoߵ'e+:*-1( )=9=BEO7 una(5+_rE85 Bl|k(*r>GM250/,tˈ4o=5ZV\mu.g'`~jHxq"C@vɱ_3Uk0)qK4(W *::nۑiQ8)UE(\x%j!< QāޑG55݁%IWSSv^+Af|C&>FCR(r:u#mC~'Q_[j#֗n4Ge%{ (t_8= gɲα^O,ō8!M86yPkE|we`7#?޽.\>flU(ȑLM>dbHO%>&9K+IpڴEv$x["yevBH.bh聰m\:Ku*]筒!iu-a ~he+{TJ lE`=',FPFn(9>$d h&g*&KK82]P4*~ mx-IIor ofKqN. "xr3QDK"o,4]=ߎ6X8D>^)k=*yq݅1*h7!k=W2Eآ hK:=Hۯ3IOݪ[ N._SJd~C]Ds#"nWL𙐩@8 1PLiBOH"QJ?y3EF2ԏ yupz/sP[[u킅g SXIWU" r|ư)6 47YhY{k( ^Ȓ#̦݊y7<߯$ ׏wW>Ҩc"H̤AoXQ\-T#!B((.VXc< iRIK&7b#MO͎;0UekbQay̢cmt>&Mh#!.PuCʓHXs[5hui%. NuU$bb6`kCE8WI ;6{AuT3 L2ʔB{+7`خM¢T7َ WeyE NT!t:%A?@tJޯn`F4eLje[JtPI\tQ pjk1}6e"=GlU4$ʩwI!@&@ڮV9Z񲩯 D6+[Z'hMkNOuu}jV ]t .Ǝ"AkCI\*)۝niFXkcM1a`.<й"7' UK8^G<-IyM:I@l\EG|`=]3W$A EX߼^ t EeqNE|YT. }v"Q:@B=;S.X4GQC\,9y[MmXw$}]mBP9 hb#_/Ӫh7/_%YcG#=Q5;_he3I`Ed7.A4׈ pT/y#=)֠K"c.fwl֨hFr\p۶m v1ʞi{t ^qzȰ=Ŵm/9Rة^&P6C!}D3V9U>{u -(u];9;^|>[dDo?MKcU 2 x`vzohE"rYPBp͢aq}l@)1=ЈfV0d[~kvk/Ap?Ʈ]XD\\~7F>{9R6.ٓ"[ř}ɋ+;2l L؆2ߞ6D&-T?6>C}=?>ea\vPml~lEe/HP MH2SjXZPv|~CBjj8A;æGFMx`kԗQ|H`RFZS0h9< 5Yo,cxħU1tΌ/;I|CB瓻FG'9t\&!SQ&V5(ײב>cIdJ^C  c$XW&L>}tK %=en S[T*Gp S;JVP<a~-]f>\$uNb .%n{ -ArTzrr穡ҳǽPA||vsEN2wKbo;t`2pUb#!XL˪p3Ǝcq(Ѝ_S0%/Նh3F‘@w IŃ\ 5Po5*a6>8)ݧ5UObkKzI^MR3L ۉc˂էhDֻ^DQ)?*=dao೏mCv3\HQu> Ra*q<{ 6piupA΢RhŊr "o%{&H\yS:^-G#NltO3E&CdøfP:*͗T? P3KX}9ͿO|5+}Cb~&@U@_84PB4 `ٱN*VC F$Q^_]yXPc &ypK^Y =B8m{ 3N⭅#-7RJ_RߪN :_`|M?_㿻P% f.˩K714lRt4Immd>ao[}}=KNj PuBi5!3s?kE#8u =bǴ!!%F(˅,Eb|4 YxѸ,# ?zBoq<85qJoI?7H| ֙V#7FVWa TzYa.{kշ$g1ОX3j8@e1=7C(iIsS…| -*"p -s3$iPnFu tKc <ԁx!8Ȱk(Hop#!Y`Jkb$X.晴 d@2nH[R~js*EsʃpB JLtto]gbvN56]lvWi\TEQ>=i=6 6 ӛ=0HuE7lkuLIԫ,l"o`GDw ,AT!&pRwE#./!vH,?aDз<|BJ=a|DXĔu;?/`1Rѓ ѦxO2IuɔmY{Gs>P쪲ea{~gK^fD&&H}=-bms0'$a?$1-6 hoؗ7;ҮV$} ro긽a_'ˌyA%ģe;PIwU|Diюrn GkJdQxAwCHMFJxujPN Û6)덣 I|%9a$8]]r2+""{(ޤنv: j45+ʺMtDmຬ_|^oLGaHUK"۝KȻU87 VXT46IK&|OQ3)я,=DqR,I-9 ?x@yy/{((rM맠33, ɴ g46Ğn/Nf]P9dǩѵAƚf)s \XW wTvmo3D'o/ɠdV/) >u`EŽ8Z\KpdM,8p&ڎisj+B L9ˆ93glZ=z+^NnFI.D[-;^vsy gN962-)/VQ|5Y/axTD^Uؤ>6,'boo rBN6c'ӰQ߉!EmR %(F/Y;GmmBj#€$싲Zd†:FI,w-B^G. 8 WR7^फ़Q*~;n&_/ 30d4 O}#>וhc %riCFk1Mc h E6X޿|nSs\EXW ƺ@aN5!C?K[s0@$k<@הcԙ7?uL^ ,#IZ9-[퉵<`ŎmJt=߭!Y=}IQy?jث~hwLnNp9UkXf,ѡƓ:dg%Azӯ02+| % 4v'Yt dmp)|>[pm*B|#p/{LŸDwk4Y%@؄cn5YUuc1;͏?+C)AjI#6 Mo(qJ 'ܹ=oh ?mةJ IB$^D\9}sxM>&XoE45:ke1/KJ]|uϭ6#4w</"5g{C0CpbL;1:گFYFO[t~,;Jhpz킷#:M>Yh) p^]DTĈ< W3{!XvXtN_Xh?wwwî,7Q<"iծ)2E{Uh DB;Q#I֒x^ (O[ZA4$1Tg0-Y&|,T&@hS|d`s'Ig>\iҞ&8cG*M:iYiSWH}ZQa(cLcKK9G$l Qr6MfN"kD5RXV X5,ODd:A. t$cɆe/Ч '/~¢oyw?06NJvDzڣGS!fMg+zԟCɖ|!,Z~Eÿ@eP=5*;u4(p6aPEdSO}ȅ/p.(0ڌwٰ  RA,vDyK:? 7{ewu}N \oFm]DŴQ8 Qω6 `Ndǵcyi*CQy|2 btEԻ"*f`F!EB4&ԕQ^H+yMXvoCFlZV$Omr] 䝘 6\4YaP5ӣ'b>*Ӿ_ pC@{a вE۱.6b_9OWxZT2oWg5yl4F]cxPF-W;FHy]]:ʻz[' \:JڒZ]w#IV9%"f`]IJjC>%^hx)_LZiN 9j[A~{$Ûmp!ۓ Ǟk0;X8z&$SK2J6SaP27Wٟ,rhGW<} 7;5ɇLB'Φ zv{t6p* H/=d˷ p7F1UI@K}1ii-C,Fg%W |YseOZVGXit[nH0Ϋ5'U#y-A\N5[,  `Q.*~sWX(~ p.5nM3KKU$ UL 4Y}ܧ܈g uSudךz ZG.$reL{Ke$%MͰ<:=< 'g mt*?< ȮW~];yuп )P2uuW'r[[SAxD~L !Zb^i0D^ HV[qP}OtFu U_yf'6=Pշ?갼ʼnhDˈfkx,m 5os.hum(=+Hk{#x*^mǎs ӊN X: 0?Q_{Y/)H0h/py}3q䛋ݢTd"!V K:ZDL+yё77==ȨpV ETG Y^@L >GrA("XٵR$d%[*wn4Icr_PUش>*W*K-L\ui.5QN0+˘dmC1]i9?to~zk9G{y `;*ZUXKS>ˡ6e]%":1}a6 LpOAH W1{۵{JP5|ԍ3v:$JTnm{%Q/_2=g?͞hq!WN\DvCĠWKS3Y8;\`'0 :T IK zP)WFd|ί WUT:ǾpJu$jnc!7X%QS;jBu1jGzW=, .*Th^pmh,@c* x4 FztZl7{&Tj #5h~tD*pB;^ؑ?AT<8a7\Ģԉ$p3{t:< Olֳt"'Q!I/SW_TМ&Nt.Akvѩ1}=j&>4f鵏!S,' k +oNkt$-k@ G@q1U|DzO?e|  s['\%h=hesҥඤGHgw e-&nJe\,wZ vYU,`'wk|X,{E' '<ұ [ִ-{OsXl7;]k@/13<4 qlPYaea;9U 4^K}H8[kWLUȒCWPF3F8{0 'G8ti Pf\wH)~pH'U&4BSo1GM-qJ~߸Ec ؝nr vD[W/e,M097i K2jOTP{[Kfo\8f,g\n@L]Zb TVWlM )4T,%\"ZiqQntd(H}oukߗ9`%YbE s2&έP{P}UH+ F#m)ed?בn{T{S2T!],S}x zu"&<&9*V/[.;7C^pZA!o' ?y8dEM8 5٪@kD-~$YගjrnϲТ.O TKnL_P0LkҒM ' yڏm;RD JW o2:z1$\\Aӝc_3;1Oz7ev Gb~NFO t"rm;8ST&2YkT&ɳXl8嫦 ohV,&@ P%<?{{Zj8C:޺k#?K(`]K;CxLQ&?6JvwTzf"!ߕzA[]1,ucvfZ:?:qt쁅- |2\XKI~@Z3b #5ͳFZzr)=̰yM$R4P|'Y<{yq-<f Y^Bccڭ0:cǵ|#IG jv87g'YA@{WA- IWPdi,z׿O_ c,]1,ο$#ǘ B7 cK˃2I693x"i1|}<]hzyt4jN%31%\>,[uGk_ y=,p!qm" .>yQ^7Fghȋѱ)wM+t RGB'ȹ] B70|KLgXV0{ }e.*may|īy:(CS)p-:ˬkm[Њ_&d67P5|p`׏ljd,PlnBe>,RՎD7܁(fvlQ?:Ta݂?UT'+x . e/\}@5k|GP~P [%k WTCqhe}U?h?~j*ѦÒ"vAetHz iF]23#}k7L~*8TjZB\am<&Γn؀`` ($ [w1E{.ZjfLi^uuY}8 k? ČOP*ʛtOω9ޤso೻!BGW'yHW0O=K. yAltf؄v׫z2B >RoTYj4mVwP l=YY}z)$]򞺪]SRF8B{yF~nU':S` }g+MzڃYmWB=İVtlT/i14Ǩ*Q,ī$\5Mp(9ʹrtY$M`|a=з:pv 7+K"kϊ탧IoL%{+O(x0*ٚ 5^\?(f8I2Mg8UigacTsMdNzlZp_tL+Խ>~_aV6kuNUDƧnL >fѽ*>1.ğW %R~Yt[Ϸi S)7#;#$eM#j14[rRp:Yi0_{6QYܜp7+Κ [2FPͱ"Nhm%nŞl FʖTN9;f zĹ O!PvyA3ȋ۷7lPKWI1 TǴÒVkVy&W`l2o zt8t'H{,pUYhvn9Ȗ 6\e_c ژ?4,]#ȷN=\2-_J$Ku@0v/~Pb<ƱiS ƾgkR*4#,Qm14d . c0^#a/_d|V>w_/UW%kET/7Hrɬ+28,)i/=Vy:,`좳65(f{eR$S A]=fb{ahGbI@!Y)(][f0v<0½S@ 0 yN(:{x|BSt55hHN]W}a*3%:7`,ҭpda9yhlʰ3s$-S0C˻pi|7Exjfg=eqDtc,/U ^ZK?ҧy#(M &\5&Kh8*^LR%GU0E>sV? ިL|,l$tͧYeqFZdI*9/8A?.B>vDJ<>eEoA?;k.V7yO:OBp{@nFZؙ6Z_ P;%aF{ȁl޷F@/6yGlk}rW}\##D{BQ u-2X"CtQ{ Pl; Xx4f:ʔ<ÑóRy˓oW. D^^Ő}2A?xIL4J]TJޡ6\V rl-طtDBd eD8B:+z|?}91^otDy .!'17e*^F}0uI]YӜ]&6OlPR8@K>]ғoN T1.exN} S]^^ U1Je@F5ȵVdž*RQĜ`u/h.OizS.L˴ W 6v%ӢlkuG#g3xHLztEfQ+q?Rm0v~#חt *Zw6, g =djxEtiL!x$]~ړ1+;6&K5Jw5q«`()5E{YLJBt҉\N뵧Mo:C^JfHJIZ26[K:R!'6H p/B-AB,DWR~c[]m3Ʈ<"|2)Cg^d ;%vW7Bևi dvyטQ͜fwrY;NKE#1l)ZI0 ]_!ݴ%QcvT=*a} 2$ C'(!tchDV'(VD\9cVkҹRУҶl cw9W){ ,`WsZ?QBp'=1ak|8,5~G 42s%n˫_^ئG{l4RoausAUlp{h 5\3;bc}UYDwwdK8 _)Z)nL2/$)Pܢt ̙ T00P%xAw",ʧ4Б1?>$Hj9#UЯɖ1Xj3z3钇McHU׋RCM駁@ BV]@Iw6>:Q({#д}EnMFC̈́N/L,~9S:hUSX2Bգ2O57 ueIKpz%9`9T7Zq"{ՉgVGRgԳüxqx-뮰oHfd? M{:^"mrtf6} 83pۇCPWW|ևfKptmmi@݀XXzAeOFhR:5J9QN!p7KLKFL[n= &1(f#-@`juUqB|6L Xy> ju>:<(uDSC~=qb [Z5Ccbpw vx w3D3% a^}Ô[\gq= e ][*J;!OK* P<IPQ՚W~VOb&"H%Z?'ԕ(iߪ}6ӣT\^,޿dI~;un;3MV9aѷV~ zfs Ӵu)O,8.YFپI <3n㔤␕> QBՈ,qt%wOHE`KIK ԭ}&bAjoc숋 Ӧ _T9^60wʹ;(N17fwxMUPX9 OBu{PKH=-~Ir' ssOSC`UyЧHdI-<Ilis*w&tܻVMXci <0- ajXXiĥF̉hO2[G|: b+$貋̡PڬֹahuBr Ey S\IJ^ʴF |%Av:22 c_ABn6@i7a&o9zȈsa&ĖJEKѦCSO'2lLBp)5IHP |A+Wf ?:|+7r#t[!@ʬK`,N޻a|Eۃ.BlVs`0ۺNv W&x¿p^Bh'b&-l+ U)Jf%-ȝ_]L<ް}[/C<7K} 3m*fxNvU,D̢"IAKywmJ>l$%kH”H37ѪQg99iwIq j%D;Yx B[!{p^cFÞFtP_Wri~5_q:= ȡvvD-"FXqu_(7%'3Y` K1wA -`] GV7k]$6\>vjuXzH;rrf~mUS%30NCC~%i6$,G,ҵ5q?gtPC񄩣]ɶ4m[HY:k)*:JXNXq@j,^p fv=5ʙ87?m}iKxATu`̖86?C(x]+kQbMŸ}Nm _AJq"ѻՐHj@uau)< %_LPgutceW)4 ,&ZTYX`ܥS%,GpF 155VB5b_P^1~6]r,p rㅢD'i4UI jT)G9[i՛ĶptJSlT&գ#>3{.QDG59iY'Ask6/UҰ" o,(yVH-.$ <;-;0,Q-xx,%tX&외]HR9ETWঅKy 3G#)<.6ßmv>'+zOR۴)ŘGʽ/3.Sߑ7JT^6rwHRœXLsJ[+{u7a[ؒę6Tܑy s(VSsn4tyo~>APIxGʨ: [ s^`K87@]´-u$RmT3C} *n/kQZd7/=-uˁn L7ÓmhWD6"t!vnXٲ#b`iR5|'-lKdN/Ԁ/Kiq,:X r14K{E³t&EӨa(ګN{@96-g{?Z8Op(67V$k "Oi-ȧ&Amf ֏7'"pjdQ>/NU[ȟ@쯡#m$:⍴{SnT mSWLtSB~/tU'HK+CB _t2]]_BwvU)J+E_\W+:KGR;I7Rfc"?_ -)\Q0։IBd鰤o>u]sGϦ'3@=uQ@-xhxvq> Ԅ=׳ |vZ`$0B[ݰmM:xwy_zyK]!Ҽd%cC?K.~74r\8#H9X_Po c4`[,j PMy)W.rY-oJEwڭ#*y0F?E>]vE;-U1qt7z31_`['[,1dG6 q0p3lPˠԬX? @/)Ctv]{ T`q mQ Y(zr15ŬϨK%o1ќfDZI%3`!;>+u23$,[46*ϒIܻ\N8Su+)RsD%_ w7P+_oTf oPy"~|2i맂8B bh{x۔}/{UL W?wCx$X8ܔF/##iۜRgeȫ!B^NHӥx ΚeҜ7-{46GRl9͝ AbUaBO(s%6FF SMS%8#RJV a_F29(JdDHGw 'IY콁$>'yQ>.$4C @-ְ^#1Ó%¥w5sK`改N enIC]@kNß[W'.&ǓLTVQ3HpsʎTFI3teMa{mS؍]!f0;t<hpSWbUg0mE<_aLЊjhEFu^zkWxQ Ȏ*vV9`4䗕vUF2=WGw9ɵXwsp`2ޢ'>!z=bhIoE촯unGQs歖Q3K#"Pjdql1H_* E[lY>{72֙q F37RzOy}Co [d O;gMzDZ6n-_륶۰ǕC .kƈ5z7g=Àz4]rAf 04IbFa-ʹ4ʹY˓,:K??TYC/54fJPխXXi+Qus&eL)<6xuI#Q˿&R.un/.eyK'|h"'ʶ7oI_-Xg-`SyGUrB즾|\$EK1g pӅ!<$@M/hF*O (r!W?͡6ilzu"|k{02`Fc=(C/-,<ư|D PlQ%8I[݋Y8"~ I(ujf{~*iXgs3DMgqS,Y! >xe2On̘<U'Pp][\wSq,{ Tf=:4%7]P2mT`}n(s 1yI+k>e#1ڗ̬'~>;CdԈGs믽Hf+ĤWN}/-ןQ oB&74g9HdAPZN`.1_|M[G"oW_y_I[3,X6t/RQ Aux4iﶥ{٣MʃfBFpmd+±p#|]QcSaZ@Ō=ou$iS!*em꬝ ٝI]u@s55,B˜FǧT{ ;{DI!4'3:|z鞃ؐWkZwˊ)`: V!0A$֖e*( f _߯ j?[0Od/#\ A +T4ru5#uoYv4Om9U1#|&psTH 4{ό09 {7 k#Smgůѣ<3r{ȌU(C`ě2۱,i\ S?녰*_{OX,s `_)k;^xI "hA% e.y rPE' qߥ<\AhPֳۜ/dk2ox<3IaWpzA>P/b oyǏ5%›0i"Hp.nA)ȋ6tV_yn ڞ}w;骺AIF q]A _a|R[syb20 fwFu!+;< (MXG^1HҼ|TfKB;O)Gas< EI3.*J)^9 3]LZIv&erx֞<'Cl`r+Cيg\e*}n*eR[[F8؏[ VS+#v18z4eEj_$L[;ko@h f1RxF[ DH`1f^*gǍAkaarcFV;Vu8\ERY^{775ǛLmJB!H[~*QZSP<1xs(ġ\iچةqXl bnNJRDRj-b#@N dgӓ/aJrCDuLZ~uU2.0"g2JOOT_p;:a [ϮQCz ,Z&Mm :c@("6Tj ޘY'*լESuM9}[\FBn)gX9p`rNw+dM=b;?z-W0g7{vkjD9d0XrSpYG"dMw.¬~ oT|#xfǧ`w NًrfUlXl5(t%*U1]p1w]Z)i!EJ1Ā8e{04,9xVC$bY5)!'[fٝNoDAZan_^Y ugD}B' 7 W树hE PVTLv-g+sxBh }WlclZj oT \ vζ"f-Ҳ2ěem5W3k&A0P5ob%Z%Jp"+OiFF P.7{D=RÖy>!*bp{MX]O*89WZ_.PD!ٺok$k?d02bUldWimw= #C3~#@L|&"BD {?HWa0|n$@W%,wj}z74^s{Ln҅ZWv2ک06A}E6vlgp`iL3i Ceiiw:6Uyq#I>S:BR$AL:ȝEHq<'-TH}2jO*NlA HY(t'G^W{}=wB-Aʜ=Ʀ&}`-PȠO^0Į1% 渎\S ƌVVK'?F@:^ţ¢9T~@jf[ B)۶WV ۞= {k9E*Ihʴɋhw3y2Ա.d!*.%jvqh-+.Fu[  &'^D<,XpL9Eȼ'\t4C=AʰZ_g}Uqafykxn@B-'qn;)fi8:co4_sj@ku}Þ)0!=SwCN%nngeT*KVhkXeT>;S ']{@\LfHf0;ά$1SD1X$N+}zW3򆦤w%'(+U?QX3jLv{%|fhD}w͡i>a}^'8f]ZƏ]qf̈́&mFBTVVZ: += ,Е1z_C F"2sX/:DZ16Ⱥz6;I܋b[7իW9 r6talrQvyD٬۠E貹{ 09[{xXբխۻT"v2a׽ϴFXmpW-xXg#h[ND'/D,Bq˻-H\eRryt=h񐑈GLşKqɛo?5!|_HD,An/9{-?1Kb8Rɐ`ʈ pGWPu &G-ӕKFĊfm$HPi[h$q5Bky!JEỚeמ\+PFaK GgvI/U;낀#+np* ħeD +NIy +~<}VX1Lq5* 69>V݊E9J:E ʪD#cNA߻zr`e;H=k|Wq1"8aR| )nw۝2AxH \3"6b:P6+lQs+fzgʲJ/ρ`ƥk͊)N!2$Rl[>f-U_cq[~2<{EKT-%BlSA FOptJb$i aݔHhkv:WiE#yMt>M-bTa =|ghHҞdv0Zּ^3FcOEEgOSg DXX>i5 PfpmgI=m؟aU3t>=.?y =[)`N)cF,y-riΘgpkb=&-S6' Q3au\ fU.6ۡ7彄p$k4wx\y!i h4t)bc{2Nx\Y޷aWDFH3w%q .:A(;<۶|J32gU;R[(h6*_&W1D5^zx"Kc ?i$o˽N/1'."L>) c8qv#^0!YKau,jW,i UH#[R7(!ٽA^IݱfhW6L13~*HOt*EN!T=h(ðB75FV" s.y 4RlSwYy FIlA]r/(67',(Po Q6(,j &n4`CWQpw _j6ZВ.׷]U l:Fh[8d'#&l7\44WWlARwA(22@3g⢁:@ ;D@yv`bN~ڙEcRhVC/J^ڂ/YO!0C{t]oam?kP}jIboo]|AIԀV=Ѻa#e3WC4$- '#[?T*B,EK*NKΑ.mu}R V[ګK<);p7?%CÅͥǫ%}ae'%F3`GfwO"r"7[ oSX6h 6Ы,BGic~NYhC_nM?zH7vrB:d. /t_s4o<>d8tqg3& ̹z83M7a}g4R6D}"hyϾ[GqMʴ 8mR.dde/ꔬ[y'Nݩ[>2U!f2sek`&t©6mܥ緄]dP$1b | #.vE^xiRe( @W7̬wP!J^MY/QP E)#ɶ2f/Cmjw;M?BV"mQaKL>86`%vsD[ة_i>Du+ 6q >F TBlOG\}+T٣ioXT`'`Alb^BR@_F)Cij~-K=j^R0PNC~)!$a`Wn@'w]Z4Zz ȚC.b螄ܪ;^}AH ꢲzCLDKVĢeL,Ih%>y5kʼnZUnER/f,0i# d$YnKi3D#Oz_#( -V]}B&<{iH>| wUfvҰi{KnTn>.!v0*jnikf:8JRa5YGByP'l&Dv,bRx߱(;_t!˶ 'UX);]S#@SO a5_quKXܹRqu[5N06kJxbA?_>MհWnF17rYؖ)!uT)EPQ(%Eo tR2;)C6mcPXfAuV;n/-M?!<:cq8!'qmC}|%FEI;^Z=ljHK`ɼۻo Fぁ =lGn'keLV򏢓DFv{D<:BR#iLo?& ͪ(&\#f tج=^UVf(yGqK\έ {h G Kߴ )Z/Uڼe<{qgkۈ㛅m7VЇ^5S ߤ - >d?Ŏy5%9[-'2Jl䀟lkbyaFAmc^]U?5s<c[D%uϒ\qC zP~el[551aխ һ&̗N6䥯bV|y2 2 k\vЅ̹}*Ys&}yi%sͭ9oʆmHu ǶS#$DF(ld2u'Rǁ!95e%h[C ^ ג=ٺmcFG4K囹&Y:;!L'm| Sh|WS4"iF4*KUCRKI 羻s!t֖]o#`:¼K"г+CN{_;꧹ ^I roRxɳjJA?mcF,~$twFC2rO]!Hiϛr DME.da_2FzES٘%^Du,`Ag:X8t2 qNT7z e$y^B"_kWnRԳ"Krhݙ0Td[{T_eF< hd=3so[hߏ qn.q0apߛf.m xkΉrM4 qٮނ8jRZǵвL'-Q+<﹤/t+OEr|K3:y> ȨUhh&&qX1gĭZ4ok>佃1aeH| l*J<pYC u1|\Iư,L$Cqj!;tӛxXRy߆]+H㳔d ;~$.BQo/V$%Zk@}?(,Sj DrB4j1)l&ˎ I/Ny4JS{yǨ$ }@BԹ.fSVOD͜j$ R+\+@u{w@?O}kTJ4QfI P\9PNîZk"t⤠0+;,E`-@{g.6::q@@\ZKޓ՗A PM;˲V$p~WԨ}?@Fk/3ՁiJϽ  dDnTz^mc&k8)wOɀyC󕪭v̨86%} TkJO)(*t>ፃd+mx1᭰*\2OaS{s~m遅Ӿ$qݟL{ŐXdBv$V!8Vɜ[IeB?HE nfUX!2a /e0R@> Ij+iA ٴir a8}ML'9 !!?@977w\&iAW)B?8*\Ohs ȳKq-_6 {O&x{]b㪐?ZK+ȫq2|u,3՝08rM3fU*b72FBu,㞺6|'o嚟_Cs$ftِ:_Qc? 4=A"v]n,϶_?!dHoY#_vPK `mӗ|@ _E;cLV2ߴ4~%~`O@!tЎ13;"b#΋ˢ(L_}g-DždTA .ۚœsnfH2&3ue=hIp[B۵0N, CΔ->u ۨ"ՀXQd&zƄG]ΰ=LIDͣV{gL#B,e)A2[O{VizոP/^"MS:!?ou~>I#QFYfK5t?n@I^=`&P6Ob~EIӖn#mI;W}2}K""=6CH)KV`e /nA!fV3X5 r&OuFjf@)%t^f0|"+4k4&}R:M0JPa{ߑ 2i2ޠO4! H.1+i?:v|4J 4.~蕊R9g&*ʐ;U#d0} !hīq,/u]fE"ߎ5zV?6vba柜EẍUq6M? 垴m]N Rzaܬ qHT;(rpF#.y YZ