firewall-config-0.9.11-4.el8 > 6 6_6 3!pQp)Tξ7]mtZ`eO ]mtZ`qPg3%wOD .nnSZvDIa[MnO9R;¥\U{~hܤUnEϻ."*Lg_LûS#[^ޜ-Y tQ]bw"p' "05~s9T_ov_ְ0|y^dBGxiI| W0a"keBW >2 mB3.ܤ܊MF0(] _%Ќ٢yDV.587mi_Z-= ~>mo6궤-6[ISAD]=ґAPI23rlݎ V)@ |>2Hޠd%6a13ac59a37f1e54f4b6e5eb9053ce13be7d997c8d362b8482191e91e7330ba900c65105e4690e205b8e5c0acf80cce84b63698fm3!pQp)Tξ7]mtZ`eO ]mtZ`6AU,[U9׽Y uH+^E`ӛ\w>5KDCܨL}vޓ-FJd_ŧ6U4^{ڇS+> C :ˡ͟5[0k,8$ W ;)t\{tm:).P3EZR|Yy3\?]O9zOͻBr8:3TK1wZ8E8!$AS)#dRr?%F-e {VE1QO\< "|^Q[!z^XU7Uh)78cғ rkPY6*],#p\!c-i8aO49، 9}psGe,DnWCQnO@7k4erHÎ~UϥQm*n^cJKe-tK8x/G(}y/ ԆP]v>p<'?'d  B )/8p    n |@` 8  (78@9 :&GtHIXY \ ] T^! b"d$ e$%f$(l$*t$Du$|v$ w&x'4y'l''''Cfirewall-config0.9.114.el8Firewall configuration applicationThe firewall configuration application provides an configuration interface for firewalld.eO1ord1-prod-a64build004.svc.aws.rockylinux.org,KojiRockyGPLv2+infrastructure@rockylinux.orgUnspecifiedhttp://www.firewalld.orglinuxnoarchgi  m ́큤eO*eO*eO*eO*eO*eO)eO*eO*eO*eO*eO*eO*eO)eO)37d916af7674f831354a6a82afc07c2ec028ce24e4e836d86c5746460e27c9ff6080b60f10952847a02ff58463edbd845e860124698410551ad9cf1b8bf76a4592654f2a9bbb1f82ae2dacae50dd540ef05c6be4894bab0e7e1588ac1bb42f236d5b33efad002f15b318e63482706e01a2b1df6ed9b902970374b51a7234dfe7f06bca8b424798b7eab76800bbd9c9b6d8e31cc2615c0055f2e49d221c470eeb7f76ffea9100006823452188c954696a7c9dd92d6801937a23ecbcea2ca0323318536ed118fe42b6a27c94891454fdc709a79d4e34171048154b26c3fb2c9fe44ecf3ba61c8daac7e13a258c9bc490dd6692b0494a7f83b9ef655084146dec152732f3501a2b9262bb1458713f5f5a980655f7ef5d48cde66902643f6134bb4742de1cff244f46065694258388751f164866b9a8faaa6ae2494f2cbc5aceef511af9a194fca0292ebb1458274d5d874e4ca86aaf437a1a051ef6cf721ea70e546b9c7b22d21db4f44072f92bf8b71ed68df0dc8ea48a071e15d6d9298c0cc8eda6a4ee7e2cfaac8c72d8f4964f7faac325104cab29d554a5305caa43e2d264a7da605e96218fccdb19a26bc8d1e4cd09f6c8e5b53c4759377dd149538f01753brootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootfirewalld-0.9.11-4.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.11-4.el83.0.4-14.6.0-14.0-15.2-14.14.3eDeDeDd>@aap@a@a@a@a@`@`@`````7@```_@_)M^^W@^8 @]ʞ]d@]R@]Ik]6]:]@\;(@\4\@\I[[[;@[\[ug@[r@[m~@[l,[CN@[?YZVZI@ZI@Z@Z}@Zz@Zz@ZOhZ6\@YYx@Y:XX+X@X@XOXEVX@X#X=W@W@WzOWs@WrfWL+@W0{Wo@WV@V@VVHVA@UU@UUa@Ua@UUzUzUKSU/@U@U@T@T@TLT=@S@S%@SSR@S@SSSR'R@RR@RxR_@RNRM\@RL RIgQQQ@QyQ@Q@QnQT0QIQ8@Q$Q@P@P@P@P @PpP~PIP3x@P(@P!@OOOc+@OaOU@OTOC@O1@O/MY@M!@M!@ME@Eric Garver - 0.9.11-4Eric Garver - 0.9.11-3Eric Garver - 0.9.11-2Eric Garver - 0.9.11-1Eric Garver - 0.9.3-13Eric Garver - 0.9.3-12Eric Garver - 0.9.3-11Eric Garver - 0.9.3-10Eric Garver - 0.9.3-9Eric Garver - 0.9.3-8Eric Garver - 0.9.3-7Eric Garver - 0.9.3-6Eric Garver - 0.9.3-5Eric Garver - 0.9.3-4Eric Garver - 0.9.3-3Eric Garver - 0.9.3-2Eric Garver - 0.9.3-1Eric Garver - 0.8.2-6Eric Garver - 0.8.2-5Eric Garver - 0.8.2-4Eric Garver - 0.8.2-3Eric Garver - 0.8.2-2Eric Garver - 0.8.2-1Eric Garver - 0.8.0-4Eric Garver - 0.8.0-3Eric Garver - 0.8.0-2Eric Garver - 0.8.0-1Eric Garver - 0.7.0-5Eric Garver - 0.7.0-4Eric Garver - 0.7.0-3Eric Garver - 0.7.0-2Eric Garver - 0.7.0-1Eric Garver - 0.6.3-7Eric Garver - 0.6.3-6Eric Garver - 0.6.3-5Eric Garver - 0.6.3-4Eric Garver - 0.6.3-3Eric Garver - 0.6.3-2Eric Garver - 0.6.3-1Eric Garver - 0.6.1-5Eric Garver - 0.6.1-4Eric Garver - 0.6.1-3Eric Garver - 0.6.1-2Eric Garver - 0.6.1-1Eric Garver - 0.6.0-2Eric Garver - 0.6.0-1Eric Garver - 0.6.0-0.1.alpha1Eric Garver - 0.5.2-3Eric Garver - 0.5.2-2Eric Garver - 0.5.2-1Igor Gnatenko - 0.5.1-2Eric Garver - 0.5.1-1Fedora Release Engineering - 0.4.4.5-6Igor Gnatenko - 0.4.4.5-5Zbigniew Jędrzejewski-Szmek - 0.4.4.5-4Thomas Woerner - 0.4.4.5-3Fedora Release Engineering - 0.4.4.5-2Thomas Woerner - 0.4.4.5-1Thomas Woerner - 0.4.4.4-1Thomas Woerner - 0.4.4.3-2Thomas Woerner - 0.4.4.3-1Fedora Release Engineering - 0.4.4.2-4Stratakis Charalampos - 0.4.4.2-3Thomas Woerner - 0.4.4.2-2Thomas Woerner - 0.4.4.2-1Thomas Woerner - 0.4.4.1-1Thomas Woerner - 0.4.4-1Thomas Woerner - 0.4.3.3-1Fedora Release Engineering - 0.4.3.2-2Thomas Woerner - 0.4.3.2-1Thomas Woerner - 0.4.3.1-2Thomas Woerner - 0.4.3.1-1Thomas Woerner - 0.4.2-1Thomas Woerner - 0.4.1.2-2Thomas Woerner - 0.4.1.2-1Thomas Woerner - 0.4.1-1Jiri Popelka - 0.4.0-4Jiri Popelka - 0.4.0-3Fedora Release Engineering - 0.4.0-2Thomas Woerner - 0.4.0-1Fedora Release Engineering - 0.3.14.2-5Adam Williamson - 0.3.14.2-4Thomas Woerner - 0.3.14.2-3Thomas Woerner - 0.3.14.2-2Thomas Woerner - 0.3.14.2-1Fedora Release Engineering - 0.3.14.1-3Stephen Gallagher 0.3.14.1-2Thomas Woerner - 0.3.14.1-1Thomas Woerner - 0.3.14-1Stephen Gallagher 0.3.13-7Stephen Gallagher 0.3.13-6Stephen Gallagher 0.3.13-5Stephen Gallagher 0.3.13-4Jiri Popelka - 0.3.13-3Thomas Woerner - 0.3.13-2Jiri Popelka - 0.3.13-1Jiri Popelka - 0.3.12-1Jiri Popelka - 0.3.11-3Jiri Popelka - 0.3.11-2Jiri Popelka - 0.3.11-1Thomas Woerner - 0.3.10-5Thomas Woerner - 0.3.10-4Thomas Woerner - 0.3.10-3Fedora Release Engineering - 0.3.10-2Jiri Popelka - 0.3.10-1Jiri Popelka - 0.3.9.3-1Jiri Popelka - 0.3.9.2-1Jiri Popelka - 0.3.9.1-1Jiri Popelka - 0.3.9-1Jiri Popelka - 0.3.8-1Jiri Popelka - 0.3.7-1Jiri Popelka - 0.3.6.2-1Jiri Popelka - 0.3.6.1-1Jiri Popelka - 0.3.6-1Jiri Popelka - 0.3.5-1Thomas Woerner 0.3.4-1Jiri Popelka Thomas Woerner 0.3.3-2Thomas Woerner 0.3.3-1Jiri Popelka - 0.3.2-2Jiri Popelka - 0.3.2-1Jiri Popelka - 0.3.1-2Thomas Woerner 0.3.1-1Thomas Woerner 0.3.0-1Jiri Popelka - 0.2.12-5Jiri Popelka - 0.2.12-4Fedora Release Engineering - 0.2.12-3Jiri Popelka - 0.2.12-2Thomas Woerner 0.2.12-1Thomas Woerner 0.2.11-2Thomas Woerner 0.2.11-1Thomas Woerner 0.2.10-1Thomas Woerner 0.2.9-1Thomas Woerner 0.2.8-1Jiri Popelka 0.2.7-2Thomas Woerner 0.2.7-1Thomas Woerner 0.2.6-1Thomas Woerner 0.2.5-1Thomas Woerner 0.2.4-1Thomas Woerner 0.2.3-1Thomas Woerner 0.2.2-1Thomas Woerner Thomas Woerner 0.2.1-1Thomas Woerner 0.2.0-2Thomas Woerner 0.2.0-1Thomas Woerner 0.1.3-1Thomas Woerner 0.1.2-1Thomas Woerner 0.1.1-1Thomas Woerner 0.1-1- fix(nftables): always flush main table on start- fix(ipset): fix configuring IP range for ipsets with nftables- fix(ipset): exception on overlap checking empty set- rebase to v0.9.11- change default CleanupModulesOnExit=yes- feat(config): add CleanupModulesOnExit configuration option - change default CleanupModulesOnExit=yes- fix(zone): detect same source/interface in zones- fix(nftables): rich: source address with netmask- fix(nftables): do not log icmp block if inversion- docs(firewall-*cmd): client conntrack helpers must use a policy- fix(ipset): disallow overlapping entries- fix(policy): warn instead of error for overlapping ports- docs(conf): note that IPv6_rpfilter has a performance penalty- fix(nm): reload: only consider NM connections with a real interface- fix(ipset): fix hash:net,net functionality- fix(direct): rule order with multiple address with -s/-d- rebase to v0.9.3 - fixes from upstream branch stable-0.9- feat(service): add galera service- fix(zone): add source with mac address- fix(rich): non-printable characters removed from rich- fix(nftables): packet marks with masks - fix(nftables): icmp types with code == 0 - fix(rich icmptype): verify rule and icmptype families - fix(zone): cache rule_str for rich rules - improvement(service): IPsec: Update description and add TCP port 4500 - feat(service): add collectd service - feat(service): Add rpc-rquotad.service- fix(cli): add ipset type hash:mac is incompatible with the family parameter - fix(cli): add --zone is an invalid option with --direct - fix: update dynamic DCE RPC ports in freeipa-trust service - fix: core: rich: Catch ValueError on non-numeric priority values - fix(rich): icmptypes with one family - fix(direct): rule in a zone chain - plus additional upstream stable fixes- rebase to v0.8.2- doc: direct: add CAVEATS section- restore zone drifting as a feature- fix: CLI: service: also output helpers for service info- rebase to v0.8.0- bump nftables version requirements- backport patches to sort source-based zone dispatch by zone name- backport patch to show service includes in service output - backport patches to fix dbus API break- package rebuild- rebase to v0.7.0- backport additional patches for RFC3964_IPv4 filter feature- backport nftables support for wildcard interfaces - backport RFC3964_IPv4 filter feature- backport fix for lost NM interfaces in default zone during reload- backport recent stable fixes - backport fix for lost NM interfaces during reload - backport rich rule priorities - backport fix for set entries not applied - update translations- backport FlushAllOnReload feature- use py3_shbang_opts for lockdown-whitelist - fix cockpit patch causing test failure- rebase package to v0.6.3 - use py3_shbang_opts for interpreter invocations- python3-firewalld can get by with python3-gobject-base - firewall-config can get by with python3-qt5-base- backports for new failed state if startup fails - backports to use explicit RETURN on user defined ebtables chains - backports to fix nftables AUDIT log support- drop support for ebtables broute table- add more ports to high-availability service- rebase to v0.6.1 - fix patch adding cockpit by default, fixes testsuite- Use correct conflicts version for cockpit-ws - Enable cockpit by default in some zones- rebase to v0.6.0- rebase to v0.6.0-alpha- remove fedora-isms and clean up spec file- remove python2-firewall subpackage- rebase package to v0.5.2- Escape macros in %changelog- rebase package to v0.5.1- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild- Remove obsolete scriptlets- Python 2 binary package renamed to python2-firewall See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3- Fix spec file for next RHEL versions- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild- Rebase to firewalld-0.4.4.5 http://www.firewalld.org/2017/06/firewalld-0-4-4-5-release - Fix build from spec - Fix –remove-service-from-zone option (RHBZ#1438127) - Support sctp and dccp in ports, source-ports, forward-ports, helpers and rich rules (RHBZ#1429808) - firewall-cmd: Fix –{set,get}-{short,description} for zone (RHBZ#1445238) - firewall.core.ipXtables: Use new wait option for restore commands if available - New services for oVirt: ctdb, ovirt-imageio, ovirt-storageconsole, ovirt-vmconsole and nrpe - Rename extension for policy choices (server and desktop) to .policy.choice (RHBZ#1449754) - D-Bus interfaces: Fix GetAll for interfaces without properties (RHBZ#1452017) - Load NAT helpers with conntrack helpers (RHBZ#1452681) - Translation updates - Additional upstream patches: - Rich-rule source validation (d69b7cb) - IPv6 ICMP type only rich-rule fix (cf50bd0)- Rebase to firewalld-0.4.4.4 http://www.firewalld.org/2017/03/firewalld-0-4-4-4-release - Drop references to fedorahosted.org from spec file and Makefile.am, use archive from github - Fix inconsistent ordering of rules in INPUT_ZONE_SOURCE (issue#166) - Fix ipset overloading from /etc/firewalld/ipsets - Fix permanent rich rules using icmp-type elements (RHBZ#1434594) - firewall-config: Deactivate edit, remove, .. buttons if there are no items - Check if ICMP types are supported by kernel before trying to use them - firewall-config: Show invalid ipset type in the ipset configuration dialog in a special label- Fixed ipset overloading, dropped applied check in get_ipset (issue#206)- Rebase to firewalld-0.4.4.3 http://www.firewalld.org/2017/02/firewalld-0-4-4-3-release - Speed up of large file loading - Support for more ipset types - Speed up of adding or removing entries for ipsets from files - Support icmp-type usage in rich rules - Support for more icmp types - Support for h323 conntrack helper - New services - Code cleanup and several other bug fixes - Translation updates- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild- Rebuild for Python 3.6- Dropping firewalld-selinux package again as the required fix made it into selinux-policy packages for F-23+, updated selinux-policy version conflicts- New firewalld-selinux sub package delivering the SELinux policy module for firewalld (RHBZ#1396765) (RHBZ#1394625) (RHBZ#1394578) (RHBZ#1394573) (RHBZ#1394569) - New firewalld release 0.4.4.2: - firewalld.spec: Added helpers and ipsets paths to firewalld-filesystem - firewall.core.fw_nm: create NMClient lazily - Do not use hard-coded path for modinfo, use autofoo to detect it - firewall.core.io.ifcfg: Dropped invalid option warning with bad format string - firewall.core.io.ifcfg: Properly handle quoted ifcfg values - firewall.core.fw_zone: Do not reset ZONE with ifdown - Updated translations from zanata - firewall-config: Extra grid at bottom to visualize firewalld settings- firewall-config: Use proper source check in sourceDialog (fixes issue#162) - firewallctl: New support for helpers - Translation updates- Fix dist-check - src/Makefile.am: Install new helper files - config/Makefile.am: Install helpers - Merged translations - Updated translations from zanata - firewalld.spec: Adapt requires for PyQt5 - firewall-applet: Fix fromUTF8 for python2 PyQt5 usage - firewall-applet: Use PyQt5 - firewall-config: New nf_conntrack_select dialog, use nf_conntrack_helpers D-Bus property - shell-completion/bash/firewall-cmd: Updates for helpers and also some fixes - src/tests/firewall-[offline-]cmd_test.sh: New helper tests, adapted module tests for services - doc/xml/seealso.xml: Add firewalld.helper(5) man page - doc/xml/seealso.xml: Add firewalld.ipset(5) man page - Fixed typo in firewalld.ipset(5) man page - Updated firewalld.dbus(5) man page - New firewalld.helper(5) man page - doc/xml/firewall-offline-cmd.xml: Updated firewall-offline-cmd man page - doc/xml/firewall-cmd.xml: Updated firewall-cmd man page - firewall-offline-cmd: New support for helpers - firewall-cmd: New support for helpers - firewall.command: New check_helper_family, check_module and print_helper_info methods - firewall.core.fw_test: Add helpers also to offline backend - firewall.server.config: New AutomaticHelpers property (rw) - firewall.server.config: Fix an dict size changed error for firewall.conf file changes - firewall.server.config: Make LogDenied property readwrite to be consistent - Some renames of nf_conntrack_helper* functions and structures, helpers is a dict - firewall.core.fw: Properly check helper setting in set_automatic_helpers - firewall.errors: Add missing BUILTIN_HELPER error code - No extra interface for helpers needed in runtime, dropped DBUS_INTERFACE_HELPER - firewall.server.firewalld: Drop unused queryHelper D-Bus method - New helpers Q.931 and RAS from nf_conntrack_h323 - firewall.core.io.helper: Allow dots in helper names, remove underscore - firewall.core.io.firewalld_conf: Fixed typo in FALLBACK_AUTOMATIC_HELPERS - firewall-[offline-]cmd: Use sys.excepthook to force exception_handler usage always - firewall.core.fw_config: new_X methods should also check builtins - firewall.client: Set helper family to "" if None - firewall.client: Add missing module string to FirewallClientHelperSettings.settings - config/firewalld.conf: Add possible values description for AutomaticHelpers - helpers/amanda.xml: Fix typo in helper module - firewall-config: Added support for helper module setting - firewall.client: Added support for helper module setting - firewall.server.config_helper: Added support for helper module setting - firewall.core.io.service, firewall.server.config_service: Only replace underscore by dash if module start with nf_conntrack_ - firewall.core.fw_zone: Use helper module instead of a generated name from helper name - helpers: Added kernel module - firewall.core.io.helper: Add module to helper - firewall-cmd: Removed duplicate --get-ipset-types from help output - firewall.core.fw_zone: Add zone bingings for PREROUTING in the raw table - firewall.core.ipXtables: Add PREROUTING default rules for zones in raw table - firewall-config: New support to handle helpers, new dialogs, new helper tab, .. - config/org.fedoraproject.FirewallConfig.gschema.xml.in: New show-helpers setting - firewall.client: New helper management for runtime and permanent configuration - firewall.server.firewalld: New runtime helper management, new nf_conntrack_helper property - firewall.server.config_service: Fix module name handling (no nf_conntrack_ prefix needed) - firewall.server.config: New permanent D-Bus helper management - New firewall.server.config_helper to provide the permanent D-Bus interface for helpers - firewall.core.fw_zone: Use helpers fw.nf_conntrack_helper for services using helpers - firewall.core.fw: New helper management, new _automatic_helpers and nf_conntrack_helper settings - firewall.core.fw_config: Add support for permanent helper handling - firewall.core.io.service: The module does not need to start with nf_conntrack_ anymore - firewall.functions: New functions to get and set nf_conntrack_helper kernel setting - firewall.core.io.firewalld_conf: New support for AutomaticHelpers setting - firewall.config.dbus: New D-Bus definitions for helpers, new DBUS_INTERFACE_REVISION 12 - New firewall.core.fw_helper providing FirewallHelper backend - New firewall.core.helper with HELPER_MAXNAMELEN definition - config/firewalld.conf: New AutomaticHelpers setting with description - firewall.config.__init__.py.in: New helpers variables - firewalld.spec: Add new helpers directory - config/Makefile.am: Install new helpers - New helper configuration files for amanda, ftp, irc, netbios-ns, pptp, sane, sip, snmp and tftp - firewall.core.io.helper: New IO handler for netfilter helpers - firewall.errors: New INVALID_HELPER error code - firewall.core.io.ifcfg: Use .bak for save files - firewall-config: Set internal log_denied setting after changing - firewall.server.config: Copy props before removing items - doc/xml/firewalld.ipset: Replaced icmptype name remains with ipset - firewall.core.fw_zone: Fix LOG rule placement for LogDenied - firewall.command: Use "source-ports" in print_zone_info - firewall.core.logger: Use syslog.openlog() and syslog.closelog() - firewall-[offline-]cmd man pages: Document --path-{zone,icmptype,ipset,service} - firewall-cmd: Enable --path-{zone,icmptype,service} options again - firewall.core.{ipXtables,ebtables}: Copy rule before extracting items in set_rules - firewall.core.fw: Do not abort transaction on failed ipv6_rpfilter rules - config/Makefile.am: Added cfengine, condor-collector and smtp-submission services - Makefile.am: New dist-check used in the archive target - src/Makefile.am: Reordered nobase_dist_python_DATA to be sorted - config/Makefile.am: New CONFIG_FILES variable to contain the config files - Merge pull request #150 from hspaans/master - Merge pull request #146 from canvon/bugfix/spelling - Merge pull request #145 from jcpunk/condor - Command line tools man pages: New section about sequence options and exit codes - Creating service file for SMTP-Submission. - Creating service file for CFEngine. - Fix typo in documentation: iptables mangle table - Only use sort on lists of main items, but not for item properties - firewall.core.io.io_object: import_config should not change ordering of lists - firewall.core.fw_transaction: Load helper modules in FirewallZoneTransaction - firewall.command: Fail with NOT_AUTHORIZED if authorization fails (RHBZ#1368549) - firewall.command: Fix sequence exit code with at least one succeeded item - Add condor collector service - firewall-cmd: Fixed --{get,set}-{description,short} for permanent zones - firewall.command: Do not use error code 254 for {ALREADY,NOT}_ENABLED sequences- Fix CVE-2016-5410: Firewall configuration can be modified by any logged in user - firewall/server/firewalld: Make getXSettings and getLogDenied CONFIG_INFO - Update AppData configuration file. - tests/firewalld_rich.py: Use new import structure and FirewallClient classes - tests/firewalld_direct.py: Use new import structure - tests: firewalld_direct: Fix assert to check for True instead of False - tests: firewalld_config: Fix expected value when querying the zone target - tests: firewalld_config: Use real nf_conntrack modules - firewalld.spec: Added comment about make call for %build - firewall-config: Use also width_request and height_request with default size - Updated firewall-config screenshot - firewall-cmd: Fixed typo in help output (RHBZ#1367171) - test-suite: Ignore stderr to get default zone also for missing firewalld.conf - firewall.core.logger: Warnings should be printed to stderr per default - firewall.core.fw_nm: Ignore NetworkManager if NM.Client connect fails - firewall-cmd, firewallctl: Gracefully fail if SystemBus can not be aquired - firewall.client: Generate new DBUS_ERROR if SystemBus can not be aquired - test-suite: Do not fail on ALREADY_ENABLED --add-destination tests - firewall.command: ALREADY_ENABLED, NOT_ENABLED, ZONE_ALREADY_SET are warnings - doc/xml/firewalld.dbus.xml: Removed undefined reference - doc/xml/transform-html.xsl.in: Fixed references in the document - doc/xml/firewalld.{dbus,zone}.xml: Embed programlisting in para - doc/xml/transform-html.xsl.in: Enhanced html formatting closer to the man page - firewall: core: fw_nm: Instantiate the NM client only once - firewall/core/io/*.py: Do not traceback on a general sax parsing issue - firewall-offline-cmd: Fix --{add,remove}-entries-from-file - firewall-cmd: Add missing action to fix --{add,remove}-entries-from-file - firewall.core.prog: Do not output stderr, but return it in the error case - firewall.core.io.ifcfg.py: Fix ifcfg file reader and writer (RHBZ#1362171) - config/firewall.service.in: use KillMode=mixed - config/firewalld.service.in: use network-pre.target - firewall-config: Add missing gettext.textdomain call to fix translations - Add UDP to transmission-client.xml service - tests/firewall-[offline-]cmd_test.sh: Hide errors and warnings - firewall.client: Fix ALREADY_ENABLED errors in icmptype destination calls - firewall.client: Fix NOT_ENABLED errors in icmptype destination calls - firewall.client: Use {ALREADY,NOT}_ENABLED errors in icmptype destination calls - firewall.command: Add the removed FirewallError handling to the action (a17ce50) - firewall.command: Do not use query methods for sequences and also single options - Add missing information about MAC and ipset sources to man pages and help output - firewalld.spec: Add BuildRequires for libxslt to enable rebuild of man pages - firewall[-offline]-cmd, firewallctl, firewall.command: Use sys.{stdout,stderr} - firewallctl: Fix traceback if not connected to firewalld - firewall-config: Initialize value in on_richRuleDialogElementChooser_clicked - firewall.command: Convert errors to string for Python3 - firewall.command: Get proper firewall error code from D-BusExceptions - firewall-cmd: Fixed traceback without args - Add missing service files to Makefile.am - shell-completion: Add shell completion support for --{get,set}--{description,short} - Updated RHEL-7 selinux-policy and squid conflict- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages- Fix regression with unavailable optional commands - All missing backend messages should be warnings - Individual calls for missing restore commands - Only one authenticate call for add and remove options and also sequences - New service RH-Satellite-6 - Fixed selinux-policy conflict version for RHEL-7- Fixed selinux-policy conflict version for Fedora 24- New firewalld release 0.4.3.1 - firewall.command: Fix python3 DBusException message not interable error - src/Makefile.am: Fix path in firewall-[offline-]cmd_test.sh while installing - firewallctl: Do not trace back on list command without further arguments - firewallctl (man1): Added remaining sections zone, service, .. - firewallctl: Added runtime-to-permanent, interface and source parser, IndividualCalls setting - firewall.server.config: Allow to set IndividualCalls property in config interface - Fix missing icmp rules for some zones - runProg: Fix issue with running programs - firewall-offline-cmd: Fix issues with missing system-config-firewall - firewall.core.ipXtables: Split up source and dest addresses for transaction - firewall.server.config: Log error in case of loading malformed files in watcher - Install and package the firewallctl man page - New firewallctl utility (RHBZ#1147959) - doc.xml.seealso: Show firewalld.dbus in See Also sections - firewall.core.fw_config: Create backup on zone, service, ipset and icmptype removal (RHBZ#1339251) - {zone,service,ipset,icmptype}_writer: Do not fail on failed backup - firewall-[offline-]cmd: Fix --new-X-from-file options for files in cwd - firewall-cmd: Dropped duplicate setType call in --new-ipset - radius service: Support also tcp ports (RBZ#1219717) - xmlschemas: Support source-port, protocol, icmp-block-inversion and ipset sources - config.xmlschema.service.xsd: Fix service destination conflicts (RHBZ#1296573) - firewall-cmd, firewalld man: Information about new NetworkManager and ifcfg - firewall.command: Only print summary and description in print_X_info with verbose - firewall.command: print_msg should be able to print empty lines - firewall-config: No processing of runtime passthroughs signals in permanent - Landspace.io fixes and pylint calm downs - firewall.core.io.zone: Add zone_reader and zone_writer to __all__, pylint fixes - firewall-config: Fixed titles of command and context dialogs, also entry lenths - firewall-config: pylint calm downs - firewall.core.fw_zone: Fix use of MAC source in rich rules without ipv limit - firewall-config: Use self.active_zoens in conf_zone_added_cb - firewall.command: New parse_port, extended parse methods with more checks - firewall.command: Fixed parse_port to use the separator in the split call - firewall.command: New [de]activate_exception_handler, raise error in parse_X - services ha: Allow corosync-qnetd port - firewall-applet: Support for kde5-nm-connection-editor - tests/firewall-offline-cmd_test.sh: New tests for service and icmptype modifications - firewall-offline-cmd: Use FirewallCommand for simplification and sequence options - tests/firewall-cmd_test.sh: New tests for service and icmptype modifications - firewall-cmd: Fixed set, remove and query destination options for services - firewall.core.io.service: Source ports have not been checked in _check_config - firewall.core.fw_zone: Method check_source_port is not used, removed - firewall.core.base: Added default to ZONE_TARGETS - firewall.client: Allow to remove ipv:address pair for service destinations - tests/firewall-offline-cmd_test.sh: There is no timeout option in permanent - firewall-cmd: Landscape.io fixes, pylint calm downs - firewall-cmd: Use FirewallCommand for simplification and sequence options - firewall.command: New FirewallCommand for command line client simplification - New services: kshell, rsh, ganglia-master, ganglia-client - firewalld: Cleanup of unused imports, do not translate some deamon messages - firewalld: With fd close interation in runProg, it is not needed here anymore - firewall.core.prog: Add fd close iteration to runProg - firewall.core.fw_nm: Hide NM typelib import, new nm_get_dbus_interface function - firewalld.spec: Require NetworkManager-libnm instead of NetworkManager-glib - firewall-config: New add/remove ipset entries from file, remove all entries - firewall-applet: Fix tooltip after applet start with connection to firewalld - firewall-config: Select new zone, service or icmptype if the view was empty - firewalld.spec: Added build requires for iptables, ebtables and ipset - Adding nf_conntrack_sip module to the service SIP - firewall: core: fw_ifcfg: Quickly return if ifcfg directory does not exist - Drop unneeded python shebangs - Translation updates- New module to search for and change ifcfg files for interfaces not under control of NM - firewall_config: Enhanced messages in status bar - firewall-config: New message window as overlay if not connected - firewall-config: Fix sentivity of option, view menus and main paned if not connected - firewall-applet: Quit on SIGINT (Ctrl-C), reduced D-Bus calls, some cleanup - firewall-[offline]cmd: Show target in zone information - D-Bus: Completed masquerade methods in FirewallClientZoneSettings - Fixed log-denied rules for icmp-blocks - Keep sorting of interfaces, services, icmp-blocks and other settings in zones - Fixed runtime-to-permanent not to save interfaces under control of NM - New icmp-block-inversion flag in the zones - ICMP type filtering in the zones - New services: sip, sips, managesieve - rich rules: Allow destination action (RHBZ#1163428) - firewall-offline-cmd: New option -q/--quiet - firewall-[offline-]cmd: New --add-[zone,service,ipset,icmptype]-from-file - firewall-[offline-]cmd: Fix option for setting the destination address - firewall-config: Fixed resizing behaviour - New transaction model for speed ups in start, restart, stop and other actions - firewall-cmd: New options --load{zone,service,ipset,icmptype}-defaults - Fixed memory leak in dbus_introspection_add_properties - Landscape.io fixes, pylint calm downs - New D-Bus getXnames methods to speed up firewall-config and firewall-cmd - ebtables-restore: No support for COMMIT command - Source port support in services, zones and rich rules - firewall-offline-cmd: Added --{add,remove}-entries-from-file for ipsets - firewall-config: New active bindings side bar for simple binding changes - Reworked NetworkManager module - Proper default zone handling for NM connections - Try to set zone binding with NM if interface is under control of NM - Code cleanup and bug fixes - Include test suite in the release and install in /usr/share/firewalld/tests - New Travis-CI configuration file - Fixed more broken frensh translations - Translation updates- Fixed ebtables-restore does not support the COMMIT command issue- Fixed translations with python3 - Fixed exception for failed NM import, new doc string - Make ipsets visible per default in firewall-config - Install new fw_nm module - Do not fail if log file could not be opened - Fixed broken fr translation- Enhancements of ipset handling - No cleanup of ipsets using timeouts while reloading - Only destroy conflicting ipsets - Only use ipset types supported by the system - Add and remove several ipset entries in one call using a file - Reduce time frame where builtin chains are on policy DROP while reloading - Include descriptions in --info-X calls - Command line interface support to get and alter descriptions of zones, services, ipsets and icmptypes with permanent option - Properly watch changes in combined zones - Fix logging in rich rule forward rules - Transformed direct.passthrough errors into warnings - Rework of import structures - Reduced calls to get ids for port and protocol names (RHBZ#1305434) - Build and installation fixes by Markos Chandras - Provide D-Bus properties in introspection data - Fix for flaws found by landscape.io - Fix for repeated SUGHUP - New NetworkManager module to get and set zones of connections, used in firewall-applet and firewall-config - configure: Autodetect backend tools ({ip,ip6,eb}tables{,-restore}, ipset) - Code cleanups - Bug fixes- Revert one commit to temporary work-around RHBZ#1309754- Make sure tempdir is created even in offline mode. (RHBZ#1305175)- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild- Version 0.4.0 - Speed ups - ipset support - MAC address support - Log of denied packets - Mark action in rich rules - Enhanced alteration of config files with command line tools - Use of zone chains in direct interface - firewall-applet enhancement - New services: ceph-mon, ceph, docker-registry, imap, pop3, pulseaudio, smtps, snmptrap, snmp, syslog-tls and syslog - Several bug fixes - Code optimizations- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5- bump versions on old config package obsoletes (f21 is on 0.3.14 now)- Require python3-gobject-base for fedora >= 23 and rhel >= 8 (RHBZ#1242076) - Fix rhel defines: No python3 for rhel-7- Fixed 'pid_file' referenced before assignment (RHBZ#1233232)- reunification of the firewalld spec files for all Fedora releases - fix dependencies for -applet and -config: use_python3 is the proper switch not with_python3 (RHBZ#1232493) - firewalld.spec: - fixed requirements for -applet and -config - man pages: - adapted firewall-applet man page to new version - firewall-applet: - Only honour active connections for zone changes - Change QSettings path and file names - firewall-config: - Only honour active connections for zone changes in the “Change Zones of Connections” menu - Translations: - updated translations - marked translations for “Connections” for review- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild- Fix issue with missing polkit policy when installing firewalld on Cloud Edition.- firewall-applet - do not use isSystemTrayAvailable check to fix KDE5 startup - dropped gtk applet remain: org.fedoraproject.FirewallApplet.gschema.xml- renamed python2-firewall to python-firewall - fixed requirements for GUI parts with Python3 - dropped upstream merged python3 patch - firewalld: - print real zone names in error messages - iptables 1.4.21 does not accept limits of 1/day, minimum is 2/day now - rate limit fix for rich rules - fix readdition of removed permanent direct settings - adaption of the polkit domains to use PK_ACTION_DIRECT_INFO - fixed two minor Python3 issues in firewall.core.io.direct - fixed use of fallback configuration values - fixed use without firewalld.conf - firewalld main restructureization - IPv6_rpfilter now also available as a property on D-Bus in the config interface - fixed wait option use for ipXtables - added --concurrent support for ebtables - richLanguage: allow masquerading with destination - richLanguage: limit masquerading forward rule to new connections - ipXtables: No dns lookups in available_tables and _detect_wait_option - full ebtables support: start, stop, reload, panic mode, direct chains and rules - fix for reload with direct rules - fix or flaws found by landscape.io - pid file handling fixes in case of pid file removal - fix for client issue in case of a dbus NoReply error - configuration - new services: dropbox-lansync, ptp - new icmptypes: timestamp-request, timestamp-reply - man pages: - firewalld.zones(5): fixed typos - firewalld.conf(5): Fixed wrong reference to firewalld.lockdown-whitelist page - firewall-applet: - new version using Qt4 fixing several issues with the Gtk version - spec file: - enabled Python3 support: new backends python-firewall and python3-firewall - some cleanup - git: - migrated to github - translations: - migrated to zanata - build environment: - no need for autoconf-2.69, 2.68 is sufficient- Use VARIANT_ID instead of VARIANT for making decisions- Switch to using $VARIANT directly from /etc/os-release- Fix bugs with posttrans - Remove nonexistent fedora-cloud.conf symlink- Remove per-edition config files - Decide on default configuration based on /etc/os-release- use python3 bindings on fedora >=23- enable python2 and python3 bindings for fedora >= 20 and rhel >= 7 - use python3 bindings on fedora >= 22 and rhel >= 8 for firewalld, firewall-config and firewall-applet- firewalld: - ipXtables: use -w or -w2 if supported (RHBZ#1161745, RHBZ#1151067) - DROP INVALID packets (RHBZ#1169837) - don't use ipv6header for protocol matching. (RHBZ#1065565) - removeAllPassthroughs(): remove passthroughs in reverse order (RHBZ#1167100) - fix config.service.removeDestination() (RHBZ#1164584) - firewall-config: - portProtoDialog: other protocol excludes port number/range - better fix for updating zoneStore also in update_active_zones() - fix typo in menu - configuration: - new services: tinc, vdsm, mosh, iscsi-target, rsyncd - ship and install XML Schema files. (#8) - man pages: - firewalld.dbus, firewalld.direct, firewalld, firewall-cmd - spec file: - filesystem subpackage - make dirs&files in /usr/lib/ world-readable (RHBZ#915988)- firewalld: - new runtimeToPermanent and tracked passsthrough support - make permanent D-Bus interfaces more fine grained like the runtime versions (RHBZ#1127706) - richLanguage: allow using destination with forward-port - Rich_Rule.check(): action can't be used with icmp-block/forward-port/masquerade - fixed Python specific D-Bus exception (RHBZ#1132441) - firewall-cmd: - new --runtime-to-permanent to create permanent from runtime configuration - use new D-Bus methods for permanent changes - show target REJECT instead of %REJECT% (RHBZ#1058794) - --direct: make fail messages consistent (RHBZ#1141835) - firewall-config: - richRuleDialog - OK button tooltip indicates problem - use new D-Bus methods for permanent changes - show target REJECT instead of %REJECT% (RHBZ#1058794) - update "Change Zones of Connections" menu on default zone change (RHBZ#11120212) - fixed rename of zones, services and icmptypes to not create new entry (RBHZ#1131064) - configuration: - new service for Squid HTTP proxy server - new service for Kerberos admin server - new services for syslog and syslog-tls - new services for SNMP and SNMP traps - add Keywords to .desktop to improve software searchability - docs: - updated translations - firewalld.richlanguage: improvements suggested by Rufe Glick - firewalld.dbus: various improvements - firewalld.zone: better description of Limit tag - mention new homepage everywhere- Quiet systemctl if cups-browsed.service is not installed- add few Requires to spec (RHBZ#1133167)- firewalld: - improve error messages - check built-in chains in direct chain handling functions (RHBZ#1120619) - dbus_to_python() check whether input is of expected type (RHBZ#1122018) - handle negative timeout values (RHBZ#1124476) - warn when Command/Uid/Use/Context already in lockdown whitelist (RHBZ#1126405) - make --lockdown-{on,off} work again (RHBZ#1111573) - firewall-cmd: - --timeout now accepts time units (RHBZ#994044) - firewall-config: - show active (not default) zones in bold (RHBZ#993655) - configuration: - remove ipp-client service from all zones (RHBZ#1105639). - fallbacks for missing values in firewalld.conf - create missing dirs under /etc if needed - add -Es to python command in lockdown-whitelist.xml (RHBZ#1099065) - docs: - 'direct' methods concern only chains/rules added via 'direct' (RHBZ#1120619) - --remove-[interface/source] don't need a zone to be specified (RHBZ#1125851) - various fixes in firewalld.zone(5), firewalld.dbus(5), firewalld.direct(5) - others: - rpm macros for easier packaging of e.g. services- Fixed wrong default zone names for server and workstation (RHBZ#1120296)- renamed fedora specific zones to FedoraServer and FedoraWorkstation for zone name limitations (length and allowed chars)- New support for Fedora per-product configuration settings for Fedora.next https://fedoraproject.org/wiki/Per-Product_Configuration_Packaging_Draft - Added Fedora server zone (RHBZ#1110711) - Added Fedora workstation zone(RHBZ#1113775)- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild- new services: freeipa-*, puppermaster, amanda-k5, synergy, xmpp-*, tor, privoxy, sane - do not use at_console in D-Bus policies (RHBZ#1094745) - apply all rich rules for non-default targets - AppData file (RHBZ#1094754) - separate Polkit actions for desktop & server (RHBZ#1091068) - sanitize missing ip6t_rpfilter (RHBZ#1074427) - firewall/core/io/*: few improvements (RHBZ#1065738) - no load failed error for absent direct.xml file - new DBUS_INTERFACE.getZoneSettings to get all run-time zone settings - fixed creation and deletion of zones, services and icmptypes over D-Bus signals - FirewallClientZoneSettings: Set proper default target - if Python2 then encode strings from sax parser (RHBZ#1059104, RHBZ#1058853) - firewall-cmd: - don't colour output of query commands (RHBZ#1097841) - use "default" instead of {chain}_{zone} (RHBZ#1075675) - New --get-target and --set-target - Create and remove permanent zones, services and icmptypes - firewall-config: - Adding services and icmptypes resulted in duplicates in UI - Use left button menu of -applet in Option menu - firewall-offline-cmd: same functionality as 'firewall-cmd --permanent' - firewall-applet: ZoneConnectionEditor was missing the Default Zone entry - bash-completion: getting zones/services/icmps is different with/without --permanent - firewalld.zone(5): removed superfluous slash (RHBZ#1091575) - updated translations- Fixed persistent port forwarding (RHBZ#1056154) - Stop default zone rules being applied to all zones (RHBZ#1057875) - Enforce trust, block and drop zones in the filter table only (RHBZ#1055190) - Allow RAs prior to applying IPv6_rpfilter (RHBZ#1058505) - Fix writing of rule.audit in zone_writer()- fix regression introduced in 0.3.9 (RHBZ#1053932)- fix regressions introduced in 0.3.9 (RHBZ#1054068, RHBZ#1054120)- translation updates - New IPv6_rpfilter setting to enable source address validation (RHBZ#847707) - Do not mix original and customized zones in case of target changes, apply only used zones - firewall-cmd: fix --*_lockdown_whitelist_uid to work with uid 0 - Don't show main window maximized. (RHBZ#1046811) - Use rmmod instead of 'modprobe -r' (RHBZ#1031102) - Deprecate 'enabled' attribute of 'masquerade' element - firewall-config: new zone was added twice to the list - firewalld.dbus(5) - Enable python shebang fix again - firewall/client: handle_exceptions: Use loop in decorator - firewall-offline-cmd: Do not mask firewalld service with disabled option - firewall-config: richRuleDialogActionRejectType Entry -> ComboBox - Rich_Rule: fix parsing of reject element (RHBZ#1027373) - Show combined zones in permanent configuration (RHBZ#1002016) - firewall-cmd(1): document exit code 2 and colored output (RHBZ#1028507) - firewall-config: fix RHBZ#1028853- fix memory leaks - New option --debug-gc - Python3 compatibility - Better non-ascii support - several firewall-config & firewall-applet fixes - New --remove-rules commands for firewall-cmd and removeRules methods for D-Bus - Fixed FirewallDirect.get_rules to return proper list - Fixed LastUpdatedOrderedDict.keys() - Enable rich rule usage in trusted zone (RHBZ#994144) - New error codes: INVALID_CONTEXT, INVALID_COMMAND, INVALID_USER and INVALID_UID- Don't fail on missing ip[6]tables/ebtables table. (RHBZ#967376) - bash-completion: --permanent --direct options - firewall/core/fw.py: fix checking for iptables & ip6tables (RHBZ#1017087) - firewall-cmd: use client's exception_handler instead of catching exceptions ourselves - FirewallClientZoneSettings: fix {add|remove|query}RichRule() - Extend amanda-client service with 10080/tcp (RHBZ#1016867) - Simplify Rich_Rule()_lexer() by using functions.splitArgs() - Fix encoding problems in exception handling (RHBZ#1015941)- firewall-offline-cmd: --forward-port 'toaddr' is optional (RHBZ#1014958) - firewall-cmd: fix variable name (RHBZ#1015011)- remove superfluous po files from archive- firewalld.richlanguage.xml: correct log levels (RHBZ#993740) - firewall-config: Make sure that all zone settings are updated properly on firewalld restart - Rich_Limit: Allow long representation for duration (RHBZ#994103 - firewall-config: Show "Changes applied." after changes (RHBZ#993643) - Use own connection dialog to change zones for NM connections - Rename service cluster-suite to high-availability (RHBZ#885257) - Permanent direct support for firewall-config and firewall-cmd - Try to avoid file descriptor leaking (RHBZ#951900) - New functions to split and join args properly (honoring quotes) - firewall-cmd(1): 2 simple examples - Better IPv6 NAT checking. - Ship firewalld.direct(5).- Only use one PK action for configuration (RHBZ#994729) - firewall-cmd: indicate non-zero exit code with red color - rich-rule: enable to have log without prefix & log_level & limit - log-level warn/err -> warning/error (RHBZ#1009436) - Use policy DROP while reloading, do not reset policy in restart twice - Add _direct chains to all table and chain combinations - documentation improvements - New firewalld.direct(5) man page docbook source - tests/firewall-cmd_test.sh: make rich language tests work - Rich_Rule._import_from_string(): improve error messages (RHBZ#994150) - direct.passthrough wasn't always matching out_signature (RHBZ#967800) - firewall-config: twist ICMP Type IP address family logic. - firewall-config: port-forwarding/masquerading dialog (RHBZ#993658) - firewall-offline-cmd: New --remove-service= option (BZ#969106) - firewall-config: Options->Lockdown was not changing permanent. - firewall-config: edit line on doubleclick (RHBZ#993572) - firewall-config: System Default Zone -> Default Zone (RHBZ#993811) - New direct D-Bus interface, persistent direct rule handling, enabled passthough - src/firewall-cmd: Fixed help output to use more visual parameters - src/firewall-cmd: New usage output, no redirection to man page anymore - src/firewall/core/rich.py: Fixed forwad port destinations - src/firewall-offline-cmd: Early enable/disable handling now with mask/unmask - doc/xml/firewalld.zone.xml: Added more information about masquerade use - Prefix to log message is optional (RHBZ#998079) - firewall-cmd: fix --permanent --change-interface (RHBZ#997974) - Sort zones/interfaces/service/icmptypes on output. - wbem-https service (RHBZ#996668) - applet&config: add support for KDE NetworkManager connection editor - firewall/core/fw_config.py: New method update_lockdown_whitelist - Added missing file watcher for lockdown whitelist in config D-Bus interface - firewall/core/watcher: New add_watch_file for lockdown-whitelist and direct - Make use of IPv6 NAT conditional, based on kernel number (RHBZ#967376)- several rich rule check enhancements and fixes - firewall-cmd: direct options - check ipv4|ipv6|eb (RHBZ#970505) - firewall-cmd(1): improve description of direct options (RHBZ#970509) - several firewall-applet enhancements and fixes - New README - several doc and man page fixes - Service definitions for PCP daemons (RHBZ#972262) - bash-completion: add lockdown and rich language options - firewall-cmd: add --permanent --list-all[-zones] - firewall-cmd: new -q/--quiet option - firewall-cmd: warn when default zone not active (RHBZ#971843) - firewall-cmd: check priority in --add-rule (RHBZ#914955) - add dhcpv6 (for server) service (RHBZ#917866) - firewall-cmd: add --permanent --get-zone-of-interface/source --change-interface/source - firewall-cmd: print result (yes/no) of all --query-* commands - move permanent-getZoneOf{Interface|Source} from firewall-cmd to server - Check Interfaces/sources when updating permanent zone settings. - FirewallDConfig: getZoneOfInterface/Source can actually return more zones - Fixed toaddr check in forward port to only allow single address, no range - firewall-cmd: various output improvements - fw_zone: use check_single_address from firewall.functions - getZoneOfInterface/Source does not need to throw exception - firewall.functions: Use socket.inet_pton in checkIP, fixed checkIP*nMask - firewall.core.io.service: Properly check port/proto and destination address - Install applet desktop file into /etc/xdg/autostart - Fixed option problem with rich rule destinations (RHBZ#979804) - Better exception creation in dbus_handle_exceptions() decorator (RHBZ#979790) - Updated firewall-offline-cmd - Use priority in add, remove, query and list of direct rules (RHBZ#979509) - New documentation (man pages are created from docbook sources) - firewall/core/io/direct.py: use prirority for rule methods, new get_all_ methods - direct: pass priority also to client.py and firewall-cmd - applet: New blink and blink-count settings - firewall.functions: New function ppid_of_pid - applet: Check for gnome3 and fix it, use new settings, new size-changed cb - firewall-offline-cmd: Fix use of systemctl in chroot - firewall-config: use string.ascii_letters instead of string.letters - dbus_to_python(): handle non-ascii chars in dbus.String. - Modernize old syntax constructions. - dict.keys() in Python 3 returns a "view" instead of list - Use gettext.install() to install _() in builtins namespace. - Allow non-ascii chars in 'short' and 'description' - README: More information for "Working With The Source Repository" - Build environment fixes - firewalld.spec: Added missing checks for rhel > 6 for pygobject3-base - firewall-applet: New setting show-inactive - Don't stop on reload when lockdown already enabled (RHBZ#987403) - firewall-cmd: --lockdown-on/off did not touch firewalld.conf - FirewallApplet.gschema.xml: Dropped unused sender-info setting - doc/firewall-applet.xml: Added information about gsettings - several debug and log message fixes - Add chain for sources so they can be checked before interfaces (RHBZ#903222) - Add dhcp and proxy-dhcp services (RHBZ#986947) - io/Zone(): don't error on deprecated family attr of source elem - Limit length of zone file name (to 12 chars) due to Netfilter internals. - It was not possible to overload a zone with defined source(s). - DEFAULT_ZONE_TARGET: {chain}_ZONE_{zone} -> {chain}_{zone} - New runtime getSettings for services and icmptypes, fixed policies callbacks - functions: New functions checkUser, checkUid and checkCommand - src/firewall/client: Fixed lockdown-whitelist-updated signal handling - firewall-cmd(1): move firewalld.richlanguage(5) reference in --*-rich-rule - Rich rule service: Only add modules for accept action - firewall/core/rich: Several fixes and enhanced checks - Fixed reload of direct rules - firewall/client: New functions to set and get the exception handler - firewall-config: New and enhanced UI to handle lockdown and rich rules - zone's immutable attribute is redundant - Do not allow to set settings in config for immutable zones. - Ignore deprecated 'immutable' attribute in zone files. - Eviscerate 'immutable' completely. - FirewallDirect.query_rule(): fix it - permanent direct: activate firewall.core.io.direct:Direct reader - core/io/*: simplify getting of character data - FirewallDirect.set_config(): allow reloading- Remove migrating to a systemd unit file from a SysV initscript - Remove pointless "ExclusiveOS" tag- Fixed rich rule check for use in D-Bus- new service files - relicensed logger.py under GPLv2+ - firewall-config: sometimes we don't want to use client's exception handler - When removing Service/IcmpType remove it from zones too (RHBZ#958401) - firewall-config: work-around masquerade_check_cb() being called more times - Zone(IO): add interfaces/sources to D-Bus signature - Added missing UNKNOWN_SOURCE error code - fw_zone.check_source: Raise INVALID_FAMILY if family is invalid - New changeZoneOfInterface method, marked changeZone as deprecated - Fixed firewall-cmd man page entry for --panic-on - firewall-applet: Fixed possible problems of unescaped strings used for markup - New support to bind zones to source addresses and ranges (D-BUS, cmd, applet - Cleanup of unused variables in FirewallD.start - New firewall/fw_types.py with LastUpdatedOrderedDict - direct.chains, direct.rules: Using LastUpdatedOrderedDict - Support splitted zone files - New reader and writer for stored direct chains and rules - LockdownWhitelist: fix write(), add get_commands/uids/users/contexts() - fix service_writer() and icmptype_writer() to put newline at end of file - firewall-cmd: fix --list-sources - No need to specify whether source address family is IPv4 or IPv6 - add getZoneOfSource() to D-Bus interface - Add tests and bash-completion for the new "source" operations - Convert all input args in D-Bus methods - setDefaultZone() was calling accessCheck() *after* the action - New uniqify() function to remove duplicates from list whilst preserving order - Zone.combine() merge also services and ports - config/applet: silence DBusException during start when FirewallD is not running (RHBZ#966518) - firewall-applet: more fixes to make the address sources family agnostic - Better defaults for lockdown white list - Use auth_admin_keep for allow_any and allow_inactive also - New D-Bus API for lockdown policies - Use IPv4, IPv6 and BRIDGE for FirewallD properties - Use rich rule action as audit type - Prototype of string-only D-Bus interface for rich language - Fixed wrongly merged source family check in firewall/core/io/zone.py - handle_cmr: report errors, cleanup modules in error case only, mark handling - Use audit type from rule action, fixed rule output - Fixed lockdown whitelist D-Bus handling method names - New rich rule handling in runtime D-Bus interface - Added interface, source and rich rule handling (runtime and permanent) - Fixed dbus_obj in FirewallClientConfigPolicies, added queryLockdown - Write changes in setLockdownWhitelist - Fixed typo in policies log message in method calls - firewall-cmd: Added rich rule, lockdown and lockdown whitelist handling - Don't check access in query/getLockdownWhitelist*() - firewall-cmd: Also output masquerade flag in --list-all - firewall-cmd: argparse is able to convert argument to desired type itself - firewall-cmd_test.sh: tests for permanent interfaces/sources and lockdown whitelist - Makefile.am: add missing files - firewall-cmd_test.sh: tests for rich rules - Added lockdown, source, interface and rich rule docs to firewall-cmd - Do not masquerade lo if masquerade is enabled in the default zone (RHBZ#904098) - Use in metavar for firewall-cmd parser- removed unintentional en_US.po from tarball- Fix signal handling for SIGTERM - Additional service files (RHBZ#914859) - Updated po files - s/persistent/permanent/ (Trac Ticket #7) - Better behaviour when running without valid DISPLAY (RHBZ#955414) - client.handle_exceptions(): do not loop forever - Set Zone.defaults in zone_reader (RHBZ#951747) - client: do not pass the dbus exception name to handler - IO_Object_XMLGenerator: make it work with Python 2.7.4 (RHBZ#951741) - firewall-cmd: do not use deprecated BaseException.message - client.py: fix handle_exceptions() (RHBZ#951314) - firewall-config: check zone/service/icmptype name (RHBZ#947820) - Allow 3121/tcp (pacemaker_remote) in cluster-suite service. (RHBZ#885257) - firewall-applet: fix default zone hangling in 'shields-up' (RHBZ#947230) - FirewallError.get_code(): check for unknown error- Make permanenent changes work with Python 2.7.4 (RHBZ#951741)- Use explicit file lists for make dist - New rich rule validation check code - New global check_port and check_address functions - Allow source white and black listing with the rich rule - Fix error handling in case of unsupported family in rich rule - Enable ip_forwarding in masquerade and forward-port - New functions to read and write simple files using filename and content - Add --enable-sysconfig to install Fedora-specific sysconfig config file. - Add chains for security table (RHBZ#927015) - firewalld.spec: no need to specify --with-systemd-unitdir - firewalld.service: remove syslog.target and dbus.target - firewalld.service: replace hard-coded paths - Move bash-completion to new location. - Revert "Added configure for new build env" - Revert "Added Makefile.in files" - Revert "Added po/Makefile.in.in" - Revert "Added po/LINGUAS" - Revert "Added aclocal.m4" - Amend zone XML Schema- Added rich language support - Added lockdown feature - Allow to bind interfaces and sources to zones permanently - Enabled IPv6 NAT support masquerading and port/packet forwarding for IPv6 only with rich language - Handle polkit errors in client class and firewall-config - Added priority description for --direct --add-rule in firewall-cmd man page - Add XML Schemas for zones/services/icmptypes XMLs - Don't keep file descriptors open when forking - Introduce --nopid option for firewalld - New FORWARD_IN_ZONES and FORWARD_OUT_ZONES chains (RHBZ#912782) - Update cluster-suite service (RHBZ#885257) - firewall-cmd: rename --enable/disable-panic to --panic-on/off (RHBZ#874912) - Fix interaction problem of changed event of gtk combobox with polkit-kde by processing all remaining events (RHBZ#915892) - Stop default zone rules being applied to all zones (RHBZ#912782) - Firewall.start(): don't call set_default_zone() - Add wiki's URL to firewalld(1) and firewall-cmd(1) man pages - firewalld-cmd: make --state verbose (RHBZ#886484) - improve firewalld --help (RHBZ#910492) - firewall-cmd: --add/remove-* can be used multiple times (RHBZ#879834) - Continue loading zone in case of wrong service/port etc. (RHBZ#909466) - Check also services and icmptypes in Zone() (RHBZ#909466) - Increase the maximum length of the port forwarding fields from 5 to 11 in firewall-config - firewall-cmd: add usage to fail message - firewall-cmd: redefine usage to point to man page - firewall-cmd: fix visible problems with arg. parsing - Use argparse module for parsing command line options and arguments - firewall-cmd.1: better clarify where to find ACTIONs - firewall-cmd Bash completion - firewall-cmd.1: comment --zone= usage and move some options - Use zone's target only in %s_ZONES chains - default zone in firewalld.conf was set to public with every restart (#902845) - man page cleanup - code cleanup- Another fix for RHBZ#912782- Stop default zone rules being applied to all zones (RHBZ#912782)- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild- Default zone in firewalld.conf was reseted with every restart (RHBZ#902845) - Add icon cache related scriptlets for firewall-config (RHBZ#902680) - Fix typo in firewall-config (RHBZ#895812) - Fix few mistakes in firewall-cmd(1) man page- firewall-cmd: use -V instead of -v for version info (RHBZ#886477) - firewall-cmd: don't check reload()'s return value (RHBZ#886461) - actually install firewalld.zones.5 - firewall-config: treat exceptions when adding new zone/service/icmp (RHBZ#886602) - firewalld.spec: Fixed requirements of firewall-config to use gtk2 and pygobject3 - Fail gracefully when running in non X environment.(RHBZ#886551) - offline-cmd: fail gracefully when no s-c-f config - fix duplicated iptables rules (RHBZ#886515) - detect errors and duplicates in config file (RHBZ#886581) - firewall-config: don't make 'Edit Service' and 'Edit ICMP Type' insensitive - firewalld.spec: fixed requirements, require pygobject3-base - frewall-applet: Unused code cleanup - firewall-applet: several usability fixes and enhancements (RHBZ#886531) (RHBZ#886534) - firewall/server/server.py: fixed KeyboardInterrupt message (RHBZ#886558) - Moved fallback zone and minimal_mark to firewall.config.__init__ - Do not raise ZONE_ALREADY_SET in change_zone if old zone is set again (RHBZ#886432) - Make default zone default for all unset connections/interfaces (RHBZ#888288) (RHBZ#882736) - firewall-config: Use Gtk.MessageType.WARNING for warning dialog - firewall-config: Handle unknown services and icmptypes in persistent mode - firewall-config: Do not load settings more than once - firewall-config: UI cleanup and fixes (RHBZ#888242) - firewall-cmd: created alias --change-zone for --change-interface - firewall-cmd man page updates (RHBZ#806511) - Merged branch 'build-cleanups' - dropped call to autogen.sh in build stage, not needed anymore due to 'build-cleanups' merge- require pygobject3-base instead of pygobject3 (no cairo needed) (RHBZ#874378) - fixed dependencies of firewall-config to use gtk3 with pygobject3-base and not pygtk2- Fixed more _xmlplus (PyXML) incompatibilities to python xml - Several man page updates - Fixed error in addForwardPort, removeForwardPort and queryForwardPort - firewall-cmd: use already existing queryForwardPort() - Update firewall.cmd man page, use man page as firewall-cmd usage (rhbz#876394) - firewall-config: Do not force to show labels in the main toolbar - firewall-config: Dropped "Change default zone" from toolbar - firewall-config: Added menu entry to change zones of connections - firewall-applet: Zones can be changed now using nm-connection-editor (rhbz#876661) - translation updates: cs, hu, ja- tests/firewalld_config.py: tests for config.service and config.icmptype - FirewallClientConfigServiceSettings(): destinations are dict not list - service/zone/icmptype: do not write deprecated name attribute - New service ntp - firewall-config: Fixed name of about dialog - configure.in: Fixed getting of error codes - Added coding to all pyhton files - Fixed copyright years - Beautified file headers - Force use of pygobject3 in python-slip (RHBZ#874378) - Log: firewall.server.config_icmptype, firewall.server.config_service and firewall.server.config_zone: Prepend full path - Allow ":" in interface names for interface aliases - Add name argument to Updated and Renamed signal - Disable IPv4, IPv6 and EB tables if missing - for IPv4/IPv6 only environments - firewall-config.glade file cleanup - firewall-config: loadDefaults() can throw exception - Use toolbars for Add/Edit/Remove/LoadDefaults buttons for zones, services and icmp types - New vnc-server service, opens ports for displays :0 to :3 (RHBZ#877035) - firewall-cmd: Fix typo in help output, allow default zone usage for permanenent options - Translation updates: cs, fr, ja, pt_BR and zh_CN- firewall-config: some UI usability changes - firewall-cmd: New option --list-all-zones, output of --list-all changed, more option combination checks - firewall-applet: Replaced NMClient by direct DBUS calls to fix python core dumps in case of connection activates/deactivates - Use fallback 'C' locale if current locale isn't supported (RHBZ#860278) - Add interfaces to zones again after reload - firewall-cmd: use FirewallClient().connected value - firewall-cmd: --remove-interface was not working due to a typo - Do not use restorecon for new and backup files - Fixed use of properties REJECT and DROP - firewalld_test.py: check interfaces after reload - Translation updates - Renamed firewall-convert-scfw-config to firewall-offline-cmd, used by anaconda for firewall configuration (e.g. kickstart) - Fix python shebang to use -Es at installation time for bin_SCRIPTS and sbin_SCRIPTS and at all times in gtk3_chooserbutton.py - tests/firewalld_config.py: update test_zones() test case - Config interface: improve renaming of zones/services/icmp_types - Move emiting of Added signals closer to source. - FirewallClient(): config:ServiceAdded signal was wrongly mapped - Add argument 'name' to Removed signal - firewall-config: Add callbacks for config:[service|icmp]-[added|removed] - firewall-config: catch INVALID_X error when removing zone/service/icmp_type - firewall-config: remove unused code - Revert "Neutralize _xmlplus instead of conforming it" - firewall-applet: some UI usability changes - firewall-cmd: ALREADY_ENABLED, NOT_ENABLED, ZONE_ALREADY_SET are warnings- Do not apply old settings to zones after reload - FirewallClient: Added callback structure for firewalld signals - New firewall-config with full zone, service and icmptype support - Added Shields Up/Down configuration dialog to firewall-applet - Name attribute of main tag deprecated for zones, services and icmptypes, will be ignored if present - Fixed wrong references in firewalld man page - Unregister DBus interfaces after sending out the Removed signal - Use proper DBus signature in addIcmpType, addService and addZone - New builtin property for config interfaces - New test case for Config interface - spec: use new systemd-rpm macros (rhbz#850110) - More config file verifications - Lots of smaller fixes and enhancements- use new systemd-rpm macros (rhbz#850110)- Update of firewall-config - Some bug fixes- New D-BUS interface for persistent configuration - Aded support for persistent zone configuration in firewall-cmd - New Shields Up feature in firewall-applet - New requirements for python-decorator and pygobject3 - New firewall-config sub-package - New firewall-convert-scfw-config config script- Fixed traceback in firewall-cmd for failed or canceled authorization, return proper error codes, new error codes NOT_RUNNING and NOT_AUTHORIZED - Enhanced firewalld service file (RHBZ#806868) and (RHBZ#811240) - Fixed duplicates in zone after reload, enabled timed settings after reload - Removed conntrack --ctstate INVALID check from default ruleset, because it results in ICMP problems (RHBZ#806017). - Update interfaces in default zone after reload (rhbz#804814) - New man pages for firewalld(1), firewalld.conf(5), firewalld.icmptype(5), firewalld.service(5) and firewalld.zone(5), updated firewall-cmd man page (RHBZ#811257) - Fixed firewall-cmd help output - Fixed missing icon for firewall-applet (RHBZ#808759) - Added root user check for firewalld (RHBZ#767654) - Fixed requirements of firewall-applet sub package (RHBZ#808746) - Update interfaces in default zone after changing of default zone (RHBZ#804814) - Start firewalld before NetworkManager (RHBZ#811240) - Add Type=dbus and BusName to service file (RHBZ#811240)- fixed firewalld.conf save exception if no temporary file can be written to /etc/firewalld/- firewall-cmd: several changes and fixes - code cleanup - fixed icmp protocol used for ipv6 (rhbz#801182) - added and fixed some comments - properly restore zone settings, timeout is always set, check for 0 - some FirewallError exceptions were actually not raised - do not REJECT in each zone - removeInterface() don't require zone - new tests in firewall-test script - dbus_to_python() was ignoring certain values - added functions for the direct interface: chains, rules, passthrough - fixed inconsistent data after reload - some fixes for the direct interface: priority positions are bound to ipv, table and chain - added support for direct interface in firewall-cmd: - added isImmutable(zone) to zone D-Bus interface - renamed policy file - enhancements for error messages, enables output for direct.passthrough - added allow_any to firewald policies, using at leas auth_admin for policies - replaced ENABLE_FAILED, DISABLE_FAILED, ADD_FAILED and REMOVE_FAILED by COMMAND_FAILED, resorted error codes - new firewalld configuration setting CleanupOnExit - enabled polkit again, found a fix for property problem with slip.dbus.service - added dhcpv6-client to 'public' (the default) and to 'internal' zones. - fixed missing settings form zone config files in "firewall-cmd --list=all --zone=" call - added list functions for services and icmptypes, added --list=services and --list=icmptypes to firewall-cmd- enabled dhcpv6-client service for zones home and work - new dhcpv6-client service - firewall-cmd: query mode returns reversed values - new zone.changeZone(zone, interface) - moved zones, services and icmptypes to /usr/lib/firewalld, can be overloaded by files in /etc/firewalld (no overload of immutable zones block, drop, trusted) - reset MinimalMark in firewalld.cnf to default value - fixed service destination (addresses not used) - fix xmlplus to be compatible with the python xml sax parser and python 3 by adding __contains__ to xml.sax.xmlreader.AttributesImpl - use icon and glib related post, postun and posttrans scriptes for firewall - firewall-cmd: fix typo in state - firewall-cmd: fix usage() - firewall-cmd: fix interface action description in usage() - client.py: fix definition of queryInterface() - client.py: fix typo in getInterfaces() - firewalld.service: do not fork - firewall-cmd: fix bug in --list=port and --port action help message - firewall-cmd: fix bug in --list=service- moved zones, services and icmptypes to /usr/lib/firewalld, can be overloaded by files in /etc/firewalld (no overload of immutable zones block, drop, trusted)- added missing firewall.dbus_utils- added glib2-devel to build requires, needed for gsettings.m4 - added --with-system-unitdir arg to fix installaiton of system file - added glib-compile-schemas calls for postun and posttrans - added EXTRA_DIST file lists- version 0.2.0 with new FirewallD1 D-BUS interface - supports zones with a default zone - new direct interface as a replacement of the partial virt interface with additional passthrough functionality - dropped custom rules, use direct interface instead - dropped trusted interface funcionality, use trusted zone instead - using zone, service and icmptype configuration files - not using any system-config-firewall parts anymore- new version 0.1.3 - restore all firewall features for reload: panic and virt rules and chains - string fixes for firewall-cmd man page (by Jiri Popelka) - fixed firewall-cmd port list (by Jiri Popelka) - added firewall dbus client connect check to firewall-cmd (by Jiri Popelka) - translation updates: de, es, gu, it, ja, kn, ml, nl, or, pa, pl, ru, ta, uk, zh_CN- fixed package according to package review (rhbz#665395): - non executable scripts: dropped shebang - using newer GPL license file - made /etc/dbus-1/system.d/FirewallD.conf config(noreplace) - added requires(post) and (pre) for chkconfig- new version 0.1.1 - fixed source path in POTFILES* - added missing firewall_config.py.in - added misssing space for spec_ver line - using firewall_config.VARLOGFILE - added date to logging output - also log fatal and error logs to stderr and firewall_config.VARLOGFILE - make log message for active_firewalld fatal- initial package (proof of concept implementation) 0.9.11-4.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 -fasynchronous-unwind-tables -fstack-clash-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-80f76d8ecd9037d719b6940527d3156686f71c0e286f2021581bf1dd7e7015048?@7zXZ !#,*:] b2u y-iSqlnV3 ]t?-a|J|h&NNpN 3ǯ< VYPf`YԵ=P|6e1Y?ct*`V wd"5y8Y`PɪAϓ܈J)CuL aPreD *゙3S|P/L߹;V/"`M zڧe )K4|CZ?m*|~.zҳ]9 hިkILO"81k1A@ZQ֋*AQK\-*a4R%IFmZZ4"ꜘ. iƱkؿL$'_G sZ8"l=\y>Bn=ƹM<XkYkP(-;uz lQ"{@(F;8Ҍ`"&pSe9P9XTcKFT&Llw)k )t$'sdtoDMԁ;3o=tko͋\~J}[ řߢuU\Ų݀@a 5GvB>] s.G(>s:Ci'w~ˇd[Rsqs犜:CC((vb+*Yu.>od|$pzb>e ba󖮙ڷH([7{ONJUߠy(NdHeC?NV:?_܋jpdu Ip vP:s %rw4;oW̶n U4}LPDxL-~g } Ks/Š]De(CVkE7}(}q>hFau8Z8`(χwSݷۿr\qC>_,+'ֺA`Aڔ!u%4{AS;J.T.+1醧;y &oYTPED}#*ؑ?hX9 rV L|wE浭;r_*2 "4Р>9-yO%D[O#h\]nD1n6I?6B^ Hi_*iJ'1z@H5!֦ q.?د-S z<0(R6sM@CtUlY^1/gBC8@cѱ6|&)Mvf:/µR1lLN ?WvzkW䍗[CmnF送]ڠ3O$wT>-|*蓦?aSt94S}'ӥMHd(80䇭Y}pETiؙ$-BWע/}L~-G\=)P5`e7#Shg 0ո'eiiP&aL3Sveh&,q_ME<,gA,T[,eJ̀_]ݧ~Cѯe~,ܖ^8Ke:<˳t30]6P˄*߿ NEvM?q\I 6E5Mt0g[m#"̲7~Cn`ƗhR{̏Up)i:W_6ye?Y.Hig FgCb5q54KfAcCӁǭDcJ y!媺l02ӥ}E畵,<ʶ@LtDj8޼oc|Gx bԣrrCd[!+չַirD!Zə&oUZ 8reѲA`ф=[Eي=?1QE7VS @:4~:4N~ Y`B5b-)S^&yEWGVxz,G;U֜t(rEP*')G:xOKLQV6HK5QO8t?CkOXMMG7u4SWHsny Uo6dR Z?M {8qk;O"k\8dAC"q(Qt(?/EEH /^$~qX^ʩ:@vb6g~lܻAh)?%<1r`Y^δl|k;Q[yk$mrI4Gn~G-ѵeE{[R:x@ԱޟV[f.3Ӱy: 2J(A} &ILimn{3I0'K =fAhODߧ͞w4|K6yHŁ, >TcKeU߬ojkhӳT~jLg ^"+HWwk^4XH/D2KE!aMD?AVӂ J6,7Ҥ37أt=ɾr":s-?VG2'Cմt[$+1_1J p°9 듛 m6g9qbVFj :VjNE]}5~(pr !Wcb6JyZ~f_vowa:uo}ej+nWw3++8_cgA 9l$Baaؕ6rV)%pX^[IBpЭ XD{ÊZ+ Idh'8xd;'cl?A>SD9^ 3 7+VŧwU󾋍L9WLEg\BK$lk)Ԇ*Dz::qmrn'ZW8tE ,CJ~@v!Hf*\LޝvC+t㴖!WRœSѲVVDj*d=t/ w5Tsxb4\l(il,t؋>qC<*n5 YUXoH Z{9|Q=Ԧ6J c<6䏘?vVm ξ,0*AqPY@ mXұЏ֥LKMW~B QVyw: wlVuΏ t "0d}0C6,f |7%++nOͼ_ 4}T̳2JȔVw@zڜxဴyI <ĉ 8s[ F.&70[W.#\|eׂyOX e;yXE$\f:t>4V̝#xk>LE螎ρSR(WLky \F%,8۰?MJ|9TTv&k#KU2FYw4qꨞ[="D:EQ\&v>cv!)T+Ӕ7fIS1U'֖=:+Mߩ˽Btc0AX&h*-AMll-/JM 7#F1H= 2zGXfQZAt5Y0y zj\s&PDMA!vU[ /8; k=Z(r`\]+o0/-bj(~}oe2/7C ̝VTBuE!o1 E-}r}hIˆa:Eip#KI㨍 زO8CU VTrQTom~_,f풃e#y=߯K?dPO  zrلQ`M."fTUooe%uu:?uETǎ8rbZt43*RjkD.gx.ǮC$bn%.*g 8žC_.fDJ[,gʵ2j ]~iDG4~QVw鸇u^B@JÑjxsl duj+1hAwћ9JdE8*ic9B&!>-HK9,#1߾!# x g?ՙ7 VA oQ@xk~u^7Q޶`h&+1"iS7d"P;!R(frA '6}>*̺?S5L-[_5na-%yLO7)9ē `!&X\r9!Aޤ-L0?Q Z]ܫ_jwfm2Y%mgC/>UtGj #Z\(=hZg73v/ʦjHuau,6zx>V;ՌĠЌ?3Ʌz-Fd&}rMr'Li?jXO #X7&0n?/;^5-Ċx|M49hƝ+NOqY\9駓nٕUq.Q,)|xpDjqv1=lL8cSi9We=&(sF lk\/Q AޯEXP5|A@"%8 T}Mt|h!0.MTAbjޒ`u1h.'ډBs2X؋4iȪ55V#oTw^6bGsM)dɍhP~Ic:XRa'\3ލ㢜[$IsJd'^{-:sQMjfsP<9yQ+#O`5s?\3GOH^iԒBL W.P&7)&[p:B 6xwO%# iMsvbtlFLAtXݠڟV7{8K(zc+;8nhb9Ьf3:}3A-"vHg>.PO:׿k;*]s7FR5 GRƛ oڠ7Uzy! ҏ- ?p}\[tΗ˘6F6D&Ds"m7V3TԣoܪwrQO85fJĝz;e {>ctXZE\8T{GYVՀWa()2G(2f(Of۝90ц  ,. g\mS+}QCB7`iR04߇bzB~>g@9jH!}|Y)t5ҏ88jw,AVzJEoƐVŠ1uuҬˏ C`UKEX#0.e\5Y芢e]W@VX_&$XB 쿿he3*ոA4ocH4k-*K\)Z |?r[&+&Bo|;TpRmu`8IaRsV=y"cDjzɬ b3gW[;$[_|5SLbU6#ȼŷ*osDI 1N]5$qO[Fɸ#uvp$F! r0.Rj.Beeԃɥwr^GT) Z ;$p 3/IaJmg@;3 1l lm C )dkNyZQЕ+Upuf(EB[ii7ˊ!~Ôea5J!VW7b+P>AB2=2BX'ͧx;񰾘:bҢK}t֌H+ 61:ğ+D9m+,],TI&+9!VDIƦ~רg67;V>?91K N揍S*?X67DGڕ°R3p-D]8`Ll`it:r? P@tG2#!j$( NUEoPZ Ǎim_-"z\$Z7Hi/*ۑa͔'! hBNLHڇW<;km@ˆ ʱL=}iX"6@;` H QO^E:F\T*y84||^Z+|p9u i;q׋ŀ2O\Y z^8aI^积,r8Ԕ5AT5g`z; (t84E.4\2Ck x9}ꈋނM.MDCY>.IO!OEŁ_u@qwZ-P=uU[n*`i` DİpQXZT X#,K~qC't ;HbORD1=ӭ`@qLM*>[ qBlwHh⨑Z1OynndM}2 '{$VL|SG?Ԩ`Yt@'gM|49AbrfXOyei~qCn,{sP k2 5 EyxOʏ+D³룸2R EN( sK >5gr3 NC CLoR`9%:>eZCr{,d0]A 潒1w'} )a=z8, '_wT[tק3QADg!sO9m&Z "~A(m<'$+a(^o5[T㧄HxsD.^x<"'F1 @^/C O_|8lθWQ׍#.d Um.Gʅ[x D.B VC4e]Uu/!=Cߐ6$FaEI>NSZ: `P sѺ1\,$=uw嬷:yBϠ1mmL,7rPaƛ:OaR5%]ˮgaټM9߮?2A^\W,9Ry t[0O><D8v#)YKwXxk؆r*$*tI`T2[Ęm2/md4>):l\/KE4nckAO%t7^x jI柱wm{UO=K@<0PHWѣ.6jHAFz<*Q.PL1Ve8{r$F )#'jjF LزF نFw:bnL ŃB \&Dx4}Ul%s_6H&/t{]`qFC_Ak֮1rx}>p gt֑-)]Uhϧ3n"-,bC1+ ąl,Ι(AϑI M3Mjz;>Cv9 -(|qED4&ꨢB\rT*mLu&O^v}C|yϧomstȿkDN{PϾ%q,VFutP˧^<+\w'eϛi Q*jۇOu I*^W]sWrd-JdaҮmθ8j@ p#LFJ44w7ٟt6cu$9Te-J9dbiM9ߺMSi%(k_sU|h%W#|EWO,TDҜ65;'}?Sd*eҋk9[y#r{!9:M6|L:"Qtk#F>"YL˵" F89te]?Ñ|&deL(rO#=8-77EɎu#erZ ݂>Y =ɭlNӫŐ)L'QO=VfƱ c)Fqfr>D ^ u<*zL@< Zi,;bCs ݲ8p@nv[L_K0$]|"?2ǀQjհ<9 ;d%rQýmnwEjo5%hd ~_6+p=Prhi;@PxYNݡ 4o;ɻH·Gg0 ~z lv/WIaB%&ʙ@LNz\s_8WZOk:ӠJ:H-ܛATgyȗP[k*zY:L̏͵ʒG`0Δ.[{!d$;kfRzUhKXVcflYGl;~v1 g/ cm=7ȭ:D2WGzIIT2c^ wHfqxT<9ʬ3 ?҅1^E OM×"ԋ1qu|ae:w?Q0)!C/,Eh_!AY{Av])> ,4W1_p&ߴ۩ Zg})16 KDI{eH7cXg1vk7ֽLxwdGdbOap$w{ZBv1觛B*E99|cc& h1(O#:*\o|۴Oq&pC㣊ZdjP_e#VGZ^ԓ Ak̀%23RwI1`څPu?P \7}AH۴nB .BO,̀,7/Ji7a/ Ci;k'^U6ɁFf{g3KGG}#N!l0dMDzoJPWE{r!(Bd<4OI~8kA`K ~>9PlpQ05Nls"bp*GRᏏ&- q%;" ZSnJ_@t: `)yȳY%KN*!8A9^/wx!``P:E*ٱIտ@WJ ?ˤa30=V=su` ! -i v-iFT=pɍab)qHSXX3x|6n:ۭi @TۚV\K߀aH L3J`k n3d{qS?yȷ]Q*Y2?x^;!\6'GMS{gw7;L>iiD}sG[.Q0:7-we6b1SOq4Q]jt9eU&DcS Q(xnAloN("eYVKyLe;S#IվcD }LTwG,Eg<6qޟ•=18S]UsmO!UҎs%E=\0'WJISS 0Zyd~O=c0Ua0' |ٜÞ#f<7oմYu;H`M=L7+ӣ{"I;aSe`5a; 5Hצe5i\eŌ w0D8)'(({_X q֘H*1 l tmkLgmO!~-GGEApNU گ?tFӒ3׋3aX?MI_cnBэev0]F3WJ? vE6zZg+. =Yi]mҌݷ)EHl Am.#E jP-7N~Ү<ÅLc"[4l !߿xK3ND'_xZHK.kН`x %6VOY: &t°0(H$UXʢ&(znt{sWđd'VKş]m?WG<@nJ+E. LeYz!B0E`P8Wʚr)/Fma#=`y Kv[ 1PٛGޜϐ[|2~,gnvE,.JH_jIU_ ָSE~jRWc ?Lf0dhI-&dWH mAR%T2%78mOKJ݄0S#. EʉciVf[LhE frkA={XLR9jRl>C:^,FqdR-4VYV Fz?cV%vୢ u@l {Ra ~YF Vk@qLN7j,7gK}+R|~(wuThg[*=0ЂXz]11ǟ7=t6la ,$=7 s\iՌqnз$ /%6$isG0h\؊/ƚE-$LkAf\g #ˮ‰48d,Hh+m8=<@|rB "~v1+q2XNa?4|Lbv^츦oM KS^'94n`!y/0 Hv-OEpSJ*7~o CWe Qn퐟 &9b`,E}yOSWG%T>"/ѸdNAz7P20ܾb2YeĤmy-==CA@<PnJv%E8s̒ (Jo O{GU Wݔ-<j}L%|*!d,;4C@1 GIa_[ u>y4D׾_ ֪YIV)Eb^W N!d>kip]Vf g~c8r1Eᝁ)1Bi5vʑr2UAj>:H)zn@jb -˦,ްAwblrP]Ee$9 @gĘtF#4EGzG [CWUЌg8/{ҩ.Cq':C \l,Cm1'BW/#虊^\kfz-f UV㋰> ʩ': 9 108%]:ׇ-(Z3d&/֐NN`Xqpn.Hj x&OuZ@̚MmրXӋ,B4UpOߵԛTi ۷}\b{"GWd2.@_C PiHۇN?lΟ n”{ K15#ʛR%bB㒽}~G_0 7{z@N9CLS(9c;XC"Kd)%_G"NDʩk෤|4?;WZOKf>Ds"^?`c+Q+JlW |OO=^2n4T䩦ybƷ%Pa/sNP/9.,ʡ^fuDy5+\@{ "kz횼u]}Gc_֙׺[F?"*tԜ1t׉5T>x©GݒqT"UE s"ޓ>Ƶ. s7;M3e-E׭OU,gP,5v^SZq }ĐۨQ&蒪"t`K @ >l7 ׯe|;p0+ m&#㌫0b;sdALo)#U/dDM ]tmw2JZ{n5,KƃzEEGͻ&cqִǬ PR0X,ִG]Sk++T?)]k2>ElV W3Դs$XXBU$nE@\kiEp~󃁪Hg8Ko=`,9mWPzBrG)^_8)+;txb_2Qחu{w@%֗[Y2'ˬ}-sHW0CYIL޸6}[]c}& V 71d0-ɣ j6XGBWw]>6mPXYKϐ=8%k9_{~2Rb%FR*lqb+;>)́ptal#UAǗaڪ qq\*gxm7/l58ךAbs$EM aYPZx9 H.HA]%TW&Dd vP&ϿIkE <{WRddK3lӿ? V[%ךTiyz27.72s8U큵mj2k qv`_, DdeP} Ci-ҷ$\js1iV#SsU Y4`疢dwىρdůdL!meKiv]9uǬ&X .}?kpuHXk6nJ S˥~ c /Ǎs2a5>zf7fDJžLJ&3N=bwkj7SMP8Nim8phGѻP9$(PE+_NulZHbb13~*z$VOS'{b-5 jS(y~De0JI*`jn#;WOcl1|~Csl O5!PXIG76J#H3&M-}9KX'%Uv#X YC6gS|ImLK@jC> iqRBrHw:*i/ˈC9 HХvl 7HP*#Cuf?@b:"pORb)q T[oYZ1zLARF,R%y7>(d Q< pZ<(}3FH}U?0@ ,)rN1X+dW; %FA[?!wx8k ]!KȡqUcsaS,׊Yl#:F;L@z5-Kd:z& %kV:*Ԛ=?Z?1Frtd [+䇅{YLF` 1&I86Њ6T(lŽ&vYcfԡ%`=fDz7V\;P8صMP}sqG?ʒeʖ'] D5+/uf#mB;g/"EfN}՗'~I%:^ >( R]@{1]эahy~ڵ Uyg:+b W*5bz gSEcǨZYa5 P!]7UȻxo:o+)qx@ZsQyёcK&j~D'ohD r?=ѮU?m<·0)m5ޛ<Ҷ!B|D(|Bܫf;E/6!4\_?T/aD>tHǑ'_ۺ3gxY?Io{1ԔM4B z^{( WLFZL>2b\\",S% mIR…G MW?hXQM'aN\: D_f>/:;wt]R't.&`nfa#ֳ 9!#B8AG=Jqb0q-gڽL=) Em@/;Gc3,a?-,/p vs>л`Y~j S5wRGup(C$UA6A[G3KX1G(=-˰(vZ |G:$#32'x5vS>`F-,0~PИi'I<.)&o F{tQ?ݲd):(,H~;s{uh,$cqO.Tn\F`X1`M%f$ȅ҅[jHNpjj6 $UL <uXwׅ~u0zԿ FיCM^w ݤ:*AUF&رY㣬J2 M_L \狎aC URz ="_^/c̘P{k&CqB(m 8υu#WnF0lA(p#yR]_uLmLj|y{໑ۨh*&qkJ_V3ڎ?*wo@Ȑx}=T>j 14KfIMmo9j=_ՊSԊX$6X~ jKk7²D ǔx'(}]M ^IP"C:Zd%pj2 .m=%|#QbS=y ={ Bz,0_r#}'&ǸF eq9t@cue*)RH5X8;'Y<_WsӘ-eMGU:/1~Дqj]eτ7ֳgE!&_ctczn1Zk? `$<)%ONkR AH^j؉uB+uLǨ'g8% Q01 x?1HzE5s B꒱; BsH# 6Ի\=bJ.ED` >X3qݝ $g/+OEUdpmb5E(H3$$ THI|$iLhW%I뜒wPTuAP1K4?o{a8,m!a[XE3#oǰj@|v=g@Đa?T}>?hCf3 ]k5AkEѭ<?ou'"'1DOpTE"Y4 yOQ`Tdn߯> ‡Ԏ*ǒL>ueH),NDͨ  XApX, cP*b}swCքc%}ܢ߀ђ(X3kpkԄv?.֯ V%)˵EXp Sfm\>A*JߏHY`Af|8f&Xz\FR0`*oMlaFĒYO|AәoI[u9%-t붊;EOD=ZNhRf]32ynWfD{RXCޘm̫pMO^I'gA9E?Pqd󅣠? z=|a5ՌR(g /7G|yewŜ۵ kCC'"̧q4rN̪zeXI<mC]*VD grC Hb=g1[CւG zC#W9dtD@^rG˶b}_"f?i.;^@ND?{hJ$)5?:@VU ˖ XIϸGB^QvYڈfi3Q>X:r]mscI'ԅׄ,(KY)>$ O <^ly,+ ?Ũ?>WԨ]_cD}?6G^},Hޘ*4ު>?K9utttL\"(Rl^L^Fuf qVVzF>SȘ Y/-f 4|^}T޶ e3~3)+ĪxΖHgv} 1j @զm#Mw@X [], e_TԂ-'x@馮.-ݪ|qe[=YO`j8خ&f'WF%0` u#6:iRk$+|"[R&M*WͮHR3.Z[Za*b.F7m(a? ^,p>: um8GDcm82QISU ܁4cD(.Mjtwݭ&FG@:AcܡI:ncԡpğ (ձv||wD$;sH0 r@--@20O ]fh95LHm_>m!;Z.4V3<;םȒSt*b}ɢfBeT\SĜ4jEq nl.own֛zlxA$Mwdt y61S{ћKY>B/ڌ=g_)T}t""IuJm3hWa&]ċgy>n!XꜯB |\?+24;0dK4bfkL@KU. 2n^W3$?nO!7A@>=W{JGiվGNF`1wsqd,i#|,2qgV?7a75(-%yt4yM3;Ͻ6}vCtp"+SF jT}f=YJu'')Zyl gX"I2r03plۓ,kJC?XG &䵈GuT*@B`B3 >yUOC"Ƣe.A` ~)KFP@34c%(muU,u{ 엕 BEmi~zӲ_N =Mpf /'IvTFP}kB|JpJF7迥#F-_Dj9IN3|72-cﺫ[OH{XjF8R'>eʊ*O`^#l٩!סU-q5͡[K뀅=&jv/!UmkdU,b +lhjP%N"p^z:6vL>\m Z }>*݌7Ť A A|r9^YQRermg"$2ZEE@Vc0MBlg#1J@CY!HΘ"ݻwnQ3bL'RȆEx݌j7Y6r'@4IxižH ٨dbu#= k=dhZ_7o7NZHu- Uԕ/h|F I!dps=f[riY@uT09ɰXUi)){xӁuKsʟ JŪ",Td Ŧ+fnD Fh]q8OF.j]Dmn-U]usO0~~((Ry](~֥6Hf|%Kӂw 8KzN\@*:.)ڛUAh(Q/*n Td^Jx p~vJwacKlhWO.7üzhNEQ8BHo//Y1J+ G`+ԁS! tn}­i#ƵY8@Ƀt=F")דT%zL:"vHl oSto"P~tzGyuiqNgA.HO~NLs*`?a#,hS}%Su$ W"â+xDߢԌIzp @cydǞ" -Eگ̭ͯ;p3"B0h$ w?9GK#r0 B6{Ƶ>=`it 0@m|>'Ǽ Xe*#kmKȬ7ٜgMw`BpZC% .O=/:^mGL]7+h^~hk褖yT J*"!?haS#8ަ~vp=M|nam2R \lqd(%GfKS_%2;kӖs~ ̭.C&6Ҝ AKإyxĐ>X*6dDlfǚދ8>VbD,II¹3T!wr7lKo\k=8t| SX *OإO?G_oQ֡c77~Wa1E¡MY,-j$Zv "¾Nd#$Q@lu9 ̝/}xM>S~</Y OkՎ>RVJN W.@g=d@V,m0܌6 ֶ4jZ\:Y#ҹꗐpl%&F/'q%*pr~5a*od?ȍ $z$oȼB!G:](U=KmAbK1 QfA=A\i[Wڶ !=lX+"mq&SWl}V^k ؊# b-m7u-mz NÕY3W PS01n+я[ǟGlN @3lat':C 7Ϯ T JFvjW&#Z=Iۊ/=%2%#u]'ݦɵʃt$'ڠȚ=y*謯\v>3jG[r,e-:nl :LJ#Pb8fuJy0"QɰwK`ycQRz,I_BڸǐQ()u3%H<;UKL\CۺW'Wc? cdž]g"tvL+e!d#Dqה!-oL#Vn 3Zəy'酗KU[}$td" $K~)AE=Daz}t/kGV('>/*/)OƙXX8_.35&t3s-(;Ϯ,Q%~-6 +&kO>@DU.p:ŏq[sm,|v!M&'7Hһ^((JקOARӻ M4%_qHj9W6]b5oyI6t9y W^O>.Ŀcs6 \sc_[\?P"nR8//3f'@4AiP 3|v<``b@%fqj_NJźfJE}ځWRT-*f6̼\Hmn:,X̠"ZŕtFArӃZ rwia6FikF_#|o]8q r;4< + QK"NI(N#SXu=_h!W4iǔ6,`$AgiS/e@> ׯ9PJhI,>ƿr`fڵu-Ol$CYsփ;<9Z_ngz>^z E.I hwıLô%n# wsW{807׵)  #,WIl"Ŀ-sJiٜ>uA-^V * msu[I77y#D("Toa=6h^5㒥vlnMh$S_j6C=p"B%C Ky[HI:]%CI(t& J+ijXe$Gguj))L']8㹛XֺWyBB:v͆>3VyVOqSB3p׊1 d5$^pdơ&ҹV̗aGR6Nkj#=@Mf') wի$c Je]ifYȼxZ:tyPmTZjkӢĖßCχ(!Z(\%5U;GG mO` 9m| j\H{ŴkɆ{LU2j(uQ>`yX$Lvljz(pq\'B]D=%..e}.?8^qA) ..EZVOoT|4qocKkAe&!&;>nHsiTi,cQd5M<ļw﬩VZ>*c^,mSP-@31rNP[&lR#{ʍDVae \#i\=INnc3]yio8V]B>GJp5)3;Ah$oW<@GI'B^H*OJ#%Iq+7Rwj jSւh֔ q> Nd2sWw3ϊ&bi4f"ˊb f\̔"=ec@CQs['0׻O~y| f,>ު$ S0qnp,#I'l'0*'7puc:d9ĮjQ;۹"1^av'am؉; =X ?0` zIџi BuL$p?<ûSCͬ7XƸ4[Uh;,q._ y'/nL};WbCxN<jYFVtNQ#a[T0xsf甶jȔr){J`L)ـWShC' 7XiɁ 2 --e0ČHxB~^s!%:w Ra5At:xocgs`qNj"+-dZ%^6#u$3?.߉եe56f"!Pt/f'R|ifM9kh*jh.P3_yc説5{]@0JWܶiJ&uA+q, 'YrVɄ8牟,*/c/70i.f&k`۴#h<&+EK]㠮 lu,RY(Vf~fB)皑(wٌFT$KE )QԌ$^T?:F`,ʍvѠh6rT̅Y%Tg̖;?\ʎ<~HbϜNw5>Ç!X=m#Mq'uܰ#1t/7pyr'l.۝yb`X^}6g^maqZ ~SUy~80^`9J"9޽65Z'34>+-~]E-Ƭ(G֢?0e-4ɺ?;||qX"̆{5pA1I0x店sbBV; V[4yCaLpRh7yȥu$Y2:al7[W:Zx"9n^ %.9aQtJe8eRJl48"OX502a>͹[46HVMem岅Řo_"C{hUY=posۯ~8yBRPu+:u2.{F !Ud)D\x t9`&"t.ZXzT`}R"u% } 9,tq]@(ʻK<:HXPZfW{lGʯ}MN*c5Zv!^)9*$@#WZI/r3GkCPs[It, 6m K[!i Nnme.pb9i #yF|31k|[9,WR^}!mi} !Raꩻ Hp?DZ^Slc:߳h$y&C=ޝ7 | I,% a!pl`[sGN@9p ȥ1bOct'e( ʭ^w]_M&qMNU+ 2ٜP9. qQ.&Lt8Z3jkS8sJM!\p:֬IۙfE4K4;Tgܜ N]=3Y l#rTb5s01*fum! (?ЈzZ:F7-uG{ں2eҶˑk`hyumg xB7Jg {-_Mqiljf4iNke7BhY֮ĨTnNە-0;Daε #VÛ*5{豼W//^$vY'ak]8Cϟ 60_G2%%oY~q@C*:mlbI0 eҏũ9 XoQ<,?mPOT-@^y*Y<,͆|bep#ȔY[(|+`E#cD/e=A|]Npyv]R&$UpO;}i7}8?)UA~-x}  SGU?4w +m]%a'ՍdỼ߅I?I4`0q9% <>lyZ~tKR>{[ WO$ߐ_جFqM[߾2 @H?D;ss #{oG֔iq62HUlCU) >=ɇI`]DRf֟[iʬi$s햭^4߅-b}@DU2ȗ7Mu "2IaKl.֪^="w€APJВhs.|7%Kl_{4}GRJul &еD'6H.C׌$; C +qJdCbQVw6۸ak^|S})cFa&!p1׺o;:q1l#"١ _YSl(&k-[uaI?^hx|^Htuc0 øf HBctZ"d pg Z0э?{\X\kϦLuc c@6tAkДD°bQ@Co4kcQ/JAO Y68D,y2A]Eqs4o[WƵ/I.˝)yL1 wq`Uol$r71g9qZ$,OSG゙Gvg);_ŽN4L= g;ZI*E_ꊚsJ7tFʩ _=Y$+‡p #nV.ڪ'`ЬA$;U^MSD ̳:8ZM" $b||&x ){?Z/>Tں[6i#˳v*ᮞ;4"K018'y%&1,*wШ7 `:ӇJ-v Fvor"F=mp0Kd!!4&9,VSkO&W8"\@&Vwu͡bAnchb=)o)Q&2#BXgfp"jKy>:b=dcV{SCύ6#`I@e^i]K[(Z@-UEGh7^aqPE75mF 5ɓv|*ziDʌ3h [iĔI ԍ.:4ţIP6"#O.j"hQ|V/$;` =6E~wOX\gmvwogL}Pvk@@4Sۦ[2΃ߥ U 17$voҀx_Cm.O`(RDBKĩy A.MVxś"SMo t,D{y~.&j:.ox ??RR{;@D$B YdNSSPy] ēQ톈<.21D8QeNzdsKFٟ% ۝}pI" }*oI@'t %J~dzD^j!̄(C Wk 2r}ɋ&e;'\4?,Mt5- >(wTueG^W4QIDZ6A/p$&-iDA"Ѥ"FJ)b76-2 M^:C?Q3oUƀ1Lj 4xdH]D=(26SG g8\@kCV27TyQByH(K^鿆$-3}12xs4Y { #q@z^w'8 $l23ci~/(c#՝ɇ6̤_KQǣݟpzip\j%<1VeF.c z,l1y\6xhЇvGvPG"8tQę q4nLz9Ray=%u~cECu KSÇyX71-3 gp]j( 0Z29{TʇʣBhQn>yV6o+Rj nb Д}f~?EJ}_iH J_'0b)n$<纠B\LKB9&( ,2'`:^? ЌcJARVjh7|.b?+P4Ꮳk9HQʲum\dHJU3'$GdC𚏎V+#}l"q?A`QJVwȲגe\hE& :VcS2%/AB-y1։rZϼ$jҴ'Azp<<`0H|ŵ\{ dI7;;nV景RzmGL ]Vq&fATo#H` 5b& a7ax(LíF'[)2&6e&8r nFpxG얐8RprEf:Fqqە3Jǒ\J?lVd`hsFpFI sʃ:Jt>ڡ%X:elbĴbjgrTNasY0##R e#{8c{ͬ x^ d6̎PHTWp?1!y P6D \pW-J# J eaj _cȩK5H| ";*! `W]#=qHdj.D]!\ȠO5`4ypLOly S&H-`l_p 9BrƥlcBQH=gOAY^>#"FW:隵APҫgùHָ<ǁ9t׫zNu:c۲ֿA(q}K⡩VA`gCRr?A2 k̉ISk\_Tt:q]t: <K/׮)s^YFz4pPNtOL`t1k7P"rY-Gf-J7G%"b4#c#F N[Q]&91nF(&کx)Z gVn22WGilrvudT*TsO&48ݰ#< .=8C1ql`ITlr:mF=5}5]>k7 .1G\Y1OOFs=ЦμՓjRQXT3Ov.ײMKz21yMg% P]qcAx*H]].Ht?@ ~ % KڋS|?N_X>y9EzN f]i™m,_N~گ͙Bp4aYjmؽ%S|Il٣7΂h_ 7Ap?qˌYD>>rl'??nn4 - )It&^bG+KLԶA&],w\!+ B3~Y!BEz16bKrƳXS}ۡ;55D2g❅:+^/LRӍڦ~o%qA뼋mXz[b%܍Gfu Z ԖҲ5^K48h6H s^)= ]Vr&~ eǛWD,y|al As;ڡA=(g1tUz)WFmRR.cK[lg!չΫhj4~t9)6t.G>!vΓ!P&0jR[ j".sbAq7",D f~6kwHU$9{ lg+<-x4|o}q)OLG/mnŐpBj:oÃU:Z,2d>j286=hA׊GXR5go)ͮ()p5 ^  _?^&.V@&f?<>G@Έ Q_{oZa(5ǗbSTvKz6B.a,݉EAIԺwفm? '3&JK$P_咱C-<_XnS~amsx_r=FM{KY(b"3%B Afx-= Q*G|K&֎ x>liMCCi F)4<^w_0շ` kat2ʢfy}=mJ*-L22j4oA/jQֺgzc h0AcSbrs*4 E,p~7 ),v˳^t+Cw\ҩ@kqzڍjLxGD\A('Z:&3ghaFIQLr0܀ d Faz"HHR> '.·>tF 1{QX`ʖ69s>,71 c&k݂_J fmuwegp~ UdHYe [#g30Xmm;(Fv\L=p?F߻!)[[p|zmC 8RkJO] J-1LLBtx D)Kvg;e PC ceAbnb7 A;^vfuY+0u{ӪQ$t*Vl *>-򗐇G ajZ\* a_]ԅ_72x/2[>a(Z< G%)^t|YzA~*Zvq9؋+h0B&Ł Iu9BJ%ޅ4 N05mrY }Yݠsmń9֤(2~kYKP @J\+)Xl!{¨^unD-^rc6> u7PjY0ȞV;[yCFy1Y:.AS]6x偱zr)SЗ,bq4chs`gѨyXNɋZs⻵vNdmz js$(N 6eBٻx `y2X6 i:ʡVվUBTي,eI˲ӓ؁kҤ}a$bYE H3S ; r$ b~ 3ѷ^цiK}r ˱+//"ĩ>s=P  Қ\n]?,k132pFlkuHw-Hۃ{GBȒXbxBx+1?F)Xy|s_=Xuq=Y %BuDc'doQ(K; GPZS&p,%KR$P98{G}#ȶ~ B~̔X ϔZv̀UAOCpBjB::=اvP]u3X- +8$b 0]qMpY{,|_Tݩ cU^=omUpe@, 3.6Hc_e<%}58OgV=PM"B`p|Ve-2;xUo@Qstn-L0$ ?U b=yya$RXT9r< # WNP&^Pe)nh]M{]v*< ]{ `P=#Aou 2F ?I壘YLB2#Z<^倚h)`ހ5i.o<6òmm 5}M嗾-/I`>zu~X%*># R֨vpwX>4Jﰢ_,C9RwJ@?P=a|P ȔVC H~.(o8v a%Q(՜qng>~l5`T7<HL_3M=0G"1Q%x!0: pE"sMOl2ZUYI Qc֪e"x!4$5?Ua+MJ}{?&'{̿%GRI"əݤPWq88 opP2;hE#5-1;MCKjSƑ4ҧX̳i+i? 0I˾4ng\U,}' m`콗tha%uM>cD58zN6ԒG7R6xX ZE]{|C5?(Kq0_P{%< W޺7Twσ+H1#~\MzIR3;/*J*)ܡ`n g$}P^oك+RzM~Ӹ>?cTiy;G#W5s̕ggпXk&ﰆ5mEOF4dKwn=4!bSV[CL0;8IpTcZ%4pk= VN)c3 F)Dҕ 6!72ϰpO 0ޮ{Hԙm0 H_M5fG@ņ7ܐe C䞈#g·8FÄ_~2蟄P%idD"3StIC!7چ;k?l.CP*<Ө:f7[DU cŏHﻬG6rBFs@g0k "l\M*/]teQUknnx.Jќǡfi:IpSϨ,=beqK)y@wCcj"FM>Z86q[Z_Ig[^S 06xcݩ5WKtFڊ u=vWMv $%2;'KʥkXT"&C%P=}_v2GXV=wH'.0WoFM5R/&z2vmDq~"2$͆AILv!h# AcdDSG'57Gx1ËGl`Ma!1:_#ӊ`t6+*9(o0p"U$hJNͲ9@I"PcP(.a*3D3Sy&)J1XT/nW}ox~$c2 9's,9:iퟰ#ƿ;|G? .GXhFӹYXs re{V+??VRoXÌN@zaGTF TO ŀ9U.Le>c.t/i`ǎ[%_p 3R&9^$osVJpArkȣ&> .NPnEb¼*k{͏ NΝ{z{F4{\jVNرj0J~5gJ^V7_$FճtHi |tMh~d4$vj2 Bv=xoox}]/[6V凶 ,+bDIɁimn I7ݨv+M@1P1w `X|0+ul_Gwu-=-X JnAGGJW|8apj[;yЖJ$=x6Fxuki e eD*w?{tH-n3bhG@z]#yY 3R+OqU?8MR4Yf?fۄ0 +e \շ_m{KI;(u2,O/ mx-"vy/lL{/:DT{ &jQw玈C&O|31IxMUa\(FDk7la(`UnØrK{{JSpsF)*3>{Ic1vLϙ=9.QDnDJ;2E h<^$X# "+qas"!Uj }`ܜ2mSc:nxM_C\= Im#QSbZKܽ6 wuP ڵd3!Z`ll yvGflOqi 5 Lq&O8D)Kx_'8~+0b[]-w\+!~#? .9B:.72ssHd"PZ:x@%[\ֹ##XuefGrCSpPPҕ&\2,6[S($SؘVəh{m֎`̠l'd8cD7*g; Gt@-.U+}8'.{h*St˦4Z嗻%á I}cʬ]O٪wio rFvgƂP Mԁ2Ȍ bF60\V#zt\@. ¤^}&ʘhGZ $MuOaֻqQC/lvU!' &ERrP+wlӍ5p[C6^Z""e>:xup>u@"+nf튚qKiRd-fa]>#4IU3wSLR$UkFOfJ=Y(mT55KǢ !KKa 0@/<'A%ߑIΩQ@&Ngb5~1Fџn6/e.lР/.TNCSs g4<Mڲ ~y[BϕVi׾rlѵ (k~M:츜+&I#ZN7m 1f2?OK[zjqe'jG眨T$bU\]9-o ֹW:4 φVm#vWMwS٘qY}X}/ޕuS%q?Dy 2\t>R?2Tվ(ț)cMU[Q 8,H 0(\ͳ.:jy}VAvP.;'sx?_&oz@"(=QȂo$ W2IA! 8@eY[jp6?\{T5/éwE.}T1[:"'Y7qDž+3j!$xxu'nUt0M]I:/5ʟۜ0Ι%v{ؾpitm8֌ʍ1I5+N:}R:igڡ (4`ʕ'O.zo/1,#F.`z.j#},Yi'uSm9.(psݱI,Km$m14^ F9]&Lj7[=SKLF{l3P;=&QZZOlt[/>C##) KߨVU4]lfzx ?M{Y10+ZF`rZF@I7;q7*J_vulp-|Vѭr>7*۽dA,W՘mQ >%B\M/ nʆ :I^OҁGŵz) ~+N_~n!"̋|f'en!g~oĒ/.,+(RCKې o 4ti2M&c*-7<6oQK6}7cEmE(l,5揌'z䊷V-Lbw&HZI>.&\Z}L0|I_\uOU zsIrրXyĚVy㯰A=A]|Zgq7u.Jg2i DC[I9W /ņ)^_n/g'm i9Hﰌ)^ڛ‚ Z9X](GQ= @U֣N X=BJ8o]<8o Z"R"Xs5$ 婴p]Gm-޷$eݴ \r/0DYBۚH9d _c -\Ѱ'lg]Q nY:*>s)8)}3YX]L Ѯ jj"[pL㥁3>ݰ6zrx%-Ngrmkw'Nvh0C"Gj2n90HܝbV0} %ԺI?74yXh}G2/6 kBfNX]˱+-m3GSe jĄW[M{V!EYD~WJ-tS1ZWL9ǽƤKx\ X5};{U K2iʈ1O] eâEʒ0Q$6g"uMj-2G;_l~) ;frWTa@n è[/!U`n-H0f\R^paH|)Nɏ(i#oFw ,&ٶau+CҧeW1׬MI?:o]3CۛA/_q`Vlp tm0mo?af8BIN&!ʍ}izٷV{:]`Oُ0Q`[D:?d'%YQW@6 Ǟr A~iXgVnD}[|;gR4ߕQ 8o\}i)^ L05IXGEFI9ǂ''۬NyGuG]1+G*qxԐ)8 )J~%QEG|U%ȬQ̞q$;D "5I 6wʪ1 6KlٽAqFΘjJq]ԲLY<; @ʔ*d|dJ uؾZ*f~FC@/:ĕ;.oƃ0V̔Y=S<; uQ~u6Ù{1LnfK[nK;r!?v\VR^a2*Y_MԤ;øD,tAR X~ iR>=YYP*7FJ}S #,^l7Lsf.8Y#ϟ%GlP&pDZ$50iwJ:ͭUe $J )|mA8\o񭐯RNawFG}@ZQz#T u1rA`t0>K9E| xJa}+fȋ4W2W/$M} 0OSu\N`+]ʹm 6@ս[Hz[+q)H+Y$ԥϴ'%J1FN̪NNT)_J}\y cTT }ghӅ<$ %IG F~h5d2X~Fm}8aʟ̤'DiH_ s,7YHJݰFKy< \(;(B&Xi6őC4_]רcd ^euq[Ȉkra@3ƣ[ ݋3lVuiFgͣGÃ;01"iJʕ^SҾ~l7z—, $D=fÚ O+Jx\kK虹Ic*P3א՗yq]}tԇ.AyO(>q7t^ RI%W~>@[;i'eLE^߇2W0uH0GRqRO T6V!С_mR8؎prtNӂ*Y3!5@ݵ"%Y,ɀ[OYȱ}y\!/nb@zȄM?ؔ%ݕ'8GMt:+ A8J!zd,)S_sAroB1Qq*K-go$ a3S-4ñ3$'[D9Ί!=}$)(xQ+Uҩra=gmhǰneWE<"L. tڔ;RzV5[lVH[\~ybx6&ƌ&~%7{mn&X ώ1#m$t9&1%|b&<)mZJem{WYF3b/Ouf=SY <<=S,D17e;<Зq.EĽz+fxs5cvz=oCC^ &0N`6S(Bidf"*7[?F@>&bԠ;W/'Hnw<,:M;-&a\&=0BE-9 ]|)ִ8wO =i-RJ_T%v{Y\Mv8kx:jeљ2-T&5_~Sl{v=!>u;Gp1r K2d¸۶Daدj3 \ \qgf\O7Tj҆_hK"IPd2dd9mZEKs0ix(*gwٛP ʓt&9IPTb6u@5C1o<Цn8'D snP}m+v!!vbcl ^\io{WQM0+5*:GoG}0tc?dliOd-E^E"fGd\i*% ^=1Z߁?c j"¹NwZ\w(vn٨?"Q!6J?ί f80'KF$ӺbxJ i5iIR&+B5JnF M{VUcprM`P|׮i8*wwdIf{8Ba~ @ݠBuE\CZ+wamHy:%ѰʔWXeqfpF4 {^ţ{F5rj bgvO-ٗG5?p3{ !kWU3_9Sei5<Փpgl7ZbCoƼYƷ-_E8:}(`a_\ =1WF~:;eV/Rsns,zOV&w9]!c/d-SZ}#ѩ nuoUl@Լsg/>e,[fw69>jV7DMG4'hxyYyi`kxYq#ѧ8"1BIm.Od鲓@_(/j|;+tId[jӐƐ]X#0NPgzwJXi G8[Z*^&c%{ִv9 劢Q;;hNʧIG㋶vP*[ [mj)ӣ(uqϺhJ47^oχ20wrt;gR&xS>!hּ}*/"h =jNC|@?tƹ3 VρhQc:kNKDR֯Z0Z;+.ҳ I+kD%P1_}lN cnWP07uzx\+u:فx<]5F,+Xi0?ȱMOB:` XeHcDi*_~VRȘu jg@߂QN8wvӨ/E %$ %x(B9 lu;Nd曦jZS ؈WL^yJfg ZdQf1edk4&cue|F['䒦+}QE?9/$ؔٙwPL;@_3WElrӚkΌ7 5A|jTAV]#ڳg56kn+XQGIGGlgMШDwς;f{`.;E]?ͦfgpVh#LmPF3Q.Kbq*dCIƣcQD auxJqL\c)]V|*#+sv34_?3xi!LSn\OjWΩ[WUW h?#IgdY7R2&=a?I_7m 'yd} *(9[6q7΀#0h $ph Mk׉Pc syTx^ϲ&L9j_D7 kՑ{f2З%Lkф\٨+Bf ٠oyb;[ n\ckњ\q!m1tfol#m, fB_cjx<;}:,p.3=Aޥoܡ:y$|6PwhC"bY*8?Mvgߪ0:&1kp!4 .y@h4wj biZie/δ'yaÞ@:ߍJȜkڽ#NBo2Y=CuSzVpKj_Xx/gLG5ro$d_{IIX(u905J6m(q`XxV96$9 |ki Rt\X}9TOՑԄ'lCN靟,he !ӧ>쀷_Rrj4ws8(wbjzՂrFK|thvBn7֠/Z]$q.[Wa?%Ä4zgB, P;TCӸٯ7#-şbKr1@##L>sNB=0#z'B .2vx"u(g (־dDUf܈B`٠I={U19FssG6׻~1, ߬G_fj/`ܾWѪm xݣ8q20,M 1pӨC7Si*eIgַlE8r/NewVH9uve/w_NWl[e؈Q~PjaxRsbÔ?mew""&Ҹ<~PES_A *?++J#ׇ`5Gdݼ6iʪSYrgʴ*B[uI[ߚ(ly{ #ރ$jbM{:D57ȳ ;Bա *w@4@nrNfpk~/zJ4jdҀٶ;KvvA!|hE4PQoyʜS,m?Y&$uOlAcۯP©Wn;+t^qAvm)ͅCMbyLn~ (\3ȳkyL!+`S$曝OJ } D9Sipu Q,(d9[f%4gʯH+(!pT[8ĻLC1:C:KHRMDze<,X,?'t'4ܬ1ˉ*CCz븰SK!Z|>#ۣ9#e]$HʝL.bluYC#uƘ*]Jgڞ" k{J>'O să[Y 7t+?x؊{lJj:k1$4&u9hTnQ:m0K"uc,3;zⱐ}IߋdFֵ[3:Kddű疒 /p05hp̶J&)M%88/UF>  E?R̉=Cf Lt@KVH0|MGYs q{8h(rwgш;qڣ<,Ő "FmkX;t#}Pm[!+J~)B$v fXچb6  1&úk-e9<͢vV˻D%16AM(=ѯ>&5 @{@VNkh15ڽ9 7CY :B|[l$1R/y`)ma1ݑ&ȣ>dfF{I: `uw˵盯 b#xXV| 6^rlfQ^Z `5 A$%,BM_[{N=d ԉqń$=FصgC-ڃ~Ζ]/C. 4>7f(* }}UWj4]yI(f 'bE,*Œ$i+ٯ[A/꠮15v^:2ҩ۽1܆sbvO PD ;HùdS,GRed>]K=[>tq;+I_H7aפec{JX,צTc_ژ6=wF"m&hքJtGmQPN:4Okr,d7Jފ U7o*Tg-712q"'QIJfLc'%U|[sme&W_ ip[N0r~ stB1b\PU=t Ox ֏xU,x%$K񛚜l~J0,&D)gc[Q=4S L,\bhP#='僥+Ol*_6GV:؞VU(E'v7*2kK,mEũڳm~(-^ $=_~ea)D776n}1JbiҰy]7Vq1({ Ju+sVeҺDܠW< ^xͷ֎Ubu3`7F 34r8+ʁL+̷':(gI:-oR`pEItf/ļ߄F[uF];% =SQ*j׼l A!J,ovNLoqW003dF&PA8QH=DԠ-[jr7PHo/jK~ȶ+^Dq㸯Y Mlj:\JlB洘YhQ#[ <֜%yo,Oʅ*4&+#\M5EGĠղQxWP%QhWaz5߈p3 zTfn ny} ? Y?٨4%/%|Vnjtt+NSNP0%m8 ڜ03{vDiMԱVw{nW &o Aw P<83W#<|KˋI; :LtLQ7l~oe|MuxsFl&Y-rN#%r4AX:%; hm£;0 7p$ 4Gއ7茦Mc ^ͭq;|S;nۭ6:8z7@\btC- uύJ0ffd}Es h\11Kt?[GL$ٝC IoM6ê._M%eĄz^Pnc]TP3QI6b63PMC]!Mb*t=Z$+=@wGMtU8w\&O -T"5倗VA ˛7UveϷCTuWLk ;̞zԉd"o7ax6!.B2l0|u OD5DQ ~lDvix78:<9}Qq-WG\]<޼:6W~0A,By`ʧUWY6ЗfW8pS'iT]4m+Xp &_7P ,  @Vî~=zƶͺV%xF_ +U d哺{BP:$zH|7޲msT4E`R,K{ՍFi~٢`w6 !cVܺk"WKn|xfCD`p6NA`(Q@Fň*6]ĩGd DBX+5Xk%q%+eU68_ZcC?] 7ח86yJj JA@0~ PRsfϳ E8"O=#kvtUgAw}/Ahe.[$fs1qntOg7zF E߸:Xe]A)櫨2*sb#3&k'LjPޏqIgL{7ii1[3((Q0yyX4,.oFBgOFxy#MaLvӤ9gͳolHu/bn:G>an4r6 ЙNd"&_5Z-|o%7d$4RP̲L ֪~ wًdISJ6PD1:1 +\J<4\ lf1T…v2:Lǁ?vFm=!Ԕ=VJL.˒AډJu1P8}K2AԙH^{~AylŎLm҉|8k#h-)*QѕZ-; E }ݞ>'M$ M3.M`ծT}\􍕨J-k9v<8W07€5_-?N6ۢ,:fU|$Z*VT󴮥 J绊~m'7>P`@iCפPa(*K=W~_RYt.7{HM`ykvIc:NV.|I^s4-xcy1gk\:#$}pجpeGȚxk3.Cwy d6qț{}} Aďjm=030olUx RJ+pOf_Ĵ/V阼aEK2.:AX)2Zb1Cx [<x1 9w4mohD0BRnӈ߿(:0Cb!T"d+];zb!ۼ#@:$%:!`Q$I?$y -?>}SzHHTsVRHjq-UZ֥*=:vzS.dn 4Wn C^R8%Yկ8xbP(b(4${0>a$6]@8֪vU\ڮ4FX3۬̆A n6lL,b9:ƅ%{-{2Q8@WUg[[55bIȶgђ+yf@_SND&:,@Y}#fZiٰ!ASyG'L1ڽ\+OgcK_} t]E~H4q(ҽk r_* \bra )lә_;DՐ";Ѧi7P5ʤ!2>l8"ׄPinǽ <#v= Er⠦qT*"*9QMg7'UTPNu##?+QmSp"Y[&NH Tr9-DRKpE!*Nda&l<_WHs*i91֮&N֩Kk qJoO+z#lV2Hks WtU.pxo1P?.T"PUZ!Brb7>:uqAɻ[ P׬f Е<M39)z=,ݱYbϰjiY?_RB,!A>z F>K_q0U䥮f|ί 2I͓C#~[X N/ðSxn,Ijt\rN~DG^b% "qnw:ɒÁWo HِcWQ\j=3FYE2 B z%V;"b ~G,y%^]B~'|k;nz [V/ [U[hOmiǘҼ$:9lϴ @v0vWxZG?6 sV DY$RQ!leQ*+mdQ`4,#;\ `R0X 'pnmM`oxGQr # tPg|RmO(f+'~'  06vC >]j^~x'HhlM3]=qrI$PnH(Wfn]SMj؇W uc>LlbDc,Jh<r2>RTB}uW49VM)ZS9@<7y-jt=tpa_4L Z-'"XU8"-D&Ѫ7x| $\c7B6X+EGХ7iHuJJG"zxFAE+c 5Ff>鴔IYa9cP@w|/ÍX]L,i\Lmb!2_|TG]}=ˋ1% ;ahb|<@4imHITa =F>i`*[%W3ǪM 1"{d(QO氄׭۪ث.Q$cQr*LfԅV*EGDf9aC<}ˇ9Cr [~z?g،-h{s/j?C6a: 0R;49ibO$Y. ?ԑg%;#G*¡[#t#/On{Lְ4HyU=?`H٨,ê#_#<;V JAU4H('GUϠ:[J/+~T]%̗w_0UB9 Hk=rsL\B@5D:`^yR(!SN >P:6݅"nKa^yroS,ьiP"ZA6c  纷/_G5grփ?-T\zk{?NxS=)TE@DAAK^XCrGX r앯#.tDFbp/ EګD\2OR֓i)ȿ3=%/%:&W?t#q/!ˌ Dw6ga!AG(08 }1N6Nn3O[ٜ6i9],4^g]sR&m/@aA %™ `0,$ Q8e)~Z6zcN'[me(mL(/^iHӉLG`$[!UgJP6FbeWXWZ_y:J^AA]lSthްF|*O{LR2#JP{XeQ\姏HġO.Zn5r.|~jԈx1S%=,fD6-.6(vF9QIM4]yJKB'Dp<\Mmy]/ᒏܷۚ֔tk 1}w/mu:i\|T)p)ddY8w=xJNy53V(߇8ע; e"XJx º4 G\@S o>Idq-`|gNm2{cQ$AkRƅe^x .~U(9VN)P3#60=ޘ CGcWLml%9eZSן$ :[%p;ߞ#Q^6:vFayU[Z-詟Νȥ[ӳz _7s滜C| R ػO ~[#<5L |$Г9?MDdgs}ʐzs9 VvQdr *=w#a]1yLu_=/8CT\6h%/++NyMYL{ +e"U1{/01%̈pu GuݘZX?'.S"8^0x=M'[y72TN]&64qMsk AC(]zd(zZPnW #'l ȞD릷jIaSz/~3c<<\/6v0ER~t⪜qP${\"tqndf,Hˏ &]S]R R (Q׵gPV&m͛6"]KuEs:JHl zx]O inR%N}D懹$UgcU, QJshƽmJ[)7g/8/bX]|mܰ],Zʱ,V.Qc7uR6fjMX<-rk2BN~ ɪtGGڑM7VIVr G&wOLoaRa'N:t:[Чcߡ1ZVj=lׂI7@+s'IEdtΥQYMJ] U/x4  ɄDlp!D쌇0Ƙ2; /Wm @a+\nل nu|ȥu%6 h' $O^q!s]ᦺk9*4R@E96-{@9x0jlE<lna'T᪬?&< Kj,)U8S GCo0 r˞V܈W&i: 508M4N09}xHσwo.- &Lp6dA0P'K/_i\uWŏ|#r;(=4E1Yd/E(1M *”jB`fSHPѿ\E3BG jbmQ&!f߲m>glqB+6Lf< 'i!!Q՝!0X ; -pd8eWifbSi9(-<[!d*n;eyriAnMn:tLM8ߨ(PW q(f-`3-.6J*egf[qDb#nH]q̫:J,'-'j8˛?֏O TZqbP'IK9J`}w̴8Zг.&S,]I ^K*׮Cڧw"Eq8ۧJ(}o?7YS3ʢ"j,kCZA6(I`I>#B EMj$A^aFOJ]]i>V[5Q&Kf _ 3?gwd"BPj)H-p1ߘtwgPSjz֋O<_U_#onmqO䇯.wuz136G=Y@plNľI\5]-G]\XO䭗N^| C⾁}SI"/y6s=a{RR-$: giVいg:-mIe14fۓ7n*l'&n*YU*>1u']%&fRҔ"džհ7bSy \Қ2F'}:`aۆJ(saTSh5;p^*/ХFkpmHs(+(^{ДEkr([|!mHr,|fX ziR%ȜGTh1k^HGK(z/e1b xv2!-gy1}ѻ@4-tAV~Ae]r:Sj,L%Ї\9:%oe@~Թ]JPf2R^g Qr%5E;мd)\][%.EkvOc9Qaց E~-ay7M$3W)ݓ׺'MbЇ6`,4cϦ%a=%̧v&똑ͰI s×MK* 7l} 4t49AFt-FS.WծTG,UQ:ˎ!W(/`@vѨ{.Sܓ|bHP ŕxѭ`zy|kN̪Kn)[agjgArϑMiᬿ[n>M^H/ocojC/YɨI۝%4$_xٳ׾턹@ǦPھ"||&^-=`1W ,Lt]}<_y֠|==HMf`E`,‚׶u"Pt?:c5${4Wuye, @m/$T]&6iG6K>$tF (Y cxƙI"Ҫa3EBr7.! l =W]}S1صIUce 9 v٘맏D>SnC;jҊrB$$Ո,xLvvڣ6h91h {Wy'ls@p[1ϰz;;ZW:n8n^(W>N!Ku2A L4T~5( 'W}uڍ[,hh~7D\8("݄2> ٫;3mຼo.`yd?b_`dbb}6qBNU5)d[??jd+ىF: HtK?Gk¦$mE2R8~?OT|&0'U${kF&sh2Db(\Mr%y$*^I)P:oE+]E!Q:yE6i zei#=eEJzZR6k9SN':쁜pi{zyY,Yjm}a Ϧ^2{ܻXIg>f],EuJˮj<\E6u 5KLiv_r:E:d97xjkj\ש q4hrր(0M_ݒ2ZQ%qIZjbҊ  q}xkwxU%'o-W<܆DoD&,x& bʑ+g;\Eef 8GI2f'Sí:W-ȨnyP(ZJid5) BKz1Cjrm%ttOFak^P5P_ [~f$4&*&8Blx<͒iu[ʍgw *дRܕNIcA*9}ø ѕ!HUs8=o߬y``߉e gUYlt ΍#ʸ(KNۇ4\嘹| 2>wO~34 +. gJ0rK?,ҍo~fSA,`[C@dvt7q$J%mz3{񿙋M2"+'rib-'{$!m#-KpěGEIW%srx FEHRL^&:|L)WPA[>l# eKΩ.d*-e7s]_D.fՂؔ*I~b#W J8AWy?Qy M󴯡w?LDMljuaUTe9XV+8퍬Hb'/Xt4]3u.gA]$2M}|[m&"AёK$/1Ŏl[l?A}_~ @AJuj'wTcZ ]KA~B0)Ѻz># rqxs.I1+_[e'Hrb` :^tqaAM%3u>1Wլ`cCl1`y2^ϗ }3\_jX_!^iπ$t~X::9 ]EU(b`@uj0>S5"a ;]IjwxYYf~2Iw5L@{ C5E:NPn) &5z. "̛|esS0V5}Jy(- 7;/TZ2jrVlȚI r_DZF$o;O,ədRQHnAMf$34af N]|UR+UqJ&! 2JmFe3gGYoe{۱TM\o{xknrJ^8y}qDg{' 0 VyrvF U'?Ee. =vTT5 חu9H*VFYNcDƧipK|XlMCCDv2YhGwOgifXcjߔLH8t%J}P~.>KV8_W# PWk*z|HS6T$ FqԊrK_|\4MNM6 RZXV|pjׇ&}C*]Xb:L^/t'0[qQ}=:Fzn7o Y:B(R1&TT>ױ zn j<I׎ Uci!,&_NļGbgF1Y/HR|qG6F};r:y%\WmFj &Ы,1SfP6efGxuM%hVN-Aڣ.(/>xn:D؃cU;?ERW }(t#] 0p:&al5:2uݢBw]3{zp 6vՔҭ W v80 mC?z3#?ON6 7Q q,DHΌET ?+MwȀ`ā:~I7H&NGIeC;d屠`q&C~RZ^ ]{ 2JgRք:^f /V=/J ǘsaG$~Mhb[Crfe=N8$cS"BP y" _q %li X|i6͛x%x-XŔ.bUz72CMPcᨒ2jH&x;YTU;v4ȸo%5А ĵԜ%+[P5ޘx oo gFSxHHà:KDd݆[#u$5V@:Ippf wfy(8 7T]MWjiPE5NŅڤ~Aݶ{ )uMPJ޵R8QK%ݭ zEY WE\ja<|E |.N`7Z=S^PnԇUV? Q]4_> Bm֜6ۻvf.VxXc0NhTdxes0ر-q, ӞsAmq%U-)sĵт:'ɤ>Zuæ92ʍbM,ߠd^S§GasGM<;_:]NNhDe%4:^*/]op07BǶ$U ̏!~l[=;,S.e =@XmƋ 6DZ CHi#lrnd޾02ȯH=؝ ֎2[X6R1-ڵUcv0&O$%1.?~+TM =¿> ڒa$Z>ti儓uiN QFZ-T'֏M7"jԗ,B1zsȪA C-e̥®uZ9RuvlV`]Y^Yy+ P MxY}]'*+_!T^v Ibr1*~Z+,MdY̆t<Zρ%~1Ɏ/?R"vJ;Wb@0p6Ww" U ⪂!ՠfUc6c4Ʌɓ;HZ(}C0#TpGf ˚#*|J&:f<ͮ#li @L'܏;Rjk[A2Aht3͖r1VZ<-ºτ KCCnxƪv{@X|!KX"l1wXZy-}As(ގu_$I*&Ϟ6 &B]1FK@?Vن°KC4i~;GO[Ʊ -1cKYaA/}\e 2q@qkv/L|Z]L>8rb ޶v'royxUq;y4s?pcґ]`8Q^$qYy.PIjCαadA (GXm.h=.)MM-l%o<)R8=E0H F)er~kaFqu+„W,~bz ީ krln"Nj/J (6<4Q0`aCQrN/˧aM[,g 9" Ή2e1^wޭYm^h=pb蝲](vVvzZ,Łak{ hvsn;sOQZGo*8|t?'`GMc]e|. 6>|qoZb,e xM䊟!~lTe(^Nq jNyR NH®53.Yۄq^;G).^.ojꝘ,gƏ5;,f3f>;Vk.fķ{p=G3y &-)~!"'n~CO {yX"-X5m=0jr\ 93M]5-n'ioBW-.zhNH X/^$Iz59g_[eբJ>dZ$܂aP;wz] cɝ;'CE݂DXΜv~:YR؏/˹_]n;Prx;*&v %r&vqL^"AoU0P7pXVjYcs PbY]sjDsBgmE+?b9uّGcXmUg+p#qfMv+݇ßUr?[owiк"DW ZNx!~VIL̕].Lj,  ]4GGO98:!hc? nr`'r.f{֝ycyYgNvwBk ,zղiv1v9f!VIfh ~Z Kz0>+ӎ+"/Skwc0k@ͪz4Y6B>D}ȊA?cohr#0zSe\]q9vsdE]i6V.P6VyT͗,T(1Rٟ!#mĺu<*1 GI@Ud;~(\ B=iݙԺѷ>C6=L NCFJZht)R'?l (ynYw @[pSRXǿGftEQI/wY<פo4b>] n>*b!s<  tHfuqf[՞OfbKK=XrP "\ Z6Uxau j_u|6嫤9]g9 Ku Uw.wokg: zy*rAS)52+h۷C M nzTlT"Y):&G$G&_vAQRÈqIe/h!Z$8؊#L.KioCK>'`f}N" )˛Q;EXV}>/ORM!8Z6T+|y11+ <) sUT#C&3#ޅוT'a͔M}-!~cΑoUfA.=&I5\Gq+OZuJ1hVmwF[,e7pe!'|)zp *>[ ܲ"3C7-Ø/3f-:cXڤeJt:nx,K{)=^icseh74tveTlrXvpM8#A~twDgŨI<fUI+Ag ́}A/ZyHU/Zjn]NDeUoP+!'s0H^8T&غjD!c|Wx-1YiXdkDyD[! e^=:/T쉅FSPޤ$OJ_ JYTiLΜ"YHl8C%Bږmf'eu A{٩{؃ Yw4Ƅs+S߫sL2u+-ܴz 'hm\!l]0ˑg-T 'jLAמx d [&0]:]B> ,շ?L1b<|ah##ZpJlD*Cn_tu{**ֆJ_~TaYg) QU#IB#Vhϣ SapkZbpaMuEXB|"aAKFZ3N¤&kN*ӘdL_O$&1Oivz`<dOǹ\["l@JwsB_8 ukFTȏ"]T*x{scQ ^>s{Z囝O. ε|l5gL' GϩLډ-̤& `tneOڂ|cWw6G@I~FC!dI2YȋZGZzN'a$PNTr5lX4 v [Y i;eB䒴͐}%l #JM? jGki8&{xOgIg֒/(њ4Muikɭ6Iۀ1/v}X€UBS4Z]⭭E2͜Q(DUf{}⇯[O"pYQw;eҴzϣ %LKՠXVS]]O0NF ha2.O̯nގlM-a2?5)m,8F\xt_ʒ`ݨM&YV"OmJW u o3xl؇@0_-k1=ohq$:# 0\#?|w6Pq߭v0m§Ւ}O+-R#;?6![1!X~@Ov<&T _J$<o[M>:\cjHD![;Ҭa urF<݀5RV s99w]B_N(Dk8z}Xh}?0k : HHEFDp/D4 _iaBfJ TX^#Ktik]Ljҝ K%ĵ $/-6|3Ummf ݦVc<7bUs %,T"% ָ :4:^Ttcul =26+Պ 3J1'S*(&@`_mI ,¤5v߾gVhZ1X2N3|%fߙnA=”!v"k%?D;o盆  x?+-++v #4Ғ%rY"!=f?Qg6-J>~X1J1{>'(`905<{C`H"&JG弉dqB2pp1ӃS4Neq܅*)c5 +/6W('`NRkYNϞ#4w>,v^F)bs 㹤ǑZ7]ez%{o6GXÄWUr. ᫧OE#M1x9*l3sGT@"'/8TYHFva-ȫ_JcF@aX:q3&_RSeO#ÚL-,2,xXHiKsh&]ꚺGؼ\~MT%ј{^rdY;2QzQ_׏#%ٚRMrc|$ rD;aEd1@& pݹʄڼun@a Wq ZO zRlɦ4d/;ﱬ#P Z(L3<1yk57Fy` gid^40Kc=LF d9JdRr7lGt6φ)k94*UJUWI9tY3|(HzMcDټmQ@eJיtOٕ mire\FAgXtB(TD:e3G"qvYen%R%=$yov7C"KiQE>d|g|fmQu %))"P@lB7so؍0ڃ7}x,.SDL; dצ'˾[)_1WuJcMƓ } =J([/C)JjK.uj7zJ8*df=&r+t&B9;׿ /8HJoӋ,ͱ,+f![D ]3;${yyuD+mَd)e4=8A W'Py"!, lԌga[:BԾN:Jw/2LA`L4&RW߮FJsmx^GuI?|Y=x$]On8*=EC 'oG\>:F9djJxwXIs X+Rabڿ@qxFA<sͶ\iڐ5>(x[?*__xSL󋥝+8S UjŸGזو{C(L.yC+^^3qW)~Wv0pfRVhyW)Sv56ϒp97Wl/gq{<~n|\dQ@SqlT$ӚA@kJŒMK8qL@5 {"r^q)Uzs!h#iٵ8TH>^#Cۇƽ艝9;UcKѺd2K#$36*؉iöYߡܞD[~p6ުp'8^Y"q]4!eD/ JF"y.u߆d5$O*&@Idϴ@]t %X KXt9zm EԙAgJ02R)YtUm_g)^3l>]]ufV!ݲ+Z^ƙ_~ 8i]𜆷Tش=%ڀ|ӓ&eU%%_%(|˪|)`q@Nd׍"A.vʳ|!u,\'^n!?ZJ%-(f6kQwL{_+N}J~" 8sIѿuoا;*ԛVnVw=8hn,WnFM*]KVԖ`+ҳY΁J%DpWgTQn< -DſN'9\GOQqp֞?@i\ʟ D*ME l%if>/ͭ+ ls ?L\4>*OXCa!1Ƙ`@>턅i@>Չo,2c%4UyI}mM^:: -]"pE>8cd}1hg&y蠤kw %lX1yS%{[ ([IMry5a+]}sί KAaN?N|7+1cj"k7vur14AUx@~%U8zrѥIOpb_O+ P~nL $ '\|N~p~ zhXD*j.o(Yxn$`?\I*ӫZ Vy sbbb)SBR(4 bDĭw7SpR4tɸ9̝0#$fVÈ?[] Gz:̕R tr^|n!(-8 F{ݞ5-QjթDf>+%4Yo'U UhD}9{(Xw2mYi ?KqQSNu0i*Lj 1KUAsRxWiT`޾2oE%NFV0=C]5`/iIh΍p鐄P1Ռu.ܼ.X+ qvWh6{̜O$&Y;/>pjk%* T˩'~?Lm>*$Qol9~_Uf*p2P`(yn uW #N!Dރ^ƫؤ\:H.o 0W@͡Wi0 f<$$(F8LAVU)1B|RDoϒT'cy@D8oD=>"K&OPq4Zy|w}phCFUjz!$gV}Eڡv^`*[v--)sgf%LVW@Dߵm7<US =K8<]]3پ3n2k^J}0p3ky|Gb,T0fuFF YZ