quagga-devel-1.1.1-150400.12.2.1 >  A cup9|HOl wKqȮK^@S+͘a1,j:4DwudL (A5mϗIKɲ|vVB+)oiv\"iY;0aZc5M!UW>$ dxϨqbЋ@fuEͮBD)(;g)axY[ ,S iBX_;ᷜPz þ]NpYbX$mTY[f5a2518ce01e6ffaa9ea9fa964c3e69be8c7526f322694ea0ab57b47453071919763dadf951f1a1283ae1d6d61749133d6768289Ucup9|`k11o%՞uʒ).l6lx6ލrdCuυ`vžqF0@v0i "\2䄱es. >Xs.?UR I|((a j<0Y%WLqwá`7xRF:M`?u' }oO$uQe~lIZ>"Y]Agivb5bnH7D_1;=N& zsq]/q(>p;n?n|d # g8<HLe == V= = = A= ===6\=Pt  9 (s8|9:FeiGe=Hft=Igh=XgYg\g=]h=^k0bkcl@dlelflllul=vmznn,n0n6nxCquagga-devel1.1.1150400.12.2.1Development files for quagga, a routing software for BGP, OSPF, RIPQuagga is a routing software suite, providing implementations of OSPFv2, OSPFv3, RIP v1 and v2, RIPv3 and BGPv4. Quagga is a fork of GNU Zebra. This subpackage contains the headers for the Quagga libraries.cs390zp34MSUSE Linux Enterprise 15SUSE LLC LGPL-2.1+https://www.suse.com/Development/Libraries/C and C++http://www.quagga.netlinuxs390xWj@0\E / K *O .j~ uMC"- (- k"J Lb"< A큤A큤A큤ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc94a48c22212cadb857f66e6dcf6ab0c679bdecb97e33ef3f1bdfa65341ab5f3006c6d711aa3ca19a6697e4392aee6a4102f2a1d75c9391a765ef83da9d5101d469b0b5dc87733d0c689e0f0f816e74641ab71c2d05993b7817281727dc7e4299ff8ad89e83edc0cf9ea63be0c5da64a86ea1c1efdbb0b1ad1d4fc52bac566bcb8d1aacc475fc4ba774d4611189322d6d1b5c819d1eccad225ae425340b00779385c43a11991bf05d3031cb1fd3684356c801a4662a68a5a6933e37cbc3a941d2ebe8c9941b553f69d5d1826180bd2194e3245c63743d1b63bd45bd6296aa5d403834f8c4ee04ca18b863d8093108bb9f1e04fd9eb5bb8fa322bfcb993f1cc3a7b67607b5ca257747ea9d64ffc7f8da6df6b73711d3d36f3ef33b6a308659da7a4491a1bfe3c27e44e8fb017a0b1c2f2293350ece030d256809af26a6066458f9a370f2f45a643dc22d783bddbea445ad6f79b0ba787df343cdc4ab22f967bfc44b6d0dd13ba2f37c1c2849e7f92531c7108bda5d954ceeca058c5bf24d060b8b9d547c16eff9de8484d546009b220aa44a429d65cabb8e322da7a8f38a9d45dfdb1ef287bf825b2cdfce63e497497df69745164da1cfc729c4c8d6c1344e04efae0dbb3caa69ced18c24bfe0c061c07e25c3a3c9e98b79c2cc182780e931f739ea26c5f52821ada0f0b60ab0701c91ce9fc034c6834b09b7d6ffd12850bf7f7bb2fd4cacdd5a367804272d810237998bc8f797e3f51202baab033101db01bdc09b578397fa4c317caaa7efd738b4cba7800b20daede4647a52ef8d34a5166008b4227db703d70b2d456dd6874968f70d40b750fba0850ff28e92d52fbdabe99667e5fb7dcafb102c247321e1feb47450fe73c4d960f5fef9340f4f6563ae6cfbb111f1d3090e6774e90ee2f8f23a35f0b4c087067260566558b2c16c258895d282b2a06e153c31fababb60720867eaca52ebcc504410a77e206b122fb8595efeef9d61b9b87698e39270efe50c608c952ff5c420fe403e070122dfc48602e919ede223a6159590734bf2ecb6138c4ec5a5e51f5a9ec223e1d6a0c6a0925af87ff4b54c941825af2dae11a77635d05ed1aeae3a409b5561dcd56fc856ba07c6db7e0d27dfce44077709994c6ef838d91f805005907f87e2c469081799e3bd5a5ddcd237dd0bbcf5a4839e352ad25965213b7b6e75b733b6cf33bd1f515d56b0ae472b53462420bbaff15e33e26e21442e7090a4686f5626f7fca67dec597f2b6ee16d774a7e78f4f5fe10710f8ce024617bea040d37c3c062ea1b741d08db02839c0cb146883ee1232a7971c27cd6b480b451b5a69b0255a7d8444bf8e13ac215fa8a6e7e8787ae82d633dee75a2bd0789d1397123f9abaf56cf132de9ee6490ad26d52ecdda669cb7de5fe400ddc595b1e298ed031de85c08acf4c23f45d03523dea8ab72adbf900c2696229356f694af49d0129ff09ed13602b63110de5b4b08454466d7abbc28ec430e666f03cf5972a5b3e2a2521765fbdf2356eb507b147ceda6e1912b7b3d004395e725b7b399f3dc175e587550672d7060e6c5f4c41ec26b753b4f1e9c48d6a0234d8e849049f23ee23a89e6c9d504c341abf8a841736a5ffb7c9f5a9fbc1fca34f8d643e0756ce6f217c27d9742d0952fba4ae483e50a5b7aceb7c0c8655acc86d48b957b16fe639a221bf82f0d9f6eae8576696c584489f5cc491bb2d2a32ec7ead70d7e988b305bfbb2c55eb558ff7756434022c663478bd53aa60721eff922999e1eeba47d810aff95a07005cd69cabd5b2e5435f2685f539e67fd1a301e40eef3347f6ff8a39de7876eef5f3c2aec86a4b572e009637c661b89a8f38e0b181ae2c9fba2b3952dfa9839584f1ee99d4a8945f7218ca63c70326a0e02468e7944c64a28e03c586665373f8cf7e7f29297a0741b2c72ecf5a2cf6ffe44cd43565843db63363a5519a1b97ae200f4f4058f8c92d65eb59ee67ef6575c5cad474fec5784a6bdc8b5806bb4a9c7b1b0ecc8bba0681c039846f9d2a8325711a673e9320be37dab44f144a1a28137c55cd4521edfee9629180e70994b0b8829a700ae1c44ecea3ac7be0550182f5834f8876937f324e6598737528f838c17a1ec18f82d58b5fbd383d4333f93fd69baa90413a93bda69b6387757c3bf49403da6d96d04754eda641e2544ee0912617fd2f4a67c61acd07b33156e069b8136ee24038a7e7f0ca00cd3cf687a92c78d1d0aca08edbe755c6820b788cf277461ab8a71306f2902336298d4fc2616cfc11e5db6e0448017961a2cc58dfe0d239e1edc579888af1902170df57f35f7dd3e9fe61014f4b81fe11a7aa19b8efc72dadb3f965cad1af6a2009fad6dd021b452fbcde8ebefc6753f847libfpm_pb.so.0.0.0libospf.so.0.0.0libospfapiclient.so.0.0.0libquagga_pb.so.0.0.0libzebra.so.1.0.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootquagga-1.1.1-150400.12.2.1.src.rpmquagga-develquagga-devel(s390-64)    libfpm_pb0libospf0libospfapiclient0libquagga_pb0libzebra1rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.1.11.1.11.1.11.1.11.1.13.0.4-14.6.0-14.0-15.2-14.14.3Z}@Z@X@X9@X@X TXW{@W)@WKVbVbV@V"8@U ]@U"mt@suse.derbrown@suse.commt@suse.detchvatal@suse.commt@suse.dejengelh@inai.demt@suse.detoddrme2178@gmail.compwieczorkiewicz@suse.commeissner@suse.compwieczorkiewicz@suse.compwieczorkiewicz@suse.compwieczorkiewicz@suse.commrueckert@suse.dep.drouand@gmail.comp.drouand@gmail.com- Applied security fix for bgpd DoS via specially crafted BGP UPDATE messages (CVE-2017-16227,bsc#1065641) [+ quagga-CVE-2017-16227-bgpd-Fix-AS_PATH-size-calculation.patch] - Applied security fix for bgpd bounds check issue via attribute length (CVE-2018-5378,Quagga-2018-0543,bsc#1079798) [+ Quagga-2018-0543-bgpd.bsc1079798.patch] - Applied security fix for bgpd double free when processing UPDATE message (CVE-2018-5379,Quagga-2018-1114,bsc#1079799) [+ Quagga-2018-1114-bgpd.bsc1079799.patch] - Applied security fix for bgpd code-to-string conversion tables overrun (CVE-2018-5380,Quagga-2018-1550,bsc#1079800) [+ Quagga-2018-1550-bgpd-bsc1079800.patch] - Applied security fix for bgpd infinite loop on certain invalid OPEN messages (CVE-2018-5381,Quagga-2018-1975,bsc#1079801) [+ Quagga-2018-1975-bdpd.bsc1079801.patch]- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- Disabled passwords in default zebra.conf config file, causing to disable vty telnet interface by default. The vty interface is available via "vtysh" utility using pam authentication to permit management access for root without password (bsc#1021669). - Changed owner of /etc/quagga to quagga:quagga to permit to manage quagga via vty interface.- Remove FIXME's added by spec-cleaner by using proper phases for the prereq deps - Remove code checking for the proc mounting (build scripts do that for us anyway) + remove the commented out autoconf - Use content of %tmpfiles_create macro rather than 2 lines of checks - Use version in zebra provides/obsoletes to avoid rpmlint warning- Update to quagga-1.1.1, a security and bug fix release (fate#323168): See http://mirror.easyname.at/nongnu/quagga/quagga-1.1.1.changelog.txt for complete changelog, a digest of the changes: - Telnet 'vty' interface DoS fix due to unbounded memory allocation (CVE-2017-5495,bsc#1021669) - revert opsf6d: Update router-LSA when nbr's interface-ID changes See http://mirror.easyname.at/nongnu/quagga/quagga-1.0.20161017.changelog.txt for complete changelog, a digest of the changes: - isisd: Fix size of malloc - isisd: check for the existance of the correct list - ospf6d: fix off-by-one on display of spf reasons - ospf6d: don't access nexthops out of bounds - bgpd: fix off-by-one in attribute flags handling - zebra: stack overrun in IPv6 RA receive code (CVE-2016-1245) - bgpd: Fix buffer overflow error in bgp_dump_routes_func - Added libfpm_pb0 and libquagga_pb0 shared library sub-packages, adjusted libzebra0 sub-package name to libzebra1. - Use tmpfiles_create RPM macro to create quagga rundir and adjust tmpfiles config to contain proper rundir at install time. - Removed obsolete patches: quagga-CVE-2016-1245-stack-overrun-in-IPv6-RA-receive.patch quagga-CVE-2016-4049-fix-buf-ovflow-bgp-dump-routes.patch quagga-autoconf-detect-AM_SILENT_RULES.patch - Do not enable zebra's tcp interface (port 2600) to use default unix socket for communication between the daemons (fate#323170). - Added quagga.log and create and su statemets to logrotate config, changed default zebra log file name from quagga.log to zebra.log. - Cleaned up the spec file using spec-cleaner.- Implement shared library policy - Check for user/group before adding them to the system - Trim description- Add quagga-CVE-2016-1245-stack-overrun-in-IPv6-RA-receive.patch: Fix for a zebra stack overrun in IPv6 RA receive code. (CVE-2016-1245, bsc#1005258)- Fix Group tag.- Add quagga-CVE-2016-4049-fix-buf-ovflow-bgp-dump-routes.patch Fix for a buffer overflow error in bgp_dump_routes_func. (CVE-2016-4049, bsc#977012)- replace quagga.keyring with the newer upstream keyring.- Add the %{_rundir} macro handling to spec in order to distinguish /run/ vs /var/run distro versions.- Add quagga-autoconf-detect-AM_SILENT_RULES.patch: Fix autoconf issue of missing AM_SILENT_RULES macro. - Add build requirement for xz- Disallow unprivileged users to enter config directory /etc/quagga (group: quagga, mode: 750) and read configuration files installed there (group: quagga, mode: 640). (boo#770619) - Add sysconfig.quagga: Fillup template for /etc/sysconfig/quagga - Update to version 1.0.20160315: See http://savannah.spinellicreations.com//quagga/quagga-1.0.20160315.changelog.txt Remove double read of stream - Update to version 1.0.20160309: See http://savannah.spinellicreations.com//quagga/quagga-1.0.20160309.changelog.txt Add code to extract.pl.in to prevent further cli function overwrites Fixed if_add_update possible null dereference Fix _netlink_route_debug message Check prefix length from zebra is sensible Fix privilege dropping to use system defined groups Additional centos 6 -enable-werror fixes Fix code to use srandom/random Removal of 'show ip mroute' * : add/cleanup initialisers, missing includes, VRF ID in the API message header, assorted warning call if_init()/if_terminate() from vrf_init()/vrf_terminate() fix "babeld: Remove babeld from Quagga" (336724d) fix in_addr initialisers and more initialisers (for BSD) fix signedness mix-ups use an ifindex_t type, defined in lib/if.h, for ifindex values use long long to print time_t use void * for printing pointers babeld: Remove babeld from Quagga bgpd: add back old forms of 'show ' for compatibility add "show ip bgp dampening" command tree add nexthop length to AF macro add some peer_lock/unlock debug code add support for timer commands with peer-group syntax allow using rtt in route-map's set metric bgp_scan shouldn't queue up route_nodes with no routes for processing check capability falls on right multiple of size, where possible. check rtt later after the real peer is known cleanup vty bgp_node_afi/safi utils compile fix for clearing-completion FSM fix, using workqueue helper. configured suppress value cannot be less than the reuse value in bgp dampening crash from not NULLing freed pointers display of configured dampening parameters do not allow a timers connect of 0 drop machineparse / random "show" improvements enable "bgp log-neighbor-changes" by default encap: add attribute handling, add encap SAFI (RFC5512), extend extcommunity handling, encap show commands fix: bgp_btoa to compile, crash reported by NetDEF CI, ecommunity_token initialiser, graceful restart capability minsize, memory leak in bgpd/bgp_route.c, Null pointer dereference in bgp_info_mpath_update, race in clearing completion, small memory leak in str2prefix_rd, SNMP write support 'struct peer' memory leaks useless call in bgpd/bgp_mplsvpn.c using of two pointers for struct thread_master * VU#270232, VPNv4 NLRI parser memcpys to stack on unchecked length (bsc#970952, CVE-2016-2342) general MP/SAFI improvements handle AS4 and EOI route distinguishers if route-map does not exist DENY for redistribute statements ignore stale entry candidates during bestpath selection. implicit updates in BGP may require a withdrawal from zebra RIB improve cleanup in bgp_delete() memory cleanups for valgrind, plus debug changes hook up bgp ENCAP and VPNv6 CLI node lower BGP's default keepalive/holdtime to 3s/9s lower the default 'timers connect' in BGP to 10 seconds make bgp_info_cmp and multiple-path decision logic more regular and robust to paths that do not have su_remote info make bgp_nlri_parse_encap conform with other nlri_parse funcs make _vpnv4 static handling SAFI-agnostic modify maxpaths cli's to use MULTIPATH_NUM for range only use routes from Established peers for best path selection OPEN parse errors should send OPEN_ERR and UNSPECIFIC subcode. peer_uptime overflows after 1 year fix zAPI parsing refactor route-map objects modifying integer values regularise BGP NLRI sanity checks a bit regularise bgp_update_receive, add missing notifies and checks remove the double-pass parsing of NLRIs 'set comm-list delete' stops as soon as it hits a community-list entry with a deny speed up "no-hit" withdraws for routeservers tests - add null pointer protection to fix bgp test failures update dump to allow Extended Time Format update rtt on soft clear VPNv6 show commands warn user that bgp is setting maximum-paths larger than MULTIPATH_NUM wire up VPNv6 protocol processing fix struct/pointer sizeof mixups fixup afi_t to be an enum and cleanup zebra.h remove 'struct fifo' from lib/zebra.h refactor FILTER_X in zebra.h bgp: reorg cleanup to align process and bgp instance init/destroy build: add --enable-werror ARM compilation warning fix determine CFLAGS more intelligently enable vtysh and pimd as part of default build list actual release procedure make libraries self-reliant remove the old PIC/PIE patch, let libtool sort it out rework how MULTIPATH_NUM is delivered to build distro: fix redhat/quagga.spec.in distro: redhat/rpm: remove with_ipv6, package pimd binary, remove pam stack redhat,CentOS: update to support CentOS/RHEL/Fedora, upstart/init/systemd doc: add AFI/SAFI show commands to manual add 'OSPF Fundamentals' section to OSPF docs distribute a modern version of texinfo.tex with the docs older versions of texinfo seem to be sensitive to location of unmacro update bgpd docs, inc. on decision process, and with a section on MED. fixup of history handling fix alignment assumptions on non-RT_ROUNDUP platforms. gdb: Add a directory of files with gdb macros git: add (generated) cscope files to .gitignore HACKING: Change format to MarkDown, fix spelling mistakes rename to HACKING.md in prep for conversion to MarkDown isisd: add a debug mode that traces LSP construction add a slight delay to lsp_regenerate_schedule add new adjacency to LSP neighbor list add support to import routes from other protocols allow to adjust lsp-mtu always print adj->sysid (clang 3.6 warning) annotate some function arguments with const assorted fixes (unused variables, static) Attached-bit in LSP header don't corrupt memory for long hostnames don't use POSIX reserved y1/yn names do remove ipv6 routes from Zebra drop packet received on multiple interfaces due to the time gap in binding socket to an interface fix: assertion in LSP refresh timer calculation a typo in a log message crash on processing own p2p hello IPv6 mask application LSPs not being regenerated after adjacency change minor & vs. && mix-up misleading wording in log size_t confusions handle lsp confusion (ISO/IEC 10589:2002 7.3.16.2) initialize circuit to match area is_type make send_lsp more robust provide more detailed log for failed address removal purge on correct level remove superfluous checks after XMALLOC etc. remove unused process_is_hello() show interface's ipv6 addreses lib: memory cleanups for valgrind, plus debug changes add: CMD_RANGE_STR macro to command.h facility to log all CLI commands function to get precise remaining time of timer thread getgrouplist() for Solaris SAFI_ENCAP type, safi2str prefix utility "show commandtree" CLI command zlog_hexdump() for debugging allow caller to provide prefix storage in sockunion2hostprefix reduce strcmp in CLI hot paths fix optional arguments with description interactions constify sockunion api don't have log functions change errno fix: bookkeeping for libreadline malloc()s duplicate variable name in smux.c and vty.c Free Pointer dereference in lib/filter.c POSIX capabilities on SunOS platforms "reduce strcmp in CLI" fallout "sockunion: add hash function" for BSD vrf_bitmap leak in zclient_free() hide internal prefix list structures make prefix2str simpler to use, and use it in zclient make sockunion2str safer to use memory reporting fails over 2GB move the interface list into "struct vrf" display more info if cap_set_proc fails. don't use CAP_NET_BROADCAST remove unused 'show memory XXX' functionality silence type range warning in macro straighten out ORF prefix list support stream: fix stream sanity checks treat realloc of null pointer as alloc Now use zalloc rather than alloc with null. Fixes issue seen in bgp check tests. use const consistently for zserv path vrf: enable / disable a VRF vty: add separate output fd support to VTYs add vty_stdio() add vty_stdio at-close hook don't clear output buffer on input EOF put stdin in raw mode for vty reduce unneccessary C extension usage support multiple VRFs by using linux netns add trivial work_queue_is_scheduled helper wrong #define used for IPV6_MINHOPCOUNT zclient: can overflow (struct interface) hw_addr if zebra is evil consolidate error reporting for zclient_read_header add "vrf_id" into the "struct interface" move "struct vrf" to be a lib module unify link layer type and hardware address handling configure an interface in non-default VRF ospf6d: fix for fast OSPF convergence fix pointer arithmetic warning fix uninitialized warning in SNMP oi->cost is uint32, not short use existing union, avoid strict-aliasing ospfd: add missing unlock for ospf_interface_address_delete() extend 'ip ospf area' to take address argument + rationalise ospf enable fast OSPF convergence fix bug in 94266fa822ba, nbr_self rebuild didn't add valid nbr_self fix for 'no' + 'debug command' does not disable 'debug command' fix unused warning in ospf_write impl. per interface 'ip ospf area' command lower the default OSPF spf timers to '0 50 5000' make ospf_passive_interface_update calls friendly to static analysis move route_unlock_node() in ospf_ase_incremental_update() ospf_ase.c, external_lsa locking fixes. ospf_ls_upd_send() add missing unlock. ospf_nbr_nbma_set()/ospf_snmp_vl_add() add unlock PointToPoint neighbors are identified by router ID remove another odd flooding hack in opaque LSA code remove HAVE_OPAQUE_LSA and HAVE_OSPF_TE remove the blocking of opaque LSAs origination and flooding 'optimisation' self nbrs needs to be rebuilt when router ID changes. split up network interface enable a bit, for per-interface area cmd trap on state change seems to send incorrect value for ospfNbrState use route_node_lookup() instaed of route_node_get() pimd: add ability to set DR Priority for an interface add knowledge of different packet types add support for configuring multicast static routes assert when no route to source from a new igmp join cast ioctl values when printing them cast to sockaddr_in to sockaddr change ioctl call failure from vty_out to zlog_warn cleanup interface startup cleanup zebra debugs to be protected by debug commands create ability to modify hell and hold timers per interface do not display some default values as part of a show run ensure new generation_id is different from previous fix first DR Election, leaked fd, out of tree build, size_t zlog_err format string warning limit pim hello log messages mask unused zclient_broken() notice when we receive a packet type we can't handle yet stop DR election on every hello use IPPROTO_IP (not SOL_IP) for IP_PKTINFO 'show debugging' collision ripngd: add ECMP support allow to enable/disable the ECMP feature sockopt: add support for querying tcp round-trip-time sockunion: add accessors for sockunion address add hash function solaris: create ioctl_solaris.h drop duplicate __EXTENSION__ define more warnings fixed no ROUNDUP tests: add CLI dummy command-exec tool add more AS4 capability tests + little fixes for couple of GR test cases. add testcli reference in/out & do DejaGNU vrf: add a runtime check before playing with netns vtysh: add missing show thread/work-queues commands adjust bad_cli_stomps in extract.pl.in to reflect fixes & fix build allow display of individual daemons configs allow --with-libpam to build with --enable-werror don't use '\0' as NULL drop unused variables & RETSIGTYPE fix Quagga.conf file read in. fix the fix for babeld removal when the config file is close to the boundry of size of buffer vtysh hangs. hook up bgp ENCAP and VPNv6 CLI node fixup of history handling reduce unneccessary C extension usage support multiple VRFs by using linux netns configure an interface in non-default VRF zebra: fix struct/pointer sizeof mixups add "vrf_id" into the "struct interface" move "struct vrf" to be a lib module unify link layer type and hardware address handling configure an interface in non-default VRF add hooks upon enabling / disabling a VRF additional redistribute related logging atomic FIB updates clean up misc_null pragmas, RTADV define configure static routes in any VRF don't print uninitialized string fix: addr sent in ZEBRA_IPV6_NEXTHOP_LOOKUP build with rtadv disabled change of distance on ipv6 route creating duplicate routes leaked sockets in rtadv.c NetBSD interface stats printf non usage of VRF_DEFAULT route deletion on *BSD rtadv detection, check for non-glibc linux VRF code for *BSD implement per-route mtu handling let FIB stand for its respective VRF let the route-map rule "match interface" work for VRFs the netlink sockets work per VRF lookup the address in all VRFs when set the route-map rule "set src" maintain RTADV and router-id per VRF make RTF_LLINFO optional to fix FreeBSD make ZEBRA_FLAG_CHANGED internal status remove HAVE_IPV6 from rib.h and zebra_rib.c remove metric from kernel rib->nexthop_num is double incremented show interfaces in a specified VRF or all VRFs show routes in a specified VRF or all VRFs silence zebra_serv_un unused warning simplify redistribution code support FIB override routes use link scope for interface routes use prefix2str for logging where possible use SA_SIZE for RT_ROUNDUP on FreeBSD use prefix2str and unify show ip/ipv6 route code wire up "debug zebra packet detail"- run systemd-tmpfiles in %post to get the directory set up.- Fix build for openSUSE 13.1/SLE12- Update to version 0.99.24.1 * zebra: don't print uninitialized string (3b02fe8) This crept in as part of the MRIB improvements and I missed the compiler warning between other noise. Unfortunately, printing an uninitialised variable can in fact make zebra crash, so this is not trivial. - Use systemd for openSUSE > 12.3 - Add patch from Fedora * 0001-systemd-change-the-WantedBy-target.patchs390zp34 1675949279  !"#$%&'()*+,-./0123456789:;<=1.1.1-150400.12.2.11.1.1-150400.12.2.1quaggabuffer.hchecksum.hcommand.hdistribute.hevent_counter.hfifo.hfilter.hgetopt.hhash.hif.hif_rmap.hjhash.hkeychain.hlibospf.hlinklist.hlog.hmd5.hmemory.hmemtypes.hnetwork.hnexthop.hospfapiospf_apiclient.hospfdospf_api.hospf_asbr.hospf_dump.hospf_ism.hospf_lsa.hospf_lsdb.hospf_nsm.hospf_opaque.hospfd.hplist.hpqueue.hprefix.hprivs.hroute_types.hroutemap.hsigevent.hsmux.hsockopt.hsockunion.hstr.hstream.htable.hthread.hvector.hversion.hvrf.hvty.hworkqueue.hzassert.hzclient.hzebra.hlibfpm_pb.solibospf.solibospfapiclient.solibquagga_pb.solibzebra.so/usr/include//usr/include/quagga//usr/include/quagga/ospfapi//usr/include/quagga/ospfd//usr/lib64/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:27725/SUSE_SLE-15-SP4_Update/2b72bd87c25ea79ec380c1525377d3e8-quagga.SUSE_SLE-15-SP4_Updatecpioxz5s390x-suse-linuxdirectoryC source, ASCII textC source, ASCII text, with very long lines5{^futf-85466daa80d2663c1983f98bf5f1f2b7c229f4b81cac0e1cd8b00252dda3f791a?P7zXZ !t/q'] crt:bLL $Kԡ\1[4Ј}8)d%YJ؝NU}:#c!<ZWyh` 3WD!}4䄿2~Kw ]^n \RYZhUD79Y \=zjj0b!DW7]x!d0yɸlOsо+~^,HH'$Zx3E8ÅD9dI5O*rIy\9NN8 j ֝&%:7uT= IbӨKÜK:mhEޒ:yw:*FMF81cu|_&wLgɅA*unSۭc8Q2¬sz7fZ +[Ӹm]~faQj 8aA.$:L87/iH]ӧ  1 ݛ*^"\Ŧd%PF8"E~_Tޖl8^YJnmhW2-?~JZߴW'jɪAux`Ǵz2Lj͖p-< Vu472.V]7q;IdmHimQ06h JO\Q!`3A q@fWa%4/"wrY!Z(zzq[7ԅ?##Ap.K]W02YBgZ aہhapz}jY9Il8 @t.D^TMF2|SVp'/6a Qe}/ /(I,ޏͯ.h?W!v9˧&p"˽? W Ǧ˲q2o,n7:v>2ґ}ﲄ4/#̭Wѻӧ Փ?mMSe??mߪ'%pO8awv PW}0ΒiN ~`hRw).?+H^p>k(%|!y[޽5F&3!QvQae"jAR.`/|v\\n".86;3~":4}{X8Zғ-6-g,]k9l~tmY¨Xlol}K.0T9,u;4ftvqcO{ykЂ :#mL_u\D`Й$eIF{IroBr´Xg՞3" ;IZA[Du :nlHF @;>&iC_4-!Wݲrׂ?PehUw5r#uC2#[j3g< mD}z8 \oät;vfQ"JlSa_Nc`EPC֥v>(C.ԉ?PiT?GїRu҇o*~ƀyzÑֿUr'7届/gurh=FKj,Ք xIUup LX(uhHtq9p\%Yf伭`@Ia|k&B`+11 e> s0:ߡF#e>zaV|wsrrtzv_nW ?UE,>zpd./r{U enWMfMJK(f"SaQ5@"zzߟ8u8$¦Y1R4pMQK/.b0SB$~wӾ?2vV[u@H:e_8b~BT3, Nn?*^x[:VshV"~\&)DSt ь H2"Y*H5 @qԉ[E[$5~}>#cU@[3h#Q۾?}k^ Hqv#q;k"߀4"i €nHBO1* ^Qkb ee2;]?b9Swfƿ>r!OUd[$$c%?$\k~4iغz:A$PBxKev$Ftɰ0V)N2_v>joH(t4~mY7!V7w DN<~ghkX aϭW "-"3/N/Zƣwj[\ϋC4qW4d1xid%-tE\Mv_ T.Wg ]/J²ϓm %m,{j"E9fz _et=WX@[, fuVٻ]Q]Yrr9ˎT噻}{#?=im@RklܹCJ6!Rmp/r9?KAf,mor15؃y ;<@[~܃ʸ냝'Bٟѽ$!5% C;wpv [73CZ(;~&@ߖ&۾@ϙ 6A ZCf3z 'aaMʑ -|FL+ 4-}d}xLJ^8YULb/gcnE]_eC'炝u2XƆ1hX д=y{oD&G2?D?'uRjC:c{uE mפrksC*$l [SVم?V[83 /$WSدVok7zI"l@|xWؤ~M # [vҠwK(s}0n?7Bx:5>(z`w?, iMƖlIM|*Wj'fJ߆xC=neΝ%b&sk b̔p늚}xa I sR03_N'Ϳ|is{;@tز6D}ұʔ&r 蔁lyiSdtiA/"c`ḯH8%|浘Évq6VCׂq; 1 ga{[D1 V&A^ztqm,/.3 پG3T-HiS3,,j0l4-JXuZ*WO ^_eQA MijXRYDFd|4?,yWtqytmF=pOk+ӻVO$}~xØ@nn=B-*=V b1&wl 6*8(*ښ<R)n-_5:R<90`Ich1z "وDYt">\**{a@)"c[O |^z$/=F_ׄ7qICT6qϟіE\)2ek/ҸMޏQi0cwbï?X=*YF0#ޤgIUBl#RP3uPMPāk[gμS2!]:#Yg&O9̔ 4t Od}9xd/!13tb<)U퍣P?뇩fg RVǎqF66e=Wߣ#N$,P:AѮAsn4cI.i/޺F0YEo<$$ x2EM>ł f3rE?a77:=8 ;KָQF50Q-xaSXԉO2mO(xt /zu[{2R):UY1 pޤcEѿBqGr/=켼"RYá"FCxXGw־XDM*JKsQ,Eİq8μGEC9/?u/ 3X(Q*̭Aʵ@6>r)r6 VE^ݿ-8*U8D48(ۣ&vߔxpL|op"$+6d۵j9D|0Pz@ף3{ZgoH0vt]L:\ cC Ó% $RrJ-,12*2?o~`Dm\c ImHɮ=w+ _;?lbᮡbI 7I3 s6ԱUMUv0_,ThSB%PH' pz gw8P|uEEÃTgsաmgAZ/RXeek +9 e nStz|T]jd;lٲ+ @> d?[f (W^4J$JTx)[4:chg\?t%XjǏ }iA$]<`u#GÏJ&'>-^<Y'fbaN^_=&\G "y%[V]zc7fR=܁?4'q9i"V<όZ\3GkOX_*Mq>'m&E5#A ۶4p *TD7_]1ށ%>DVyoFCvb wf?|_ $D#O$ϼXjdq\PKVɃ7؜,#pg% mk;_q$BDD,WTt eʒ]wԳSV07㞍  ˬ؀= m4sL@ QD(e<@9X|mW)LY?%^[R R_y :h%ߺ Ur\BmRQxN)b?5Q*=05hg~,hta@39uuN080yjv 5l) g@Z[W!7Z?*5WA}KA]E)͞|a%`F YW3Ll0oO&"I[dϾzqBTbܙW ^=Lܮ,ŷE5 :Č8?'EozJ(g[aUGd\Q~~g,kv6TQ7lv\/Rr|ν+?掼?_?8Lύ92tܿx?/e}:6]"atI:I34*oi}>w$p"Dc8 Q1Iؘ_9RnNd1F,d 6`%'v`~4lM7'y]{TjVD,%)(*+o5|'ɞ'LgڳiqY"' |CB}L nd,Hy0Dq:C{Q4jX?$pP0dE߀_BlN|'$"_c[8AIy`CWIu`,)JGZ'B8w 'BDh0_ iW632_| ;S mRdTf DOڱ$fuCV:j Jb8ho}p`>aXgŐwT9E{n_) ,_l:]nGETz"}$/c+40 p_W;/uRRF%o-*}EAb=hDS&C쵺d~k5 f&%޼*̕F9Kx6rϼ;=A;iB^nF$74E\h$y ?qok"3jD;wբ6I\c w!Vi)W%Mj^$<IMvh~iXB\X)MbHO굎,E[̆ڐ7*- H|4&U0 .e2ePN_7~9WG&5 DMFNATkNeFR3g'sgBƴziK7JVd>(_|Ǖa18X޻ Wn\?5S=5>g˜pnmK-r0._L뮿 gTH-|*$R(NhU0y35<a#b{pղ[镦 I,H5&5SD-YNR) f8bw$Q!{-{0օ|7ysIc&^oV@m:D_jcMk*\ghcTwz ;41&TQ--I$ff#`T''f'*B{cN͉aM STf HɥD%v4LZWy) H-"d/Frv=hFdrx;􏌿h`/(w  W?).y-^ ʲի<*2;E!w fzL^0ۊk`2~q"Z(=]I\8^KrFc3"c h>8JRSZɖ'둿.rJ!R:F; BD8{Gch)!|'G'e )y*̛j>AT"{9O/qv0Fz! \(2|Bb3MAs1{$tO?IsM*d[*QE&ꢒ9OsVݙ4ŝ_*4i .t p]xV&–3Ih.~;~y&pG{Ueye *8ٜ[H̱rQ@ +\;|0##ߝBz3 G Gb)~~f҂) *[Z᥾7?*c/NN? 㬽91tJ ; J\b4_Op 8 _Q@7 ^Zl~+E>Kejp6h&z^rj Sx:$A#}֭nMw!E.2kFB B+zh!PSh Wʻ<ŭ;jX"EܧY8DV3P?KFOCLrGM$A얷Jb:gqCm`@X&|kNc*^3P]0#!TeFx8zXHh\,8}ޯV?H"GʺFάt͏"70y{YJ_ۍ3:cRx`.6zZTzLF`Ԏ# $u|S?˟S.'&G>x' Ku4 i?i*s%#%Dt2VI_}T ⳇ lJ_̃+9̡Ysﯓ{oϕ.r6|cW%ݹ i-q}{nOqFDRܓT_\A~:i0بP)Io&ŵYQ4/Y(nv)Ԙ`;óϿ&GF(RRh(!|ަyΆ"fug=˃?b4P;fBu3ٵ;<K \Wk=uhG' %C>fSJO. ZppicO<H *՘\.'I]/"8hۿ>_>z1DHml;(RRϙ3Qq-` :ԅ!w9gCqE@(ȀPs\A&$! 7W\z"iQaԪsˀYq4[m3Wm+y&*d,/ݶrWJa^dIG^5XWÿ~>GrŦ,}8gf3ٌʝ#[ 3.R?F]i:T՗E B.?;F58l~షʼo8$A/pm $RqdA4ȴz`Cy\ك0gi潬pɜ6SV/u;?a%o(_#zS }}v}4v -"clVxz~@x+KPC7$j@G .D0jܲA%] T抂R?5t/>ݤ2B:D5~Cܯq#\TG4*OM92n 1+ҧ̝֠>}׽V|gTWՉmՄzWfio. 2υ2]; Z'l@@L>^ 3|mrΈhr69pro2 瞕jHɶ u^49 /kz51~w6x5v $Al.!Qa;]b [F6,(u#/;C\ŗT+LfM P%cdsݩuHg+!xuf;feV)B4}CJnٰX6 u6N9&hLEܕy*:/ux :YaPLT*6kN+&(LO USYߐ {>)\l|)S5WE1g5Vn l趤1ZX KW%T}^rV.P+1>rR3zWԡ]cFT* >Xj_*U)F}IF}vgWzj7 7b%1L~PU4"ۓv&n*[t7.u_P1X 54j,ض8AC^Zx`В? v4޽”322>9÷}LN4& $d>onJj+R_;Y\LC1"/9cPGDM@Urf}K7*Ԗ.$sE2 N3r \Kʆ E`m'&YGOe0 W$ŀC3 #ń ['ZxDHQ75tokl:)!P6@Sek+h۵z zcGI}JH];+]FK`i.̺Uf,>\QIH# oJF9G_Qyu3LEu~>|H[.rGum 2:kNu#oP[(8s{k>!p$i"޸JE Bc6ʼn6 zT/h=a2,ޛYY]x6)ncp_> GpI4 w9Aظ4=2X Sb 9zx8E:"ۘ T8C^b|`02ϩcUh9t'dsbVF^ݫߚ~M]TQ\yegܡT.w]i"q{cp` (D!' K'Z jGI6~|QH#C`v0`4Pu/iciCindLf󌘢~rYGxOiY!T0 |VuU OƈeUxΦo MPrgڟTwr׸>w4G`NEQ6CD1v*`3;Ѥ,.@Z8y,7kX|$0?%!3K=liWBLK Jk!(H Q]=Ԁ"䗶e 8X0$ &Χ,nc ՈWu aŭE.%tvmVɶQJ I3x1Q]]&i&T b+Mz~~.ZS43rE`VXd4Ɵ4(ѣԃpeI_pl_R\ۄ5#z~H;1oP Nz )"'IRa'zj&{@O^jWH24"4`2'"wBW5 5_Wb@M?P;?;fpJI@EĝF~CO($A]Mzbٝʔ5~ Qv'*W0!5]%#b=cHh`d++9L+ߌ)ícfNw +タ!W;!xu-bH.kaUu#Pv"![Q hzkPbE6HN_N9?ݻ.]v)T;LJx>F~$Z/%~C+2rkh0tvo\c.F`=3fl^NOn1}ߨ;#jC(z+tydcK@p-bQ AxEM7yV4tIx|"m s7\(QkqWe kWf}O6);V᪞tLU82:g:*H$By߱U b|0W"|PҐD #m<ΥU:MFdY5XLL4[`d}鰼 XU7;@9CJ^ 9AEC}8WY ؕ}9raBgXc&.ӀmD 6p ֘k)-Y)H)I;ДM;6D ~O#ե.IHxթ @ߠ!0+#63~╧L0Mϒ >a_r,(5Az2g l~)q(/̂s%m In~8,~Wx" ?̏!Z<.Ɉ\!|uMbwIL5SwɈ?9lxd O3!t8 y`BbX1,rl[c=}RmNnu*O,.p欍x4g tzJ)Hwo4z*0U0tB牧 ۔(RnB SiYz$L Ifns]LוdhcWc֩g_4i+SxN-[ 5G{ir c!gu~2h4Q~oQo@ .4Au!B܁w%t8HX?ɺGcØLpn&d~Yo{$hxM9 })D*gyTv@Ru`lj-Q4ck}%n\3Kyzr#+@&qa %@B|b޴&] }o/') iiސjݦ^+t;MUHr'oXSSNFWĒK}@o46|LBBQZt!쳀|ü*LJ 5Wa$l )7LeO;?i"rLwSe0Yk#ZqQTE-e^Yk9>_\79䖧Փ垚uXhU-)gQD.Fj9Y M{MyR#޷ѝzƚۘ]tro aV>.<$AAK!չE3dd3g!"Y'w.AVύ聽!zK2\Fmxbr١ 9+B$ѻ~2^n|ɤD^$ݭ\d.FPG>JA<+O[EN4ZJx/t|s-n,e_J& Dgŧ-Ԙ?wG^=xD-%G~Sv#:Ǵ ]D/,+(%pԁĴ99T&2פk2C=ǃ2wVFn+-ìL rxft)=`աW C@,IBX|zlCeF3_WCۇms܌Z5Ϯq錟YGㄞ,-}-e ?Qnʜ*s,N@aaUߨBCz8Yg$ϐ˴WTg/Jz}<k\,qH`]o %@^v|1-O>7O|A.v5p= >1!yu8e]S4_+|sNm "vwa*{TX4QNHB?pq6gM  o9/]F[U~NŠN0f,, Tӈ~97g:jpnÝ*bJ1fO11w~4@uX21N%z8d'#b8 4$ʜۘ/p]ydKIiʢ⦽UЭE2KdWCWgcmZ/P&i0$"gkҸvk8)ɒ:\P" 5Udzfg'͛R!B[^qOΘM}̌`׬qaғ\BfT@ fӰ>QhooXx?[f{*D@a]D.|. {m, !7 ~m" <iպ 6Gj0~ּKlH{>#]mUW[Х嚩i[ldD%Nx'O8JdqSghnI9{4kNLW3 @W03Ukz8~U#ZvF [DxD/l s"lAj/j(Оs 26t7azdG\~Drl5E 瞎DzxJ 1D Rd$-`TPRV/G咷Ǥ$\ \Xn1`fkf&6cSjMiq{% 5Lqk+C*~].7<#icQiVVٿX%5P+vABPteKugƭ 1 Sʦ~N@KfϙPpsd]4 { Um+.n:3r0Dy֒(Vv^OSPe+Q4d1&a+W"uƃ77GdO/~Ÿ4 wh]&fnZ=CVc1id(9d>ރL}^161?l_V+`e5/Fw}}Ϫx3eIf9 Nb7kSy!(#$Rc@Q/߸'h{ ( JRq%XCaPuμ(lYc_-Z { 6YJ6Q?inS"_7k~j6WBw ^n<^Jwi4h }9}3b]IAUϮ nGTF*T!B,ˋ\|]G.IQwE 0vv3*PxU *Nf4A]FC!4scC'm˞Qq5U-h2!`Q"9j=B]h_y/\,2-q2]1EU/>a9'yZi?1\GHД簃 OZfϒql=Ft=AF,>N@M1<ѯuIibʶo0B7^аC})Iϥ$f@93e4M Arbh"ϔUG%!!f@A@2H(^m$ o9Z)@nʎ# X>uf//T]"pDpȵj#?ɲ0HNu9̆ _hL)m]HP< (,tyėN38 =S}{z/4ѬU]$#q3 AuhҔv{#x|/ܺe]l[80 zādGl*yZ6 49)j"Qqor~a_L akdA]%Dm?DҘ\b Mmd$ղXڽ"P7:eaGo τJ%G%{; naT<4lyGCbWU<57w5|{@QDpڢYY m <03 - 0XhUg} 0~ndEXP5w>%K!Pq r㌡ׯ/`t5u:5 I1o; b >rFI&xJ'If 1Q1i7\U@NR@<JddPMiB@}?D&2ߞr?Ӎ:۽66-~G[K&O㖻AnyJevؓ 3׈݉Ilhb *L=VkI:c*5sUeC+?*FK$-*mLWF yavEXZcpy,&.1ȑ5BB{>8Y{I;NSZ s-s`wȫ'f};t¢}K=W!>eE.f o|ufʏFUq+$pZffɊDb [9y{`͢_ 1^Pa5^7zDi x,Sv/]Hec41V649+h Ԣ&tzo^rO`U2kF(T?bȫƉTLO~'o K뇏LƢ[~W:T:% 2tXO7yZYJD_j7T>NtۘF&#tKk4w:iURNݱm ͎ S2\"bֈvgļYT7etv呔=Kl$/L\@X[&G/s%Bii3D+#G<>:Rcɸ 1?MT<* CȻS5P qjIu0M1:q7 pF >D~ T .ozW_67fIT+Հ[R-cko(O}6_#<0yt [lY(#5Yte7.?"+Yb29 2݊H)CX>Η} }ӗ$X wI}5gI ]1*`xľ|nM4_Ƕ𾂗PY㝆1*6t|ۢa>wTf_XSz"@EN,2SkR[m{kËj)^5Z% 1neQvh NNպ7 >]Ir Gl6Ӱ`b#3?wTQK/*=`?95.0ۊ>8 ?6$QS yxjaڶV/(,6hyZoSΨ^ c tcCe4$Mmd&l8? &@oSP-f&c. jם¿{B( s(yj AV*6~\J3Ttr\s$\?AFjc!- 7 ``8!]8,,jǺ6e'T9 ȗ菺v: GW&jId!,Mx%1M aW=RQV$2{*3G86NrH&(e («`m<2axF j6qOSb+!CQqݿl1ƍNlaVGK7Z ^A*6vs[ч6>6Xx>%=H!A$jQeGʛ]S@q#![m ؗ"_i!K@h3LC~G[`Fv"uFo)*w^kZq x#ĭwƶkɔײ"P~-ZFi,$,PzaOW ȪH%nw=tO#tՐ/v( =NVUV5ÝHɸoA31z#dvDHV?)1EGch(W):msa, ۡ15>{k/x&(ըWIYGYUhUawsƙ + e,Ch@s8&9%DN1?sHCCF ɨX%۝7C7@-82а!?k}I@b3a Bf:Ă C0f(,1,y&7唱-8#n}ʕ;@WC*?I+N)kW;3i[Ms^47O!eX[$FESl>zUmKI@J fA֋V~'MIoWaWD*[z.uMbCuҠ $.;rj1r+6ߖ#{p6jH2=:w=ۗ:51}륔Wh;P@O "5oDDUJ>=zNޗ|jӋq=e_{s6:`|;pʢڷ$)ҦqLJm^h:OAd`S3`ȉCKH?Q^!~G+*ǃw݆Ke  꺅mtv tg+[gʮp dfjQջǦ ;jCˌHWɯ qV] }UJR 7@ w p-•Cc/ˎuI֫`q9A-CHN}'yPȒTSС~OqAL)pCs3X|UĉGIR.a`GXS\H.vɣ^#grVbU/3<ݽp z•k $÷DaxqA>V4@ygòID'LfA9μt"WQUZ==.Kʕ/XjqL:?@d0_v˄dCWz5L6J~7Jx^o+i9vs:B?Zx$ fKk{h)rH&gӘ рz"sSǮ3AuNA6Nl19Ep>;c\#}{Vs2n,J;"-X-GNWqmS:S$63jT'OBԼ0f[?#z=Bccq+Қ|i32/s.[wx#:sۊ;^( iz'sBEIOr1G9,9)cGXJ:Gyk Qݰ;Gm$M;(M]̬KRqTyu!;75Vx94:g{ M-]8P zLaV183tWTT {eM(Il|ӏ[?G1krw2_Z1jltCP,vWkarm]6|~N= ~goo$NvU; Ksjf^<,-`4!d)/;l ` P l];iУ)lj3U0׏! @XA}wT[Ku#n:`6%ķ>l,gV1Q=*+ Q0O+`;oĵKsk! (ԝC(Pa,rHp2@\+Η@$'/`ifqq]uY҈!~#:s6l <- kV<lj/NjѓTUJj`c:O~lR( kj04-կ %|)u$ABy< uk)h!{pN*Bi#rV?r@ :c?FAz#DIuT q|LíG Su CQ]PvkjA?+Ax(}[#_BjԋVz$\yi 5M%Ik#eo;c_嚂]qC*z^)f"\FجkٌHA!SDhh-w#$N7FEdHx={2K< G:;Ie=/ qI6arfh`c?0J7fVYPZ$4 2ZٯYԵfNaQ H? joTȡ_A<ۂ 5|K+i]^;b,_]`/I_a0HYxeȩUlr-a쉌ƐAc \,AeO~hp1)fٖ˗2HΓ'ؖobWx=uڝZo+&cSC)ҌHKsg~ n|*/6uGc6 \Z6kʟjbl^.}TON> ?9"aeL&9dl2v[ cu:3%ӕ&hL1^{r"^؛]@+i8? JK3; e©@pDɲbGGfzVYȑ;$GDH SC;Ry%$%-BȠ]%{N[}-b ͂J)gJ2~$|FXCҴB~9ؤ(^_;&󽁆z8bW\G1"J%u"r'o؄ۈLJfFԜ+iAf-e 6L{ŽžvK>r:$91ӈZy"Wfbe1>E ݽKxt}1n-zp0s|LQ$3:%? ~m{Z[Bs89ۥyl Zk*Q\tH+j1'#XW݉-ٹU<.o9 -.1Oߩ0'~;ਖ7x&)U '|#c:otɿoSƲ.+}$p'WE`^u4a/@oŒm"1$>SD K76:S9͈V삟@)~s_ũd{% v{#ڌ6>:~tb^A|XM2M^\i=1g0FԛWhRm0][ݛqVwsZ0A#Ɏ]JWL=?'.lkNb725f)p$Y#V+#TT&p8y5QQ`h]7THޜPbj ,N8HE5+T>wnݭWAA aodُ~T-Ao4LOSFQիPc3w <+|jov\]`#iRK/ _~-Mޜnx4x h*޵/goUA=NJ_80̲TYMj]0"ݿњ#d$w|^cNC`;mwf5>t#ob״SY~Mscp,TR"n]ڡBGVG~v^Z=VJ ܁9d{=[K ב2nZ73jzUl=qX@`H2i˜G2D@s +]z!hfvXm!69ʼn_,' ldF}ԲA`썍6lGAE-+Kdw(RU{Y#?qPկށӘ sa S 1 Ԙ2p[ۨQU{vٲBc U^ A2L2 9ypRW'VgQ@>̬PӧKOw#eTBJ>vg Wg =$D Q|.W` E?+,'W~CBEj`*PǣRS<= Ur ߹y<*C{DVգCil4mai|}ø{u*dES-€P  Etwl=Hm6Jh=5`{zss%J8iwae˯p#YXBNv_ ʋ!`<\ aVR![$`VtF;~6^` y "j5GT9qg~/sg 6UE =A78.p I/tT|=Uu_3G?IWH{:xڳș勊ϯHc9EO)eI/m\s&rU]e78*P* 6#yٯlLY:|.reYEWќi8@fNp+j$\[H[Zz>7pszT6|kW1O횁Y' >LC+K]~ 6*}ozAXhWsǠDEO` dYة\Xقv1;p= !17'3i3"aBlsUJx/3hL0D@c]-^Y]N} ({cdvUW]NBڹ7 5l<ݧpA.L?#H15LTV LC=(4R7j4{zuL5.IfB߫ 7\R]ﷇE_,\c#EgO 9HGdkãPƮ p^KؿB*t/^ /I ¨ px%T aS$&2ߥH6fq)(K(aƌFG/`oľ"0W\H&(\kmʃMSSN4U``]{N 6&0 "gSe3URF uiW01Xj]{_4H_{c/JqpcPòSrJUvA0ҳZ5Je ͚5xb).D+'Ee PmqD'{z2Hnvu( \;@d#]-ס#=qDV(t ֝=8~1j*Ϫ%,ER w 7*?TG0 ~܍WiziAD:FuphrM1%F".cw|ψ$ &7Uԑ^xC,f=LȲR{g~T9<*]h%Ebkz6'CI ؓtPruv+s!sq kdOw XF?b@:D_CFCIpWIǁ3*-WE@u˛-aA7L}@Ef'YAٳK !G|VZ*eoIfHQS`xlq\I;_&=ΖJكOij8*);<8B'U/SMѳX@%kQ[]dqd= %{K@a NuDYHN$U/ᝀV4ÀUεxB~z Ptx.mT8ٵpPĤ݋&A*i{Gn!~WDOW6D~yT8iO?{Ym!$h]YE^ӆ/?6nu#8"ElN#3l#h1PP9?g݂Z-;RE6܆Mvl~dmn?&˜+$@7mr߈%چ7j|:zvPxˮwo&UV 2l+}J1buΈL .C EA: s&ga#*F}DyPR GY<}7,@F UE o%SWRH]Ey+[=IYpbc~"zb~QUtzJtLEhe.V<XrÛ_' [ya& [p:Ka{Ij-'Y6XB:M.c"jӆJ0W.yn,o(}%MrŐ s"$ x"9!D BvR/rA4ݰ3hR 7%7& ÿaY2*ʼWfjc  OC_)-R PkO~Q^qU@QbcS]ixp}2  `l@xl NkHPS;EJ˄<*q?WeIV4Q#)OYr"NKY&_29 hByySXTp41ص ^m* _ |[ȹc?bF$g7Rr)b@p[UW^z/l-zcPXv?8{t͑׆rn?gNK!Fy #\9H?& DŪm2Q9%mv,9ғ{$py\MDUenŋ`bXs"#0Ե&"˭6G-&kLd6~D?,Jc@ ; [eK0.- YA~s9i.U g"5\Tb[hL]~ 能@Μ n j꾃h6#@JS E W鱯OoԖoGQH\W+4ͷ㩕'jo:?HK=t 6=aQ3 |8"RaƷYAkPzZ |t]N E1HcmN}԰ht(c]6<@VSg:oFa",MO bM4b`J:m)]}<.K3vqT5N{846W]nO5IHGy7A$*Z|ə{5wn]PGG^JOXC٘AG:cU *?==|)lDոgv ?/(<.Uʝ `1 Blu.@\4ޚX4%i Y|I-0r?*9J`ТrVFׇbD4IFT%qK#,:1}/vQTM#?V>Rd$C _ps2{N#ǚzor`nU6 a`NK1YrI`7d:]lL5+Z@2kr|q*S hof' \$43wÁadeiXŧ} ZJ[}4!X@r{hp|K~?=@1F['=VD\>)=Ъ)<#YJ'уNK~@2<~9 ;߱/<]`!0d2h7t:jH%j\ʴr{QeKue@7ni\%&WgvljJ#JpH!=65(L%x L6 LۀwIWblT5.^bI:s8mq?|WӍ+^/C ϸ4p,wE16mxk"{k"qp=mi_W4S->~BtUx) -DHIh5HC.y+ j6bCKe1U%K[ΛZe9J4_#K|8S(w|S8TEA|o`sC4\0gxq=Q|E] ~bնX r՗/NXUl\mYpA| S4 LJ&ݗ" C =+Yl[mQW\sքZ# ܔU&HU'`Tr u[1i?lP:ПxC8),eVic\׏Tզx5j&ޛ~ߙ"3OܮSEfTH[4`DXf^d9"LAKB7 ޻MZ3+}e=]kjwc(n-7.&V~FC?ӤI6V8a][ E#,3F*ٺ3s| Ik1%>۫@uCcW8ln>Ȝ3Ҟ*G,~Nݸf~U<JnSD ,M*Jڐ@:o;Z/hj8 gx{~7 Ƿ$ \$ڗw؏H}+B_/%]1銪Vց?Jǔ9Pzrz WHg[gT]c&J?fcOWuh~:XW<$MSdثna~'R3^\C XE]O&)~{1 ?~1;PhvOIQ# 6@#2O/Y&GXS=0/dOָ Np}Yɰ_@p@^.%TBJ^0%@YRl^m;iн)ї_S7rsMe jPx(FY \RoCnہ͎'U#Ի}"NƭPfoP@;DR&b'tF(,9Qj&+`e*z1d*>TX 3QN6J%h'g'Tχkw%5{`yOi3kg\*ҝ~s,sr3WOMf'8^3$NsW[mi"\uA@+ܕ8v-ZXeiգL[VeYϝ;~<BS Ŀ/{N4ӚNGM"d=sXk]H:umVq_X4Hd}`'߭fӯ"Lv~W(tn.9}rm;59O'hDB KRDO4g)y/LaHbNjdytąA.M c?Ip2,32D!іp%n:ne-_O}NSSl:ulO ى"I<@GKUs|Zg|z"rbۜ E]A˵/fԽ8d-xt'<<[06=9 ĿÅn^suy l~<\L>0 N'ab8jժ % j{wBXk5 pJy d.ljG_iEܹ )c{2Um {H1 $m߶\muxxcKqlG'yDAGz?{5T`hNn@@?t5>'iy"Ftg9/+3{Wpȁ|et5ʲ#sc^lܤhUӈ~\9mm.Yd9ZЂ.=Hboh%H$ɖ:جf\ʷz@H+?PcڱP2dryA^61ЭEM7- uQY @/:\50 'Ŷs(Ҩ06 ȹBGhw*׫98EÒ+ZM׾qd6X2s^ 1cǘ3G6FǞtMaP83@3ہh@pByO e*GV˨ׯ':2ҸډxR0UثF(c|c DP.akLo%/r|aa,(1BU1HEj7c("wt9+H2.\x;8C d{p6gO5P-З?8#1Jd>'U4:I9ny{i,y)WTkf|„<\!za\K^h|M0t٨-4B>!7'*n@3_k%r)Ҥ. I y W Wc@(|1:|!E\H=J@b#Ltkj 1 0Ҷ\8=!gmc DڍvFѣ#y|sh%K?ًF9DJg"Mg ڄD̘%[$oK␌TpTHli$ +-v88+D2i͚搖leWЗ&i{̂ԥv ZKg]^RܤG{c#{{ 'H#_3!9߁):gR7>\Ze]US#Ʉ ϔĖ6n]Xktb3"\SPMoWlr"H3e9n6fyq_r|-χ j o lԃ]]w{ yl::)HO $y#I%^%Rq%6Yiz%qذnfCӱ" Ƹ^;%?] 4'e"s_ߧZ1bibh 6c̲e41N*d[aǤxk{V qxrr? ._3 ݱ@mW;;JNz80e>uB-ad-뾦C,ضg'ZZeQaB+ij[TݭtA%%`ulʇnjɯ0lsrF= 7<U00YfLcp| *fGKH5 wP_覽+uL\-qm0$H\Aٷ릝|,zLu -YwȌ9_~4;o򺹣w)NQìy&m^h-Nmj7DxJaV(lGZP0=\&]Dr)w5Q@EUI%&/eXJ!9Rn[pd"0*E1۔p4b3'bBw "Vny\̝  ,4| vXV4XH4Jwl4w޹4ɔ #@xip*q2燳`@}%”8*"!~Qk0XZmYTpt\Vl)W4i:eB䏯<9sXIj /+f=^ą=m`idn[I w_\L Pk3i+j@5?;Q IKrCɩ|I ;l=^VX/aG!?.1ԣBO%&E7r gR S7 gج@q }o M98utթ@ဟɈ'op5;%w`dA5 lwۢ Vx9E7E!DY簘J rj~ Q ]I5.u8ͧP)!R#CD^'5Ft. :BS96`A37z/vYXzž6 W$ IG-V<ԺVy{:Ɉ~:ꎍӜnX`R)"T550kj oV LI":eS G-lc 59di-'[9*^l(o%D;{ِJa V٬dpМقMdRNgUِ|õc:r wpOMibc8lD.v;8tRddQJh_[ 1j7L9t鳺llRnX2YjL݃7mb%\]dy_2KYUd 2Tĉo彠uhlx:<`~2,{vik$R$8 (w{w7د6jn2Sޓ81R?! ήcľ#Nn J!JKgx RRfL_F/] !EqbӬ)p'vu;͜m^fOFCkIֳ=*ߜiO@'i6/reo:~G:PP^1UˆcMJͨcNv}eo oQ~D(BԮ4ĽjmerQ!1vN kn;tV3VEʥx~]:M(qƬ~EWHE@Wpr"!kg#.V6v5*j f4x㖱;Nz%p $<c(,΀Lz)?⚎U ̹v8L#ЈŜUNgE5BMa̜il'st%tKȀ=R-2ZGOa2bE:h A9@݆1㎽@ TG(èTI~1jIrwE=\;)+P̕"x7ق+zE g Hfќ0b,̥88hw܎u zYQxzpm|D{H'924Ef = rfC?/s!mj;|*@eDK7v7;Ȕ,)YxZA^Oˆnxb%;/b*D~egOܲR ]OՎہer=KH`~:ß@"5vNVbsS qd&Y1B$$j{Fbbh v~ ۡxi JAh\][5]B3nwbe5XR@~0 KzE9IJKc"ܥbZ$Uxkw ƋU)hfTux }Gh,G_!x,zOT Κ;Ʀ&  |қD6q=ܭGegcyaoO&XqqbP&aFSiHGNU9#GvTM_5VR]sR)`dոzz.%(OG?|Tnt4 D7nBm^ND,VߖLM,doۓ;2TZZH2~8lq 72&RvnPO%k֘uZ"ɥil(@l a4 yl*TnXd,c,F=}&WN}=SN0pȖ^'pe6[q\8qpFeP5N?ͤ}rre"4J N.לlG!<):l#VlXZŖ{J(&UE&P :ZBt"&ˡyx{&d6 qqĂ:^W_c" ɧ C @W^/p& !>NnxӅmYnr;-:p> +M2hhp>k<1TR|}{9,M]//zU`$ /(:"<͉iбoJk $AuA%kWБ xPvS0D5V.ܠ>qH#es?M6'+ { 6On?B^?rG9[:y呜X4y0 d^&haQ]@E - iokl-YEcܾ39;7L"+, LWmYc^,[r%˯q OEӣ ܯ0./9aiׄ*]An]W>1^NAo/I2 bQ6?!8)'`DL,rUPR&9P+Y4QZIZuB$ QK;ǒ6q3"x3J V~Pag-HYMV0GzM' yMiX O]ҤX(L+V8?{xQs۽K^2p>K N] ~;|ɼsv%v)/VSDIwr8Ž1iK{lwNp7)G'wh+(hXHA;AVh}s#M*E.@qל6pәaくj(E0`D&(hh'rC*,mpxvbrG~[ bK%ê`樱s/ЄKY9=nh=]W.yW}Պڃ'\hyCN$70Ua#aNo]ܚrZRf^ױ68Sxd+D9 IʊҮQ5hmf;OU%ie3zfj-lS؞0YMF9Q1^K Lȍ p`:[$XL~Pp_,"m" n"/GnJBj%ۀu"Wdխ4nUi-f7HԣA \F֢B+H˳guEEMf=gˇ]ݰvDp:TIH'ɡ;`d =S"v" ORjl. o\HwǣER?4o/(\4ʟmoC(:JQr]GTUK $xFo. ZrrRώWI"8*h&WHCa /Y )?<r.lأ\"qCq=)Q'ޛ 2PZȀ1x + lV, M3xɒ4BQ/_㒙wt{kxtbu2$xT6=|z1&S؞]mm je$#ώ&v#2C^'jVi׎9 #k:1+H!) <ܸcp,"ekm/K,򙢷x2q,h(vjAi0a(D3" 'TI}ԥ0شRn {j)jޅ-&-h'o&-a;J@x%\s81춏֟t!8a|/΁l.>Y1[]VJћJZ' ¼ObƠ;0bF 9%5˅%E;ّVRz?.s3ꩄ^)#X5HF'|TZ<좷zuMսطGcv6N6r"N#w#԰x9#sA ,]SMzhud*Zkzm&κc8/`MzsM}E9ێ V?c,P R[CP\c{5 j7`á  tML/;e tdc;M0$On)y3/^]m ?+Ba7Lk %hnrVT6L3?eV.n|=(l!2نN] PCxNG>\زlS4Duٵ1oxδ9QW슗'r rasʙeB֪Zy|Fkd JAյ'⺝XpU}bv7J$DK丱e'M@6$=M5u}:NwS4T$Fq &Tgz6T(5H:1Bd:daRn8?wy|̌;W4 x<|D^uJFm vw#eCX^B c0i"|FEO 2E#$P ,J+9tTw$!HΣ)]iHdMyc4QaA74 na7a{CsBzO ?"8xUXL,$yu[ )2u6ԶtCoZ͓l-fkVvؓt; 7`?XO4>^1JHi\)e+ ]~o>2.}vں*ݒdt7] a95mk#" sv&FJChvHKOMn¨us ).x.R?-k*Z -@HY  hڂkEъ[@Ĥ$9vA/CD?29E6f zG^ $6L']@KWW濇oZh *T| G(/v< vu,?VpמJO.Ʉ(xԳ#yz);tpI7ǪgآRLhrt KSPJ̴BlA8Kɻ( !=bIsKM^PYI#^L [6S?_+҈.,lq6Y/ 9_oX@틒*8LnR e%,)(M 8ufN"TBt~FzΩy^]+8W{lfw~ ׏c 5Y.} n*u{:s/s(Qw`XC*E"vj %oJOox 3m)"r$iop1PHKpTJ`^5SڕyLO/̊9U,1E7yBvzu-M+@eo,ލҌ#rJODO;/d'84N.0 k݅3_DWX~1Z͆uf-@ɾ[g^3Qeޣ_҉/&jт҃\-[N06U.ݸis9ZœX瀄'ӿ]Rͧ{y=@42!i]7lp5]C{kVA1r+3}d,p\k3yvER&2 !׆(tLz l ^ڙrƃ7 ?&ùيġIjp_ˇI_I]މߦ `XR|!m+Q"5ΠyF1~J_vA쬕)iݗγ;!(YOLO>MQzYhXE%ny&65L@cLcU'wP[3fKnCPJvcs1I6( m s~ekf=/5#2 9`z.T)[pQ|Ꜫ_c݌ x>8P.x<҂mF"+p5`P #ahqXt=ѪyjU>}P{"Oy]8GxmBpMCfkF K#YJjxw{\ RO)hF:`ohQgyҹ8nHLky\+_m|Sp;?$L($ץ.̡ā' 9[Y˹ߪ 5.cL7Z1"q*  ڴ /8dM!TWB̕Q>֭m͢^g׾ H@ٴF(2~oJ*:\.+RE":>*!ʮv:3N1eb/#? @'-\)fV^̱4QvT#z{Z m[va{3%sGK{,Iͅ4ߤ4Z==xhѴjBcZ0W';F䅨ݞmA5QHz9?d͍cDo9 ]qc:ԽG `:n:Ud+7s?eAae; خn7pdib$[pEbHbÀd93wqQ c% NRNY>cZh>ZcCHȍZ5k?|>=z%NDWFR$Xc~\~Mߟ@3YP2ޔb.,!1 *3Ʒ @IpcȰ#8kip]H^uf`N8XE9d%6 H#+qץlĘJH* Ã<5 }͉taj{z|!g^ٖZU*ڐ+)lwI|=щWuo,v .=Vˬj#`!%m>b!|rk9 x?+D^ ~u?mVƥkrG"$B#^QU7`l34,Ol):W z\p!t"lrq>ސ;' $\* ~α>F;IRA+~@uj%Fuohn9LE DWMdZ͋XPq|Q՚2* 0QGm8|O7ȣXCfzO 0bMM]k/ojnBxz~Js bh( Xv52 &=s t>zkX*".)}n|%_Vlt}8;W>bNP鱅M>v>c>4r-=77@Z"Zh}Ue\&+j{-!Lܤ5&?*XSn.n18q o=-& {;[mH3RA_C #Ygfgk\U7SK)D0,gKfR7a&Ttb6ᦕ `|\pnzh}f}=ҥy<ԑlG(/R'64#w^!<=lݎnX9A<FYñ "WR9MۚrG\iYOl˸pO2lcy@9Pc 7a ${Ty?-%V8Uy#7MA^N+dC{`(׶EK)~IrEٓUmw:ևl*C1Vak⠗{?\z(@MTRz=Y*byُzxr">S=Ũ L$1{\g/:!w1ڞIQ7iu+#9kZ5V^)Hqj{pX>0l9+ FE=4-?3PQZsLJ,usyir-70u]Z z, < r6o 1|ce&wc[f4{^kApHg_ S\kk\Hfē ,13}(=9 lݮktzEՂ)(pč[=.M=_Dߜ8Qc>Q쥢6>Z9#wXnGW7?fv*V H0s!U yCi^c\7fSK+^vŵZY֋M eKi͏f18|!f C2J4~Z,AInrNZ/\+{ͽ']k&)O^i Z1u<VV}w;=>ps#(s(Ӧݵ?jZ{AcߒL c@9g d~z];hh#VPN)2nq`k$S4 dbnuI5wwlu_%/>^|E8},Tw>ң.R;V5$[j)чD)7G%_ ulcv18 '2pb?|h\` =5uS p_0h)en;- > V}.Y֊1Nw&Sm'hتİ3<.jy#-8 9scЭdw$>p-O@8- BUDnxכpmbt 6x *TfYQϖ^l.]ݰ5Dؽc{&ݍX"R$I~t= 3Y6&7BI)6̍~EGL3rZv#,!:͙C>ɳKLn`2R5 bڕ}$/0Pn?eT1n-i7%ނSyφa_:6F )}KX(%ܾٺ[4,0e Of5-lv]Emд߂ ^ uX\aI|8O@Xj.PQ HvEVeg*;}٤!#aڸ$Y~t6l<%ڠY$+54)%MP1Mӯ؛x*&A6*n!iȦ':Y1=>ѫV4x>* 8=7SuBC)8i(OC6^Ќ/fWc}u!_^`@2rjmDFϣYONQs+dI? S9F!HI0N:|-,:W6lԘoֻ1EDA1|O4enF}j%$޴jq6-[nQ}Pk2M;3X@ŰC*]3›ĸyU*3ok%ha l(zU)"7zw2(.Y4Z[St;C3*|#@ җDuIWVi~4J;`VxgV˅QfMpݱQc!_ {AAIS Eh/hgU2d3xO $B/d9XoƏ(N.0cʋ!:dGl,( M_~K׵Kwj>:#f mI mR狸LTiV ں Ԫrө.IM _ ;VK/8:79dݵq&R UDͤ8 A u4p$߼ϼ|  bbܔ@$&tq/s9haɁﻳ9?5H&Wϐzs=bW~ʴ ^>COF2m 릳ʺn3lW|j%Yt rsme6-o˲85IkZk$Ev*`' խ2ЮUUp<}%b"s`eaz=]oVhyPEd]*dަ- -x5S]/PZ@Ru6xd8F l1-𣨔/[-WZz$ nj3n.H1VsWٽUbFK7aV{Zݷ)XAuTܦ@'6 7VRP;"O~ `x\{N{jCY]v㷦oV@*;*5WtC,)0h<;(Zg  \KzC!ԄK@0~ y2Ox6K~JTDhrJ~>'GS-+ѡ# Hm$}o^*#DNK˃&6h*8o6H #b\ԇyЬ؆@) 7x_ORr1: e#$0nّ6yxjV^!x&ɻwwQ*:4i# -jK$)vvf:nbWe49if<A %V\J\p}rgQ'xpTBKP:;fahZg-ZR04-~&~o"֤G"5/H2|BH,!$ں.\)Eb3׈n[ׯ^Yw ;u=r4 YZ