osmo-bts-virtual-1.2.0-lp152.1.4 >  A ^)/=„js2xz ޥX vۮVAM {\KM?3;cIĻQ##Y=:N}C$6ehF3gAK```p >׋yw*rK ^[\隴B!YK+#|-Y^vpM~qCd#E{k(avĩqtrV(MU,D+N07cѪd*/2pF$?d # X,0<@S\m C  ,     Xk(89:]=>?@F G H4IHXPY\\]^b<cdDeIfLlNu`vtwDxXylzCosmo-bts-virtual1.2.0lp152.1.4Virtual Osmocom GSM BTS (no RF hardware; GSMTAP/UDP)This version of OsmoBTS doesn't use actual GSM PHY/Hardware/RF, but utilizes GSMTAP-over-UDP frames for the Um interface. This is useful in fully virtualized setups e.g. in combination with OsmocomBB virt_phy.^)cloud106 openSUSE Leap 15.2openSUSEGPL-2.0-or-laterhttps://bugs.opensuse.orgProductivity/Telephony/Utilitieshttps://osmocom.org/projects/osmobts/wiki/Wikilinuxx86_64 test -n "$FIRST_ARG" || FIRST_ARG="$1" # disable migration if initial install under systemd [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$FIRST_ARG" -eq 1 ]; then for service in osmo-bts-virtual.service ; do sysv_service="${service%.*}" touch "/var/lib/systemd/migrated/$sysv_service" || : done else for service in osmo-bts-virtual.service ; do # The tag file might have been left by a preceding # update (see 1059627) rm -f "/run/rpm-osmo-bts-update-$service-new-in-upgrade" if [ ! -e "/usr/lib/systemd/system/$service" ]; then touch "/run/rpm-osmo-bts-update-$service-new-in-upgrade" fi done for service in osmo-bts-virtual.service ; do sysv_service="${service%.*}" if [ -e /var/lib/systemd/migrated/$sysv_service ]; then continue fi if [ ! -x /usr/sbin/systemd-sysv-convert ]; then continue fi /usr/sbin/systemd-sysv-convert --save $sysv_service || : done fi test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" -a -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -eq 1 ]; then if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl preset osmo-bts-virtual.service || : fi elif [ "$FIRST_ARG" -gt 1 ]; then for service in osmo-bts-virtual.service ; do if [ ! -e "/run/rpm-osmo-bts-update-$service-new-in-upgrade" ]; then continue fi rm -f "/run/rpm-osmo-bts-update-$service-new-in-upgrade" if [ ! -x /usr/bin/systemctl ]; then continue fi /usr/bin/systemctl preset "$service" || : done for service in osmo-bts-virtual.service ; do sysv_service=${service%.*} if [ -e /var/lib/systemd/migrated/$sysv_service ]; then continue fi if [ ! -x /usr/sbin/systemd-sysv-convert ]; then continue fi /usr/sbin/systemd-sysv-convert --apply $sysv_service || : touch /var/lib/systemd/migrated/$sysv_service || : done fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable osmo-bts-virtual.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop osmo-bts-virtual.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart osmo-bts-virtual.service ) || : fi else # package uninstall for service in osmo-bts-virtual.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi fi JA큤큤^)j^)j^)k^)j^)l727b326b1754fbe6e7ef3214b0d2ea9df6ecee95cd0791582d5efb9a0a33924a8b08868503272cec95d373f8be617bd073b7c67b1fa101be41dfe6893d9bada9a4a9c1c6af6d582f0913977d1bfea3feb17b6f3c1ff412a4300cf8f0d4efe595servicerootrootrootrootrootrootrootrootrootrootosmo-bts-1.2.0-lp152.1.4.src.rpmconfig(osmo-bts-virtual)osmo-bts-virtualosmo-bts-virtual(x86-64) @@@@@@@@@@@@@@@@@@    /bin/sh/bin/sh/bin/sh/bin/shconfig(osmo-bts-virtual)libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libosmoabis.so.6()(64bit)libosmocore.so.12()(64bit)libosmoctrl.so.0()(64bit)libosmoctrl.so.0(LIBOSMOCTRL_1.0)(64bit)libosmogsm.so.13()(64bit)libosmogsm.so.13(LIBOSMOGSM_1.0)(64bit)libosmotrau.so.2()(64bit)libosmovty.so.4()(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)libtalloc.so.2()(64bit)libtalloc.so.2(TALLOC_2.0.2)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.2.0-lp152.1.43.0.4-14.6.0-14.0-15.2-14.14.1^\\e\P@@Z@ZJ"ZF.@ZC@XBXoXoX_WWs@VU@V~@VBUT@TTMartin Hauke Martin Hauke Martin Hauke mardnh@gmx.demardnh@gmx.dejengelh@inai.demardnh@gmx.demardnh@gmx.demardnh@gmx.demardnh@gmx.demardnh@gmx.demardnh@gmx.demardnh@gmx.demardnh@gmx.demardnh@gmx.demardnh@gmx.demardnh@gmx.demardnh@gmx.demardnh@gmx.demardnh@gmx.demardnh@gmx.de- Update to new upstream release 1.2.0 * Introduce BTS feature BTS_FEAT_MS_PWR_CTRL_DSP * Rename variable: CALIB_SUCESS -> CALIB_SUCCESS * ETWS Primary Notification via P1 Rest Octets - Update to new upstream release 1.1.0 * bts-trx: Introduce VTY command osmotrx trxd-max-version * bts-trx: trx_if.c: Introduce logging macro LOGPPHI * rsl: Implement parsing of BS Power Control message * cbch: Support Extended CBCH * Enable statsd support- Actually do the version bump to version 1.0.1 * spec and tarball wasn't updated in the last SR (only the .changes file- Update to new upstream release 1.0.1 * rsl.c: Add missing #include of gsm0808.h- Update to new upstream release 1.0.0 * various correctness fixes related to advanced SACCH FILL scenarios with different SI5/SI6 per channel/subscriber * various fixes to bit-rotten CBCH support; related generalization * CBCH support for osmo-bts-trx * extend precision of TOA mesaurement reports to 1/256 symbol duration * make RTP port range configurable * extensive fixes on correctness of computed + reported measurement reports * Fix build against gpsd >= 3.18 * Allocate TRX for BTS dynamically, deprecate "-t" command line option * Initial support for OpenCellular OC-2G BTS model/PHY * Full changelogs since 0.7.0: http://git.osmocom.org/osmo-bts/plain/debian/changelog?h=1.0.0 http://git.osmocom.org/osmo-bts/plain/debian/changelog?h=0.8.1 http://git.osmocom.org/osmo-bts/plain/debian/changelog?h=0.8.0 - Remove not longer needed patches: * osmo-bts-fix-cflags.patch * 0001-l1sap-fix-wrong-return-value-of-is_fill_frame.patch- Show testsuite.log when tests are failing- Remove unnecessary sysvinit script macros.- Remove handcrafted CFLAGS - Add patch: * 0001-l1sap-fix-wrong-return-value-of-is_fill_frame.patch- Update to new upstream release 0.7.0 * No changelog was provided - Specfile cleanup - Add patch * osmo-bts-fix-cflags.patch- Update to version 0.4.0.git1487093487.6b4c6aa: * Log socket path on error * Add Abis OML failure event reporting * Alarm on various errors * RSL: drop obsolete NULL check * RSL: add assertions to check args of public API * OML: fix possible segfault: add NULL check in oml_ipa_set_attr() * CTRL: make the CTRL-Interface IP address configurable * Remove obsolete define TLVP_PRES_LEN * DTX: fix SID-FIRST detection * scheduler: log lchan on which prim error occured * lc15,sysmobts l1_if: fix memleak in handle_mph_time_ind() * l1sap: Fix expired rach slot counting * l1sap: fix missing 'else's causing wrong rach frame expiry counts * deb: use gsm_data_shared.* from openbsc-dev * octphy: set tx attenuation via VTY * Revert "deb: use gsm_data_shared.* from openbsc-dev" * debian: Use the header files installed by openbsc-dev * build: Do not require more headers from OpenBSC * OML: internalize failure reporting * Add ctrl command to send OML alert * octphy VTY: fix vty write output for octphy's phy section * cosmetic: Remove stray newlines in octphy_vty.c * sysmo,lc15: fix memory leak at each call placed * cosmetic: remove stray newline in octphy's l1_oml.c * DTX: fix "unexpected burst" error * rsl: Fix dropping of LAPDm UA message. * Fix AMR HR DTX FSM logic. * octphy: Improve OML ADM state handling * sysmobts: Add correct nominal transmit power for sysmoBTS 1020 * sysmobts_eeprom.h: Fix/extend model number definitions * Fix SACCH channel release indication not sent to BSC after location update. * Revert "sysmobts: Add correct nominal transmit power for sysmoBTS 1020" * tx_power: various cosmetic fixes in comments * tx_power: Change PA calibration tables to use delta vales * Add new unit-test for transmit power computation code * fix missing ~ in bit logic for lchan->si.valid in rsl_rx_sacch_inf_mod() * SACCH: fix sending of SI with an enum value > 7 * SACCH SI: assert that SI enum vals fit in bit mask * all models: fix vty write: bts_model_config_write_phy * cosmetic: lchan_sacch_get: early-exit instead of nested-if * rsl: Output RTP stats before closing the socket. * osmo-trx-bts: Fix incorrect setting of RXGAIN and POWER parameters on second channel (TRX1) of osmo-trx * osmo-trx-bts: Fix osmo-bts-trx crash on startup during reading phy instance parameters from config file * Fix typo in TCH/H interleaving table * osmo-trx-bts: Fix incorrect bts shutdown procedure in case of abis connection closure * sysmobts: fully support trx_power_params- Update to version 0.4.0.git1483701882.2cf6b73: * Move code to libosmocore- Update to version 0.4.0.git1483698786.f376359: * DTX AMR HR: fix inhibition * fix: dyn ts: uplink measurement report * Add copyright for .deb packages - run tests after the build- Update to version 0.4.0.git1482415865.c2ecca6: * DTX: move scheduling check inside repeat_last_sid * DTX: further AMR SID cache fixes (lc15, sysmo) * DTX: move ONSET detection into separate function * DTX: send AMR voice alongside with ONSET * build: be robust against install-sh files above the root dir * configure: check for pkg-config presence * octphy: reintroducing multi-trx support * octopy: fixing renamed constant * DTX: fix 1st RTP packet drop * DTX: fix conversion from fn to ms * Move copy-pasted array into shared header * octphy: prevent mismatch between dsp-firmware and octphy headers * rsl: improving the log output * jenkins.sh: use osmo-build-dep.sh, log test failures * DTX DL: use FSM for AMR * TRX: fix building with latest DTX changes * DTX: fix array size calculation * msgb ctx: use new msgb_talloc_ctx_init() in various main()s * DTX AMR - fix buffer length check * Replace magic number with define * Fix lc15 build * jenkins-oct.sh: fix build: typo in deps path * Extend RTP RX callback parameters * DTX HR - fix array size calculation * Fix DTX DL AMR SIDscheduling logic * Add tools to check DTX operation * 11bit RACH support for osmo-bts-litecell15 * DTX DL: split ONSET state handling * Remove obsolete define * DTX DL: add AMR HR support to scheduling check * DTX fix ONSET handling * Initialize parameters in osmo-trx for 11bit RACH * dtx_check.gawk: Fix false-positives in DTX check * Fix tests linking with libosmocodec * DTX DL: tighten check for enabled operation * DTX: wrap FSM signal dispatching * Add libosmocodec for octphy build * dtx_check.gawk: add check for repetitive SID FIRST * fix 'osmo-bts-* --version' segfault * Remove duplicated code * Replace link_id constant with define * l1sap: Fix use-after-free in loopback mode. * vty: Add commands to manually activate/deactivate a channel. * cosmetic: tweak README * vty: Ensure to not use negative (error) sapi value * octphy: multi-trx support: fix AC_CHECK order * osmo-bts-trx: remove obsolete include of netif/rtp.h * add jenkins_bts_trx.sh * add jenkins_oct_and_bts_trx.sh * jenkins: add jenkins_bts_model.sh * trx: Add "maxdlynb" VTY command to control max TA for Normal Bursts. * DTX DL AMR: rewrite FSM recursion * Remove duplicated code * cosmetic: vty prompts: add space after '#' * Fix AGCH/PCH proportional allocation * bursts test: test_pdtch: pre-init result mem * TRX: prevent segfault upon phy init * DTX: add explicit check if DTX enabled * Save RTP metadata in Control Buffer * osmo-bts-trx: fix lchan deactivation * DTX: fix TS adjustment for ONSET * Optionally use adaptive RTP jitter buffering * DTX: don't always perform AMR HR specific check * Fix some spelling errors * Integrate Debian packaging changes- Update to version 0.4.0.git1475228189.94fa252: * doc: move dyn_pdch.msc to osmo-gsm-manuals.git * error log: rsl.c: typo x2 * info log: l1sap.c: add '0x' to hex output * fix compiler warning: msg_utils.c: fn_chk() constify arg * cosmetic: pcu_sock.c: rename ts_is_pdch() to ts_should_be_pdch() * cosmetic: clarify TCH/F_PDCH related naming and comments * dyn PDCH: code dup: use conf_lchans_as_pchan() * prepare dyn TS: split/replace conf_lchans_for_pchan() * trx: Add EGPRS tables, sequences, and mappings * code dup: join [rsl_]lchan_lookup() from libbsc and osmo-bts * dyn TS: common TCH/F_TCH/H_PDCH implementation * sysmo/oml.c: rename ts_connect() to ts_opstart() * dyn TS: implement SysmoBTS specifics * lc15/oml.c: rename ts_connect() to ts_opstart() * dyn TS: implement litecell15 specifics * comment typo: common/l1sap.c * log typo: trx_sched_set_pchan() * dyn TS: sysmo,lc15: chan_nr_by_sapi(): add missing assertion * trx: Add EGPRS coding and decoding procedures * trx: Enable EGPRS handling through burst lengths * Activate PTCCH UL * fix comment in common/l1sap.c, function name changed * pcu_sock: use osmo_sock_unix_init() from libosmocore * Fix dsp tracing at phy config * octphy: fix build * dyn TS, dyn PDCH: common/l1sap.c: properly notice PDCH * dyn PDCH: trx l1_if.c: factor out trx_set_ts_as_pchan() from trx_set_ts() * dyn PDCH: complete for trx: implement bts_model_ts_[dis]connect() * dyn PDCH: trx l1_if.c: drop fixme, add comment * trx: Fix coverity BER calculation NULL dereference * Add .mailmap for mapping mail addresses in shortlog * ci/spatch: Remove the "static" analysis handling * Fill measurements data for L1SAP * osmo-bts-trx: Fix PCS1900 operation * osmo-bts-trx: log decoder bit errors as DEBUG, not NOTICE * dyn TS: complete for TRX * dyn TS: measurement.c: replace fixme with comment * sysmo,lc15: ts_connect_as(): log error also for pchan_as == TCH/F_PDCH * sysmo: fix dyn TS: Revert "Activate PTCCH UL" [in sysmobts] * sysmo: ts_connect: log channel combination name instead of number * Change interface in osmo-bts for 11 bit RACH * log: l1sap: add 0x to hex output of chan_nr, 5 times * dyn TS: measurement: use correct nr of subslots, rm code dup * cosmetic: common ts_is_pdch() * dyn TS: sysmo,lc15: ph_data_req: fix PDCH mode detection * Fix ip.access style dyn PDCH, broken in 37af36e85eca546595081246aec010fa7f6fd0be * common/rsl: move decision whether to chan act ack/nack to common function * oct: Attempt to enable the Octphy for the osmo-bts-oct build * octphy: fix build: Revert "octphy: fix for multiple trx with more than 1 dsp" * octphy: fix build: Revert "octphy: add support for multiple trx ids" * octphy: fix build with OCTSDR-OPENBSC-02.07.00-B708: name changed * dyn TS: if PCU is not connected, allow operation as TCH * Update parameters in osmo-bts-sysmo for 11bit RACH * log: sysmo,lc15: tweak log about sapi_cmds queue * log causing rx event for lchan_lookup errors * heed VTY 'line vty'/'bind' command * DTX: fix last SID saving * DTX: fix SID repeat scheduling * DTX: fix SID logic * lc15, sysmo: Use SID_FIRST_P1 to initiate DTX * octphy: Fixing missing payload type in ph. chan. activation * octphy: Fixing band selection for ARFCN 0 * sysmobts_mgr, lc15bts_mgr: fix tall context for telnet vty * DTX: check Marker bit to send ONSET to L1 * DTX: remove misleading comment * LC15: Clarify msgb ownership / fix memory leaks- Update to version 0.4.0.git1468702853.4355021: * Fix ocmo-bts-octphy interaction with OsmoPCU * pcuif: Do not bump the PCU_IF version * octphy: Use the event defaults as base * Fix copy-paste issue * Update configuration examples * misc: Attempt to fix make distcheck and dumping docs * octphy: Enable TCH/H mode and begin testing * Fix SI2ter scheduling * Add explicit check for SI2quater index and count * Ignore binary and backup files * Add utility to check proper scheduling of SI * octphy: add missing include to fix the build * Fix typo in error message * octphy: use octasic's routines for debug output * octphy: add support for multiple trx ids * octphy: add example configuration with 2 trx * octphy: fix for multiple trx with more than 1 dsp * LC15: ignore build byproducts * LC15: add stubs for phy link/instance defaults * LC15: properly initialize unmapped phy instances * debian: Create initial packaging for the osmo-bts-trx * misc: Ignore files generated by a debian packaging build * jenkins: Add the build script from jenkins here * jenkins: Add the build script from jenkins here * Ensure TRX invariant * octphy: Update outdated config param name in error message. * Use libosmocore function for uplink measurements * Fix debug output * Fix RTP timestamps in case of DTX * Add DTXd support for sysmoBTS and LC15 * Use libosmocodec for AMR RTP * octphy: Use the app. info. defaults as base * Close TRX session before opening new one * Fix debug output * DTXd: store/repeat last SID * DTXd: store/repeat last SID * DTXu: mark beginning of speech burst in RTP * l1sap.h: fix wrong L1SAP_FN2PTCCHBLOCK calculation according to TS 45.002 Table 6 * common/abis.c: fix 100% CPU usage after disconnecting OML/RSL link (Bug #1703) * sysmobts: Add the barebox boot state reservation * sysmo: add L3 handle to l1prim messages * LC15: Bring back DSP trace argument * LC15: Hardware changes: - Change system devices path - Remove obsoleted sensors and add new sensors - Change TRX and sensors numbering to 0,1 instead of 1,2 (JFD) * LC15: TRX nominal TX power can be used from EEPROM or from BTS configuration * Fix OML activation * TRX: Add vty command to power on/off transceiver * pcu_sock: add pcu_connected() to query PCU availability * tests/stubs.c: remove unused stubs * fix typo in error message ('at lEast') * oml, Set Chan Attr: treat unknown PCHAN types as error * dyn PDCH: rsl rx dchan: also log ip.access message names * dyn PDCH: cosmetic: lchan_to_GsmL1_SubCh_t(): add case for TCH_F_PDCH * doc: add ladder diagram on dynamic PDCH, add msc-README * add missing DSUM entry to bts_log_info_cat * TRX: add configuration example * Add .gitreview * fix compiler warning: printf format for sizeof() * fix compiler warning: add missing case (PHY_LINK_CONNECTING) * fix two compiler warnings: add two opaque struct declarations * dyn PDCH: add bts_model_ts_connect() and _disconnect() stubs * dyn PDCH: conf_lchans_for_pchan(): handle TCH/F_PDCH * dyn PDCH: pcu_tx_info_ind(): handle TCH/F_PDCH in PDCH mode * dyn PDCH: chan_nr_by_sapi(): handle TCH/F_PDCH according to ts->flags * dyn PDCH: implement main dyn PDCH logic in common/ * dyn PDCH: sysmo-bts/oml.c: add ts_connect_as(), absorbing ts_connect() guts * dyn PDCH: sysmo: handle TCH/F_PDCH init like TCH/F * dyn PDCH: complete for sysmo-bts: implement bts_model_ts_*() * error log: two minor clarifications * debug log: log lchan state transitions * debug log: log TS pchan type on connect * DTX: add support for AMR/HR * Move copy-pasted code into common part * Use libosmocodec functions for AMR * Use error values instead of number for RSL error * Clarify logging message * fix lc15 build: put src/common/libbts.a left of -losmogsm * lc15: add L3 handle to l1prim messages * dyn PDCH: lc15: chan_nr_by_sapi(): handle TCH/F_PDCH according to ts->flags * dyn PDCH: lc15: add ts_connect_as(), absorbing ts_connect() guts * dyn PDCH: lc15: handle TCH/F_PDCH init like TCH/F * dyn PDCH: lc15: complete for litecell15-bts: implement bts_model_ts_*() * dyn PDCH: safeguard: exit if nothing pending in dyn_pdch_ts_disconnected() * vty: install orphaned trx nominal power command * fix compiler warnings: include bts_model.h in phy_link.c * fix compiler warning: remove useless 'static' storage class for struct decl * fix compiler warning: remove unused variable 'i' in calib_verify() * Make get_lchan_by_chan_nr globally available * DTXu: move copy-pasted code to common part * Remove duplicated nibble shift code * TRX: add Uplink DTX support for FR/HR * sysmobts: screnrc/systemd-service: Use osmo-bts-sysmo instead of sysmobts * Mark array as static const * sysmobts: Fix eeprom padding before gpg key * cosmetic: osmo-bts-trx: add comment, fix comment typo * log: osmo-bts-trx: change access burst logs to DEBUG level * log: osmo-bts-trx: change PDTCH block logs to DEBUG level * osmo-bts-trx: init OML only once by sending AVSTATE_OK with OPSTATE_ENABLED * sysmobts: dump PRACH and PTCCH parameters- Update to version 0.4.0.git1455563767.94bb376: + sysmobts: Clarify msgb ownership / fix memory leaks + fix large amount of compiler warnings in common and sysmobts code + l1sap: Whitespace fixes. + sysmobts: add missing break statement in l1if_handle_ind() + sysmobts-v2/eepromreader: Add userspace program to read EEPROM + sysmobts-calib: Warn about firmware and header mismatch + fix some format specifiers + print a NOTICE message if lchan not activ in get_active_lchan_by_chan_nr() + LAPDm: Use T200 settings from OML rather than libosmocore defaults + Add support for Octasic OCTSDR-2G GSM PHY + OCTPHY: Replace '-lortp' with the proper pkg-config/autofoo version + OCTPHY: Ensure we write the phy-netdev parameter + OCTPHY: Exit gracefully if config file specifies no phy-netdev + OCTPHY: Fix various memory leaks and add comments on msgb ownership + OCTPHY: Block PHY indications until it is confirmed open + OCTPHY: Print NOTICE message if we receive supervisory frame + OCTPHY: Implement command re-transmission after message loss + OCTPHY: Obtain information from PHY and expose it in VTY + TRX: remove obsolete get_mac() function + TRX: Add stub bts_model_change_power() function + sysmoBTS: port 'press Ctrl+C twice for immediate exit' from osmo-bts-trx + TRX: some comments dscribing the scheduler.[ch] API + TRX: mark scheduler data structures as 'const' + TRX: use const for dummy and fcch burst definitions + TRX: Reduce magic numbers, introduce GSM_HYPERFRAME for 2715648 + move 'GSM_FR_BYTES' and related definitiions to common part + use existing #define for FR/EFR frame length (33/31) + TRX: make trx_chan_desc static, it is not used externally + TRX: schedule: remove dead code + TRX: scheduler: whitespace cleanup + TRX: replace some more 2715648 magic numbers with GSM_HYPERFRAME + TRX: Don't use magic numbers when we have #defines + TRX: Don't hard-code 23 bytes, use GSM_MACBLOCK_LEN + TRX: the L1SAP queue contains mac blocks, not bursts (cosmetic) + Fix T200 default values + Make T200 default initialization even more robust + OCTPHY: Don't have files in EXTRA_DIST that don't exist (anymore) + ABIS: Support for multiple RSL connections + common/support.c: Remove unused file + Add new bts_model_ctrl_cmds_install() + merge bts-specific main function into common/main.c:bts_main() + OCTPHY: fix 'make dist' (missing header files) + main: Return something from the method + Fix T200 default values + lapdm: Add DEBUGP statement about T200 values being set for lchan + OML: Ignore T200 settings by BSC for now + octphy: Look-up the right timeslot and then the logical chan + Revert "oml: temporary debug hack" + abis: Add a queue of OML messages + fix compile warnings + L1SAP: Ensure we don't process MPH-TIME.indication on TRX != C0 + fix migration of check_for_ciph_cmd() from sysmobts to l1sap + TRX: factor out the scheduler from remaining code + TRX: split scheduler in generic part and backend part + TRX: call trx_loop_sacch_clock from TRX scheduler backend + TRX: scheduler: don't access l1h->config from scheduler + TRX: scheduler: Move trx_sched_clock() to scheduler_trx.c + TRX: scheduler: Remove dependency to trx_if.[ch] + TRX: Move scheduler to src/common + Introduce new phy_link and phy_instance abstraction + don't touch OML MO when PHY link is established + port sysmobts to phy_link/phy_instance abstraction + abis.c: Fix segfault on OML link loss + sysmobts: make clock calibration eeprom default (again?) + LC15: Add initial support for the NuRAN Wireless Litecell 1.5 + LC15: Disable DSP trace flags by default + LC15: use talloc pool for msgb and ortp library + LC15: configure.ac: use --enable-litecell15 insteda of --enable-litecell15-bts + LC15: configure.ac: Allow specifying an alternate include-dir + LC15: port litecell 1.5 support to recent osmo-bts master + LC15: Add example configuration file for Litecell 1.5 + LC15: cosmetic whitespace fixes + LC15: Fix printed msgq file names in error messages + LC15: fix compiler warning against more recent libosmovty + introduce + use new generic vty_get_phy_instance() + sysmobts/LC15: Fix startup-time DSP trace flage configuration + LC15: Remove unused clk_use_eeprom and clk_src fields + LC15/sysmobts: Don't try to refer to fl1h from PHY config + LC15: Remove clk_cal (another unused struct member) + LC15: Call l1if_reset() after l1if_open() + move auto-band configuration commands to common/vty.c + declare pcu_direct in pcu_if.h + make PCU socket and telnet port configurable + Use consistent naming of binaries accross BTS models + LC15: Fix 'make dist' (missing include files) + LC15: set nominal transmit power of 37dBm for all TRX + LC15: remove bogus check_for_ciph_cmd() copy + sysmobts_vty: Fix null-check for pinst + use unsigned int to compare wih ARRAY_SIZE + scheduler: Fix ARRAY_SIZE() in trx_sched_init()- Update to version 0.4.0.git1449483816.e28a20a: + amr: Catch up with the amr_mode changes + amr: Catch-up for the non-RTP mode after amr rename + configure.ac: Only require libgps if building for sysmoBTS + configure.ac: Depend on libosmotrau 0.3.2 (ortp statistics) + configure.ac: Add subdir-objects to suppress warnings + configure.ac: Better description for --enable-sysmocom-bts and --enable-trx + Revert "configure.ac: Add subdir-objects to suppress warnings" + Don't blindly link against '-lortp' but use pkg-config for that + TRX: catch up with trhe amr_mode naming changes + tests/Makefile.am: Don't use sysmobts SUBDIRS twice + cope with 'struct gsm_bts' without a tsc member + sysmobts: fix ph_data_req() msgb handling + alignment + sysmobts: Dont recycle PHY primitive for L1SAP in PH-DATA.ind + common/rsl.c: The presence of a valied measurement result is DEBUG + l1sap: Ensure we only pass PHY primitives of active lchans + osmo-bts-sysmo: Disable DSP trace flags by default + use talloc pool for msgb and ortp library + sysmobts: support eeprom map version 2 + sysmobts: Catch up with the API changes and specify the version- Update to version 0.3.0.git1442932914.f1fb0fa: + update README to bring it more in sync with reality. + audio/rsl: Include the connection identifier in the DLCX ind + audio/rsl: Include statistics for one call + audio/rsl: Honor the speech mode and don't send anything + Add BCCH message to PH-/MPH-/TCH-SAP interface + l1sap: Split ph_data_req() into smaller parts + Add RACH message to PH-/MPH-/TCH-SAP interface + l1sap: Use L1SAP_IS_CHAN_RACH instead of magic number 0x88 + l1sap: fix coding style + l1sap: fix missing include file and resulting compiler warning + l1sap: RACH: Detect hand-over even on TRX0 + l1sap: correctly set chan_nr on PRIM_PH_RACH / INDICATION + l1sap: sysmobts: remove obsolete get_lapdm_chan_by_hl2() + Add PCH/AGCH message to PH-/MPH-/TCH-SAP interface + l1sap: Add a warning about assuming BS_AG_BLKS_RES=1 + Add PDCH messages to PH-/MPH-/TCH-SAP interface + l1sap: additional comments explaining l1sap changes in l1_if.c + Add TIME (MPH_INFO) IND messages to PH-/MPH-/TCH-SAP interface + l1sap: Re-introduce more correct RACH slot counting + Relace bts_model_get_time() by get_time() at common part + Move chan act/rel/modify from bts_model to PH-/MPH-/TCH-SAP interface + l1sap: re-introduce a comment that was lost during l1sap merge + Add TCH messages to PH-/MPH-/TCH-SAP interface + l1sap: Use {data,empty}_req_from_l1sap() and avoid code duplication + l1sap: Avoid compiler warnings regarding uninitialized nmsg + Add SDCCH/SACCH/FACCH messages to PH-/MPH-/TCH-SAP interface + sysmobts/l1_if: Sacch/Sdcc/Facch are handled in l1sap/core + l1sap: Port code to new ciphering handling + Add MEAS (MPH_INFO) IND message to PH-/MPH-/TCH-SAP interface + sysmobts: Clean up transitions for lchan cipher state + Send primitives at PH-/MPH-/TCH-SAP interface via GSMTAP + Move gsmtap VTY commands from osmo-bts-sysmo to common part + Add gsmtap option to command line to main.c of osmo-bts-sysmo + Remove obsolete gsmtap handling from osmo-bts-sysmo part. + Move detection of handover frames from sysmo-bts code to common code + move MS power control handling from sysmobts to common part + fix: make sysmobts tests only when sysmobts is enabled + Fix: Retrieve ARFCN (from OML) for TRX other than C0 + Fix: Process all TRX on GSM Time indication, not only C0 + Fix: Call e1inp_vty_init() before reading config file + Change to new structure of multirate at gsm_data_shared.h + TRX: Introduce osmobts-trx, a layer 1 implementation for OpenBTS tranceivers + Add test code for testing GSM burst transcoding + TRX: On negative response of critical commands, shutdown BTS + ABIS: Introduce bts_model_abis_close to indicate ABIS link failure. + TRX: Power down tranceiver and reset scheduler, if abis link is lost + TRX: Completed transcoding of TCH with reordering Table 2 of TS 05.03 + Add test routing to test transcoding of TCH FR / FACCH frames + Fix: Check right result on bursts_test + TRX: Fixes and improvements of scheduler + TRX: Use received TRX clocks to determine availablility of tranceiver + TRX: Fix, never send confirm for DEACT SACCH request (TS 05.08 4.6) + TRX: Minor fixes, especially handle TOA of RACH correctly + TRX: Fixed swapped stealing bits + TRX: Completed TCH/F full rate support + TRX: Allow transcoding of TCH FR with MSB first (RTP) or LSB first (E1) + TRX: Lost TCH frame detection of omitted bursts from tranceiver + TRX: PDTCH (GPRS) works now + TRX: Add test code for PDTCH transcoding + TRX: Detect missing received bursts and fill them with zero-sbits + TRX: By default, send 20 frames in advance to tranceiver + TRX: Cleanup of channel transcoding + TRX: Replaced GSM 06.10 ordering table by table in libosmocodec + TRX: Ciphering + TRX: Fix of SCH burst data + TRX: Fixes to TRX interface + TRX: Improved handling of clock indications. + TRX: Implementation of MS power and timing advance loops + TRX: Out of range primitives found in downlink queue are not an error + TRX: Use link timeout value from BSC via OML attribute. + TRX: Code cleanup, prepare for other codecs than GSM full rate + TRX: Add support for EFR transcoding + Get RSSI from received uplink data and send to PCU + TRX: Support for AMR full speech + TRX: Add AMR Payload handling + TRX: Support for TCH/H and GSM half rate transcoding + TRX: Support for AMR half speech + TRX: Reset ciphering state when closing channel + TRX: Add VTY options to enable and disable SETTSC and SETBSIC + Allow one or more TRX to configure via VTY + TRX: Fix: Cleanly free TRX instances during initialization in case of an error + TRX: Fixed typos tranceiver -> transceiver + TRX: Report measurements + TRX: Clear lchan state when resetting TRX + TRX: Handover access burst support + TRX: Use correct slot type for GSM_PHCAN_BCCH + TRX: Disable handover burst detection when closing channel during detection + TRX: Process real time scheduling option is now similar to sysmobts + Add test case for successful handover and unsuccessful handover + TRX: Set ciphering to an initial state when activating channel + TRX: If no cipher algorithm is given, or if it is a5/0, reset cipher state + TRX: No need to set mode and cipher for PDCH + TRX: Fixup ciphering state names after rebasing + TRX: Add bts_model_trx_close to TRX implementation + TRX: Close TRX (shutdown all active channels) on ABIS link failure + TRX: Do not send burst on IDLE channels at TRX != C0 + trx: Add option to set transmit power reduction via OML (BSC) + TRX: Fixed chan_nr for SACCH/8(7) at scheduler + TRX: Changed logging of unserved primitives from LOGL_NOTICE to LOGL_INFO + Allow TRX 0..254 at VTY, even if less TRX are available + tests: make tests for sysmobts conditional + build: Use AM_CPPFLAGS in Makefile.am + TRX: fix some typos in comments + TRX: Add VTY option to allow setting RTS advance in frames + TRX: Free bust buffer memory to when changing lchan type + TRX: Activate LCHAN of CCCH when CCCH is configured on time slot + trx: Set lchan inactive, only if the dedicated channel is deactivated + TRX: Show which TRX does not respond or rejects a command + TRX: Check if Transceiver indicates an out of range clock + TRX: Remove extra TCH/HS puncturing value + trx: Implement BER calculations. + tests: Update bursts_test to accommodate BER calculations. + trx: More logging for voice frame decoding functions. + trx: Fix typo in a log message. + trx: Remove unused variables. + trx: Cleanup unused parts of loops.c + trx: Assume 100% BER if total decoded bits is 0 in l1if_process_meas_res() + trx: Send POWERON/OFF commands to osmo-bts only for the first channel. + trx: fix potential use of uninitialized toa variable. + tests: Update busrsts_test build. + fixup tests after bts_model_adjst_ms_pwr + make osmo-bts-trx provide bts_model_adjst_ms_pwr() + TRX: Add missing call to abis_init()- Update to version 0.3.0.git1436860556.a7c276b: + sysmo-bts: Use correct boundaries of L1 msg when forwarding to L1 proxy + Add header file of PH-/MPH-/TCH-SAP interface to common part of osmo-bts + write_queue: Check the result of osmo_wqueue_enqueue and free + meas: Do not send incomplete measurement reports- Update to version 0.3.0.git1423171973.b631bd2: + cbch: Speculative change to not change CHAN ACK for CBCH + msg: Generalize the message structure test + sysmobts: Begin with calib control from the sysmobts manager + sysmobts: Copy more of l1if_rf_clock_info_reset into the CTRL code + sysmobts: Use the ctrl interface for calibration + sysmobts: The correction for GPS is in the reverse direction + sysmobts: Initial version to use libgps to determine FIX state + sysmobts: Start the calibration the first time the link is up + sysmobts: Create a calibration loop that will be run + sysmobts: Improve some log messages for calib control + misc: Fix up testcase after 5a03e129a633637d0a6b57b3b5aa6d6596b938fe + sysmobts: Check mgr->calib.bts_conn for NULL + power/sysmobts: Add a manual ms power level control + power: Make it possible to force a power level- Update to version 0.3.0.git1419943502.8fc2630: + sysmobts: Include the serial number in the find response + Initial CBCH support + CBCH: Implement CBCH block segmentation and RSL_MT_SMS_BC_CMD + SMS-CB: Use GSM412_ #defines from libosmocore rather than our own + SMS-CB: use gsm412_block_type from libosmocore + SMS-CB: Use GSM412_SEQ_NULL_MSG rather than 0xf + SMS-CB: Clean up + centralize generation of NULL block- Update to version 0.3.0.git1418757748.c265bef: + bts: Move BTS and children into the enabled state after opstart + sysmobts: Actions can be executed in all levels + sysmobts: Add an option to stop the systemd sysmobts.service + eeprom: Fix brown paper bag introduced a long while ago + sysmobts: Don't list non integer parameters in the help + sysmobts: Read the clock calibration from another place + sysmobts: Remove unused global variables + sysmobts: Add "normal" actions to execute + sysmobts: Comment out the varpoware options that are not implemented + sysmobts: Add slave on/off action for the sysmoBTS2050/bin/sh/bin/sh/bin/sh/bin/shcloud106 15896518401.2.0-lp152.1.41.2.0-lp152.1.41.2.0-lp152.1.4osmocomosmo-bts-virtual.cfgosmo-bts-virtualosmo-bts-virtual.servicercosmo-bts-virtual/etc//etc/osmocom//usr/bin//usr/lib/systemd/system//usr/sbin/-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.opensuse.org/openSUSE:Leap:15.2/standard/1db86b65bccd136f3d59b32fbb1022b9-osmo-btscpioxz5x86_64-suse-linuxdirectoryASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=0235d58a6a5a48e5c4f0dd9fe1abddd22e197831, for GNU/Linux 3.2.0, strippedRRRRR RRRR RRR RR RR RRh;ߣO9 utf-8bfa3554111e9545a0db9751aa9dffe9ff73cc6c83f4778537ef242049ca681c0?7zXZ !t/SN] crt:bLL gA@{ń( nX@W`rLtrpe;BkA_!@0 ;Ʋ h6`ꈺ4Vk},/Fӻ<ܘ'eKY`)|4*F$-1L|}JH1%_=*Ԋ}? wp֕sSv#6/jKu˜#;xbdL Qƻ2zIs#IĢUG{ﱽZ QYgWJ],%k;QG.,0ivA#3*'ά2-'Ҳ3fn%_̛ź;ִNPdWN7dѫh( =A5evʮsB54J7GmLGg0 _bQ[4ڰ$Z,|8^3gU梕']3hH}L2 Ǯ%0r߶"%,vL0A:촠6P S8fȅC)Ϋ)p&Sz|hA yMHaE'h!-|}WT"T_wno%Hm5 DžBv)vn#a\"F s{rΌ hI6K۰SC F-X))kzxatrcf ԃ$G¨&/4I D_ gV d~6"؄a = 9pYJx ԯ#‚'r*\ Pȥ0իE% Pnv}<9M|b3X+?Y2մEQ<~+~2\]ҌE# R>)WW9t#AU}f 1E=_65%m̓t5ݤSlOyۇ訇A\ (_LqyPe65S@-hؒn:!#XzoP\7% "vPZ7OTAdl* ߰W!F'hq"XAIw|HZ*N7m߁{o΅ڒ#]MЀ1'Gע^<2Š-8PC}y<#mo~)MoUQ4,EHD^R_29}Bԍ-P4BHqq[Xܬ Gk.cg EEW=c)p]"3#; Y, zynA:HXN(*[S@2\vπG\݊ɝU* uչ$C5RPTE~4Q*;B0ӫ:Ĥ{$W\ՕaёTA==xƶbf̂"x+IG#dXgr4kf=9{Tl[ ^L~/l =⎫9q6| " ud"rJ@?T421sƄ^lGk⍫Gb'\p5ញ.1;T1Zwzccuk!f#j 0@|b| \叞V#3` XZG#/C} p<3o^^S{P7"'*eeM@M,@'#+]9n "HE)|GKGm+ͧ^!L?_cZJ$$Ow q(9 ܷñ-m )<2*񼿯t}:Y#+K{G|v BV/{-\|$d6ԛc\ FwFzupf+ } `9UtkyO 7R~볢Ry_I͔}FQX]6H0y;8(Zm)<5ޟP!A-7<:ׇ50R\Ŷu8ߡ~_Ǡvm4&Qk2ݔdgN0 ȈlL p/zLbUC>GET4ǹIps>9AOrO:n _2Ұ &wyOa Z}!>Wxm {' ośIVnb^,0{mJZ"1dO,վAw yq Ԏ6MLnY\><>⃑myH5y-=5b r- 7.Lچ3.{x,5_h5ڂD!ђ%/F?W%?۱͕M*8>2%.L͕{aPHk Nu? }~ʌW;iQSLJ}-D4WOY 5r\d/ҲGW spYxB|֊Zݣ; u\tm oֽZ9r r?o Wy4uR0>1n1G-}m\`G\Ρx[1ACfj'ƀTKbm~\.`PsBYZdM Ii> HZ^o b2_GW@8rժwڈwⲁx|UE }Ms͵~˪qRz`yY$UhGB -\-Jؕ( Pd l0~NηO``ϒ8^C/T~?b9~Li'QS St { nBW"^jL`dr?FFB{9si&{2tOhmI%yYwP\\3GζhZ 1A$'ٵAZ?3^ep0O;#׎EP,H%Pa [h"J3ȳe.`#6dTx3jѧy!|wtynӃ;df< "^Pz[I|Ax&A7Iy~poNΓj?GVeN|"I^49 &HjD!,.v^!H7m,Tʘ3Y9{L@aw/ ;nm Xnͮoj4l%UB)' )XupmqDJb#@;Y&i$A K|= Wq۟k@G 5Nnn Ψh<gBAрlɔGcۡ3IT{z^_5ѱdO]/KH, O`2)Y upWTt _Ψӌ2ǰ1;[0;R-D_u:m/Qpp9˽P*NrB&4?8M{Y*>Z`nf ^P̣~i$u%\:s벯{ ,x$'Y/%@77.=oft}}^wx*뫏Sƃl{F0kd$ +|Њ>]{=ƻC[ޒjrqt(זW7ZH`Yh(~3{|V@ 'L,D3s-wA.Jj$4ٲ=1>!l|csGugz,i)7eW)W㟨O̅ÝUIOlxήY)Ƶ˘Pa/AxԬ$X%=wt5riN6a‘8SdzHLX<"jP,*QbȪA/(o#vܳҙǧ$n_]Jn'k,7zu{Q|%0@af)ضLNgy½nŷw%)/<胰|`>5 GuX_/V|4%qvص 3XUdKCJSߓang&l\t*L"~쏥H:}Vks$ \8)s4vHK~N7e'mJ[ܣ܅)b!M Z 4l"T󫣁:9G]THkI4YCJV=#ԩm\H{V^RkjJ 5PdD@|JLIAl;{3x/ II4<}QqUJ}!,}Dk)((r)VUc~)/æfW[]?zbV Rm\pcIBC>%L]W[xʔfej"OKfN$Ꮭڠl@'k{\8kT`IHPR-xrYvӆ:Cm i,~xa}< xnM{doCvRWO@>HOSg'L|47vBCLd7t3#ҧU-G$2sr'QzAA30p RcU+Ӹ%[ lPbVFcεw-K% +bﴛy*}V*,ftD &;5f ݵkLN.YtM##f<J .^o&:<{Lo#y~+蔞t CTD+.k}(Iq%5JM.Q (grF#|Ib26Ljy7s~B C^yv}BicERW'rczJGI(PR g^oO7$12u)hҔ )?KrZ-p6WBd w'іn E0\+GcRdneE/Ycqq]Fem+Ѷ.O}lr LɧJ>sKԝkԐo8 `:lˊZ|Wù!%5[+ƨCCM&V d4͠j93Wr.݂W̯/#I ‘'Z /Or+k2bJ涏2 ⲵy^Ƥh(#A/T7,lYuZKiE,R5. )Q4[É btf,Z ʽ:pDvMRE z,$q ;zD(4Ub~¿y:RiMYo։#yR: 7eê2:QH%[H>Wʚ&?w[/?Ն5-FbqjqYrPr0\ j!z퍠AMùe11DlOp;ɋ?8&4 }RGiW I]8/_RnILfV*gJpPQ *JD8ҫ *~v( rm(b^,+5ڜuS|3ͳґQ 4Q.I4ڡf0sC)RX`J1o`N[»t?v|/b&q!*ラNӤA&頻WqY5{_ WfudǶC76Hg`7;mۗ -ufLGu,p%+_ K[Nrt L;*$aȲk.7p_jUCo*DKPu3%VEiJV;0 +sw)ZT^b2 G^KY.h,)8L`N=Wqc|L C( G}c1V:ݚA"nd")A0Lw;Xcm AӧI.t֩AOױ;ܸu(̩7nD'ǖ!' fRv $'*@@Y>2%N#kLąsMrcDLNgԂS)P5Tnn881{VrR?|3a zy͙g@<Ѽ>lyIX\!\t8w8O[NlAÈjQ+=DߒX2NlH3d`%6eKb}u^q ھCB~BgzeL+ǢLu~GhZvg@ه*2JV T T4 qX˱WO93 t2;5Rca(yEIڿ1zTgqRVOe=޹^5Ŧm$oR O%Ȣ4EQaRڡӤ]"shX_F9\a--}"mv~xp0g' ^Pg~ 3.'r^x+K-6;RG^qy00:o, 'EFzl!FpJ&mё./tٲ>Vqk{T[` uNl)l\/E9i끸Ъ[wwyE 4!憐~C0H'xZ[OoJ.0Jiφv7 g &!8ݷlMiMB}^´RY|KkFKU371`ENۗZ$uxyX#ak9"IP^:P~o3e» ;lMDWKmW0~A1%E`3?yl*nQ΋)ҁ;QfVvp(@'j^[1,ߞ=`4@ؒx{z"SN$Wuo^7} +T[_)\+(pmMM('4yxD%'-[1 X!=rZOBv]roY4Ckg&tyg#9( ucN6`O}s'>qUx>v6Õ IOhkj1|J'":}wZ5TϘL,Xߟ exIe*Mq1俒 Qu؁SLC[˪IF~T>)+#i,5Js1=jیV"UͥI/@L:g>Jcop}&$:ZWLP2/*Lj|RqC0"5',XnP=OaDOߕo9 .t!_b]L:Ruùd CBRQ}Z7;?r"Ä7/foq~nb3180l4\. |)ǚc* XZv9h~:Ļ-. ;G3\i8hLwoIцZQ'!hsdUH偱'/b/H(@}1h]_1hcxn-w,lyz3eiB0Q*`U_mw6,K=eЯx/03¼Ӆ3 xL\y.ypI^1Z6|exK0v6J}v @-WI \sWހ]Q-@n9~$zwUJ;;wֲN9[U; _(!v3eK +hBUPᖥpQ뤬ZkXz5" Qb'?AۅHG?M`qoo8b7dȢ|m͸/㣂4VNmu/g]g6V}z{;7ڳDŽ-Z  1TgšDd Fi&)M.4Rf'߅\6L-+c3=ڒԲhezNgʂ CaYeq5%I+;A󳃨i2 >>_/ gI#%^1rs5YJ;Ĩ% IxjI; b`WM}BzO*C%pItb-~ P6{jF9WF`RH{o,v'j:pӒAo:BĮ['-I*c@308rbQh$E+X(d&:AXBj=-y~-p]lQ"2Ev{ ddoz[瓋S)Dխ䦄[r]++ypQ5vWԯQƒ?VQ|JЦ[ :޴NكKfL͞cT^4W% S)Vr xiBYpbڕ-aQ' ҩm7N3ihڛ =b`?0qbIa|ʮbcyѷ]vNľ Gn 78Y \OuTb"Ou})몔_eKqˋpł@7ZkEb8 |LQczĺ8~H5 ~R-* \VWzC- wg:nvwA|?56H=\|v*cC t yiOUWZg}1*?kۦMRAN7ORQu~pCi8 v%So||RNHm&.'G$]rdB޲L Vs+k7Iz? s~ψz=NQjU`Ǫ` *;EC)23gE\\Ku#1&$ pyK3恝_X\~q(jmHG0%C1 < Sa FјXtdb`-p(y(n 6fČ|s`x3G@{wJIsnSyv=~?٘,<MK HUn]h9]ɯ#}s=ۢ~C)aS^!Ԇ3c`eY]v?;Ԟҭ$zu[ EV`] 7ُ 1)k&[fzy`Uc|ƅW-w$D$|A{'9qL3`G'2dpz?AI4~~44jo䷏>\e |@I}zB/+(B`2o9Ed"5]PVY!֕.%$4Ņc| _c< !+ Ѡ4,0 a2RɳX&C٦_@r;١t΢ܘgy lLg,Y$pKF|jL.dqNS7M"E%ċ 5@;NF[`ȉ< !z싪qIqC0Yi; F:lٻof*<2ۇ9e jȿV5Fc.kg,7IE,^]_N-W7'%*w&-ׅcgϒ|pjYlIHA1K-Э$pPދ]ؔZ|+hϑwZ7:Od[{=dhm6J|ɨ?SOcmdU nZm+u8rn. k$pM*_oo)A\g7~C~4^#å;7ă?^]t'[N̴H7^8ƁPEG\r R_6>/]dMje 8O&p*k$duGn %:QlӊL}^}]7 {#4=D:I{V Ct>j_v- E#}1R_`~YP6tkȜ$f6F5XRLjO/G`Y[ڙ|vM;."bKa&nޤ!BpzďvrObcI6 Ws(FR0T߅޳Ido~eh?UZ:VԿ6:s)< I=JK+9">dtro Of v;F+It'Rl"t vYJ+e"7rqMI05dr#-0^YmѡiA>)gQ@ӖQ2U5O3Gnfo)OxkmXx:; HH[{PJeKdFU< xXA1ȋ3 =+$ܛVH >V+f`\ZHۼ^U >r"ʙ /@hdF]Xךj^c"kF*f4]Z˴SᾹ?#+S_(-Z:1Z1jdv N|$|jO XgT|&Q2K)_8=O*o(nPߦr\A:*`̻BC5)vźBY$U~e_%+i&_z[J*!AT@Pk5? a\01ՌN)&4)V1SAR\Ϸ^s-OV&i@2up7> C-IX- &=`51֤_Tw+ V4~;+L)OԻ#*=Yo-c2B_<\GSU,Ba]PB:kI3ťTpX:^(m%xtP^Ky=G8x,C!;"1~G$Rsȉ6/гet[gׅXrl沍xňO.|}ZŋH;7s>CRTFӧlXSz"s["{'V;46^jFܟZpal5]F.sYo(lk$ьG(;E>m w>7VS.5cWBfvΚG}tHLX\$r`]|T'ֲ߫̒p;yZbfh>R#oSA6i/4gc/%(? C5H3e?u>nQz ]lH ϓY4` aܴOC#i kYYOHֹB6}^p.5_vz=J Df,˺nnQo9;3J|'iʈHxO̚?1{sKtO^ڷ8DbJV.⡲:u9@T)9/-ޱxMVw@ZF!lIn #k/a DՙHE8`vt55@VBMްhz-nyS"z_p1kP^/ 00Y,z" mX9SxZ ,t=ԕB1ύuJQ0|‡^r`k ְP}h+lJbgo6puU ^%!A`Lu d:uU٦9||e+=WE6ҷUE)=P -||澆jy@Y L7ϩ|uטiW2Ե]b!ٖ.+{0 \~<4j I,%,"jO]c13̹ԤrdFnԓ:0A3FPv8m7WR4>mՒ t!X"X?-Љyp۴ę ũU7Q+<\]8;r0ٞF TD/ x9H%UBA}LH'[ePSqg'Ke$ÒGXvL0EC65V-iip2M||\dډ-;z5<f!#Al!4f}}rߓ-좉4LA%Uj8%x1[GV͗"## eN}'Hv= vcx)K׷p&.[պL{ ˯zi߈iDw/`Dl[33{D*a?YF$NMzr80D,K"+MT+ 0o]doIN"[HB(ޢZ!aQ:&YSZGtպRv' $~3Kn? /6?}Idco)[==8 `z2<4V|S^ܯ藂۴3$D~jhc&w? t_ڜ{s-5D;ۖxWT +lt_0pyayox{iܼ=Ztϴ'D! C>pKg]DXmri稰${GEʻw ܣL&twT<;Y^ƕ u1UNսH+N"90GwT^]DB",C̀!Qt1dmV8ug%ډ'y90Bmٍuz `L&t'd 4 5YD2: $,{8tƧMW\];y˴iÛjXO;akY ҏqC\{3GWކ${ɫ5F(g"uTG0K+giu;ݞ4@x9X=ukCVKCDZZZ|ةbaˍE'/=IGկj Mhy:Zл.6bS.N+:AC)S?#Ū1fToS $_ <P>a"(da 6 Rmufqr$ Y(r#U=z1(Ԝ-Qcn~>JѼrG=H:za'{mz&;@bC| Z-\`Bt$* Ġ['Rt"E~i98IHŚpw .~tp-":%S-V]6~1fh"o,^Je< #aA}$XdԜ93ĸdÁ*c3L^ qjx@y֜k.iPbCX f,d4xrIsë(Dp‰m\MC5f0Ň=gzCvx <'~*(؜;U!sJb6̳pٍw ҳ},Ր8 ki煏UnуBgY_ۨ=ElDZwXeZoPKg7C{ĂRXI=ʙf{HID&iIё+ b&U*r)(]ֲ^ň؛= rW#';[A hnkLu Yةg}й8%ӗc^ȕNRŀ s,HlX)xJn[MOPlo I4;A5KumnÀS(Y# ĄCwc=֪`iE#뇽%JN.VnŻOx4-=;yw Af0e m؊||8M޳hvn,gGjE^]Oއq2QBFAp*Oɬer fS\y^vx]mNc|-x+U1E]8u$fM 0 gLVh!jffket:' \>t/z J(VwnH24h(IMSTp v2=rrhQp*)r0@s$fޘtGk~K_ ml**LUYg0Y>2/ȶ/WWPMܕ܄1BCbYWTN Z|B>bDs&* O-~Ν' QuȵQ곤zs:`#(ZcU%ZF/GCe:1BoMӴ @%6ɀ&o^U1+9wyW[kj%la 60k}xdW{Zoox(-1@Ԗ+$ZboPP&e UuN ;ccQሲ Rya5*X\֋o Ԡ߳b@b.G1~oqK5A{m &z*e&^%Nf_dJj ֲ[qAdӅh`:^e\U/Alr:}bF{.꒵lA=zk 3T.'6I;')OgWγزa( ̽&hŏ:ߌ@crߛާГ!4Vm' ۤ'n9y-4ŵ=iii1LKߡU|,5d;RlŻU` ǧJDݼ)x d=)"ՉXB~>q_*]!іYdܬXQㇼw̵sDQH\ };!Cn66gREq)9,F='P}iyVg؍v_b9dMU5!iy0`T}`&yoįƥrM5C$ԹuP-UN15 O;S!(6j_g(x[z} i* R1?aDJ>=aT)]J[I'WJze FKf`\~T;*lɩf֯u!|@|:O aR:9EK}Rd^P˙3ڐ|k1=~܎l:[ m;]}Ks_Wl"9wGV_#"%L\?q^|pklSS{DK]hK'{0%B-wZ:t\%uqz>&\'1`}L _A{%W]q#-~wF@"xg}M|VWC:ٵ*b3iMJu8Eix|8Ţc<BpEsn^ IS(>KS|ws'+@ ÀS"X4ƧH/yɭxkvܳ-k0zfvgRXp9RlTtrN+jЦ~ϛ]WiUF \XO \UKg0A47-s{lFD\hUqE.L_ s`Gf/ׄ]KhJ ׿Sq`V?Ԩ-VFt3DY +)=|`«HkX" E6/wpa,w}"HO<~:̥.̊M2^CB}G_XG!u{=k<-/s5U|ppB1$p0R#u pl!<7cc(DX/b]v)#v32|H}42܊.Be 1-sϋ~k F&V¯EH#b%- ?<J-.>JtKnT\ƺ]5,'%HT@8MҪ~@ZgܢI^!oEpP[wS|8@.#AGl2aFHO^Ԏ0K=óG74p{ʃf}+rDZY9^Ok _&QjD7q5V @T^Ϯvx!KJ ǟEh4f՜dJ5X:/?IJD&ksc@ToYrRtH$Գ/RF1(M^NrtBJr_oq"ZڞX8YU/u;8273\@(Tay2H ܗsgXRZ:[L_/` XaC!8sݧD(>7dە&QcenTyRόЯqvD,MvbUä~<07+Å\mD3 S~5)l%7DKdi+yY,{[0+ t~6gjOj.2M5Pj*L1&7?Rd4dmaDLWz#Nӟ m@yk1=` }cfadeڕ3I#$ҧ+_tp1el|%sHIX[͑>!7wC>O{ Y4_p1 H%\ސp9pJ.\qU`WRT{Fw1檿ApOd[ZE*bf*J>fu!#u͛vmC/Fr`cqKOChq+;&nhE`:[)C T4QvD;Gi,3Ad˳H_bc{9g]0b͸FK i >͓2rk@PqB5hlJnuZg"ycBR1AF6rx{箧Cʊ8Ŵo-LWMldD)IGd(S,4OW2IK6ð=sh/}Wtjrk,|) 4[4[&/lWؙTY7g?% =;@c&~<\*&= Qn)tH'޵@5 [bi8|btv[IaBY$ j:5U}pͳW߉(0/6WpBĸMtMi+~ky_ wab_oQjye9=jxv-iKeo<;[I٤nV #V,H5j;r N\0Aq+U3=CL Cv +}K֦eBXcpjaҬ&.VˆƨRiA;FnDHgG]^4 rM. @# itۿK4-~Γ8C.+/Dv/W 3F"-Zە¦C+ V2d ^7[P]yoNc3D'+A) .v)!:.gT z \0S{B&(el}4r!0kN8Cdv G88( ^+K VRš_2 Izh[)IH|Fٯe7@qC?+`Z 0+-+'t}R0&Zv[#}( 6G sIfPS h暈k ֝Ċu>–衱_9Y>)?pqg6a[_v 6O0k=ZǣYȊbDZVb7iqȋgLq,m%6oÜ ]S/atGȍ{ceG?+ > dۻefVa?T{Tifk\$G.(@{3YB!dkT"4@;m jex 1sd<8ɼ|~4D-J^)C&ŗo,α;7Mr }w'dA\#W4e)t|t]:$&?edz&h$Z^L(Rƹ%,0Bk=< ;fy_wؙmPF#b_-c.Hg F`86j w/wE27Pem06j;y{PX1g.-(;^fQ"_hm?pitR =[b>STLNDf+=Ɯ}5}t%ٱ\- Y҉[芔M̥9:.M1]Veb$Z"sNJ#fOf?㵫<2,e708r20R2W-P~ZgM I﷑hd ySEBY&38? ;d&ϵ>R [G,ciP׺1S{!];MFH`3w@ ;b!@TP4GZfқšUX 6|vQwx[r^*+UrVˊ/]R%vm8lʊIxjPk)|4Y黹TQ K" (Z^QV |IۓaE da@EɷU:սgq]BrɚѴI*OK^.v!x{qYTssZqV} 0X1/ݒr5JݮXDATpW;o҂Уm^z$> >pƹs.pܴa40I|9YJ d7K-6$b.V/DNnE@rTX(E4пB ngTX6LwdVGT7|*9nnW×i4 '8#_H5[)жNM q`CBG{ IPl@z+ħ3 P7[, ]f9=hū;ZY\z5!6aCuc}!LgT)h,:/>qCA:`]CV _Yh-_PԀ+언m|~֝yޤ*Q:h_ľ:^HF#K{ddn!,?tQ W)r)6Bq䌝LU?QS%0njkH{|6!FP2IOKc!~Ao?{Z͒>Њ>g "^';UZ"&:Tٵ}HRBrrO0,7gL<9mEЇ=E7%uU' ,Wӹl+WԮkp5~2 x`$WO홋YsL$898͐DgC*UW(})uLĂ*RƟ{dCSPOJrvwn|'p; wXl-aUJҵmdj'?'".ѝZ3v.9td6i=\g آg45/C#OdSj'@Wmogia-* d]gR4z_|!ӗ yxCb*'>F OQ@ 7EXc `o))q80ID!]P={OP$p:Zsd{s)휘S쵤)u`X}%;_.[}57xF0H'4NXU-e7))&[y)ڬM&̛ү˭S&h4VYŚ Do_ɉdGBH_ UY1,!Tye\jdW6uH]_]9R4N۲l0_fcUX=CZ΅o3Z?WxN%'eC)>CU\RLƋ6`U_e0=1)mu dbX=eLϭyΚ"{^6BBCs@O݈u5U 6-+~)W :fD^j豻N\$5f=@@CB)pJS{RF,,Xu}2<_4N6~5RpqZVE3 11>4;f} RT΄- 3,~I0eMtzm8 ?}5]IxE s'1]8)HWnN,&M C0i*K@iZ] ,т 'IyOP€H:>:2 M;J ؀^y(mY^MΝP 'ZysqUJM3=ﶁP:M3;){#hiZyzBt_Q/Ja:j`\9 z;~駆}>9tVb#F.vuf5A: U'>k==rҰw[]kC)~#Oyd.\-fmig^ƯS%'@d HMI@ے|эqΐG\zQo#(g9B'Ɯ:52^ᑙ Caw-'UGOjz:$@ȣ,/ KxoML},ݜ3  'gove`-[nnFRm9AA"їony^s|2ytW=pC"Col{L@Q4Dc]=&݀Pl塴3b>*LAZ׼0i;tPeЅTvNx|=#y*a'10H)>tH!;xSbMQ 3ቷB2z$o`K7_%Uݦ >TkS0%v| F}c g8%Ξȟ3;_}ӹMkU>"rQͣI+uR LR0T!XY .E}om t D nQ*t(j _+״_Q֜wӕF1ZhJ1#;g;#s "Q#Ii{?Û=Z9S%ڛE^}'.`brdRj״~+PM4}}وJb2ᬎߞfC0C={TTM)R8BEm!-igs sUr d’љ Z4ca$m8<%ƷiZknrD$,pd_%]V*:YyҸJ_S3;A42ߘzGHɪ,U DŢY~DoZf>UX|Il% ꣿIouH3#7Ï*ED) 36sKb Z8pNy%{6MdXֽ`I+#vOsl6+8$|9W]/. I(\Up$܉8 zck ’^r%VQ/9`0|θmٜ;^% (c;=kz%M#;ȂĔK)>l"M u0-H\TV1^EN7Fd7A0굡{mEݚ;wDڄ,NUʇ&1m'Ɋqf xvSV|Oۏ [b7ͮD)9ѱSQ'9L]B΋[O]<8v)MNtppU d+]^",xg:5iV27YreaʁDm^^|/^cjؐRQͧ†!oxC3|b,k;g3Bbp:S_9Y[EPxAEl=6PSkmȗ?N0U=ۜSQȄmf/@QK(p}MRiU6ƫ m^&y}_sbN2PoV00 F{(cNhv,=-9:&(:6p`Pv@ihfI2zeɕH kyqB-B+SV)RY (}Π_[^b )E'jo{ 2kLԼt_JiCOg,<-lLo\ZsqƝt:{4|ߕћYe+uux}IOPevߒqIxH$q$0%A-ub-pondjn֫L}a$RڥHCHH콖ˆ!{r/?.M} &<#I\[]P!4vҧx@*(AN SslOh,WW/Du*RÙ67(rjk1oT*'`pRmϕ_9Mg-yIa^\x 5ަS1_90Lz1'Rv1Fs40D/]٣sҾW < [_w hք֯E4y!udt#)I‚. $*5oj`NAg ъZUN/b[T>1ѹӚ]jg)MUf&ܡ,#ebUx{OeW@69JS#L]?HM4|rD5aяE r1MP=aôu++p&*i/o|pWJnǢ o7Mj>J4ї2*or:ǹJz.LzsîgB(2ŬKB| ;a(_S~^s}%B,%^kTݞX8|K6mhvZ^Wln> j=G֊0ľQ%&SSfҽ&rPfޅ FSÈ{L):4$ 5x/p$|uqfAQ Y˧H\WKzaA̠"RzBeVrJ}-0L˜܃ʪuڌu8'~,$)<0l1?lHQ$YK`P׌w%?/9iaW4T-NH uBj K?jS/R`-_#2 j#}>d(eP R&.N@c- L DZXҝ*a ;_؉ M0=_g+^r{y{:!|Dy 2|(|(0m0St +=o3_ v  ?IC ]z7֨2ަ@byz\~*Bijs+YOVET OiTF9uAc5Q|̀ر5a7yy5oYх|9Od/8Owm K̵81*$@acJ߱G)$z HQ94ܫ{58Xզ;8cx |'ჶ̒>9ӭ靠ݕ(Ϗ.u ; ~4qK 2FA'3ӾKb[ #YGY\T(8iLp!Pz6Bҋ58BX0B/) 6&rU/w:r"@ #i V'wt ^,GFφ-Us_1|Jd":I%SO4M#~8uZ}*ijWg4)`;#)!c]Jkſt[q$Jܻ'$#WJ? a66u/xn#L,\E24΢`ci$J|'gePX5{N*a pM)EIA9,B GvCX$G͠ vZfJzT,Ws /lYs`ʎ{},F<@Ƿ)SIcweGB==]B5:N_!0ꉎG lM::@h?#;*b5[C2|M\x)w}N+LM}mG2زlը'iQlh,V!1|tSDN<{ {fiwG#{'&EQx:_gk6O38  +gބ%Qm1OЪAXى"D,y:ᔊvIy~د& )ڛ {%a[Ƈhąd?J3>7phCª%Q?T[eZnRH͛\h zqU?P :arF>Dl<@'*_|D>q'㉵wRy@#Siums<,5,E,bz/V?Ү!y|rۈl"oɩEpQ=_ɳԤA pVqn+Yf'=qIX>7.N3<? Bߤ}asT O _i؜^4i 1dWKo/^30VݝweJYYv4V߭L2zuoy)K=ȧzKݔmN"5^D87:Bx`7ΐΒXtZe#ffICrbѪ#>wLJ-F]eZDS;O z8b8Reny < ;h竒V2%_ ꥊdqk&a%(+{#'(b^)|Lµ28_0@ﭗW{d@;x!]CD3D-F| q1ٍ_eGy61wWBΰKx7 017jWc 3Pr4zsExHuܫOԳ*ffi8M(7+)ո9 =L$<p{Cs#p_䉊(b1q8\I)dx<0y0f0/`DT΁yUN\;VߐB`R,]uYD9V|jy[~# ^`qb@oI(f\9paPHC y c:p| l&OdWrhLF.: U.M)|}Je"zOm4;! |y8~@O MNa0.Oyg۟b6 mB MTXd:ݫ%m;X1 T7l睺@`` Z">9)F!-Gm;ùP+_ moS\mh͇N;pXRcImU0*h+ZQ~4t~ufڎr{܊ H9.Kq횤40mL S/,QC"&&Eߐ"=CRֺ|=K+*C!y+K-~rRI䟛ۙ$f}sOpQ;;# 2`c,2Rq >F eֆXhR0ɿ(S}k1t591KO/PbZAݕ|]&iv$lHqxv1ʃLUdoli1xk6ʰo'VjERxxmkQK"G=@}&>#?"tSw:T0VTXBg/APt=d(іmFIw>SxСoBJvݻgy==a7n"~4o Pj0;Wj}VX2p1 [Pf:GG /Pv5=3(hE!6v]m }? ab/Oi;Դ.^1۟4GRluR2 (yS% u2DPuW"e>$N()Ƕpnؗ]e[H`go"S%n1r/p> A)v$Ľ} \i v88\9%EQ:ͤ\xBeֱx;΍l8ykuZZGh,_ ;HKCOl:pujͻ6I(ͮQ]&K`魇Y1( pcݿ ˾zbs=pa?^vk_6_9&*;~1IД89}kYrDdtر:k'i #hg$)^s-XVQegÍH.&ͷk}Q-i U'S'Paa'kCZ剩)jaf/$hSr}l2sssjT+kl{$)\1gR7t\=oz|l.0lG ]5!:d8D3Iz:baFsX7aGڲD[sXFU_Nkw`D<7\;;OS/CR\R&xOƼ.eP0Ou?lo:#/#=IӼ9[-lJc:7Lb?5K?4hQ|$H>Hz"g/z.:@,b(5WH9iK\LJ[䬳҆K.hO!S^pI\1Cpfjw dKxI`Ҧ*dq P[w u3 H4{1fc(\݌ UH9Qsmce '_@bn -.Vn*JeO:‡w8"nnK&[:Agw_4zph{A|B{+_dxIK0BqԨE4ir[MQ6c`zqy>-3{F |sH䥇{.T93UN}n~x@!Q6KN3vͅN?]+)OB~jgGmNj2YQEFH;h0CHl],zlK~0B> KZi,Au;9+FEN-¸dXҐWɜE|kJNɃɾ VQU4:$TiWJ vPE䚦 e#s>A^@cn+Hdye\9?h0;=׌3#/-1DO`4}?zhh⪲9m1V ϽV?F)Hz2ĵ'1Yoʃ䆅Mop~V_irN^#OV~Juz)ՠ{LC$px,)Xk;y@w{*f7?U.~Ͼ 2/qF@"b 6zSOҎSoi9 d817iҶC* 0bFb,65 rO +a5 B<  * c}JTbQŊ_ KN̼FvIgFYBgp[[.UAmf.&5#qR`T89GbJ!c"N%[(̶p^I¬]7 wgcsY0oW`n i wRn^cU`劍2ғ&>])&p7. h+K0Yf=kl"@n˾V/m-=܇=֨r~\F~y#_/ٽ1&un#'qX]yQ&:<,~Q:C9r>@>_iR|&8^-L1Uǝ;J xiM+JNg;F;5_^o UpRDRJjgxk}Yq1gC;f0*e?7̽.{VP}\OFF|H,皑w/83܈!C>p2=+.\9=Y$ޢ$(8gvOe%961m孂{2.#C}u]nܱ6UDffLqP ?'Ed ,3u;43$U7v逭w=N詂'DKW[ 'CT=RڼڛuާεPw ԛ7%±E**v]8;GLp5>Iꪄg3tcC4ho k+ifH\Lٔ !,*70wf}*VyB *YJ$m,eXۓ'­VYrE24\OkgAbmkg|q^]#ҥR;bK6Q~s`YPx͜f} r #<{ K4e(UJyR ^! ~K\VIwfc6-=iH@Q YlG<[aCԙrqU=k((i5g`.u:2p8oϷ7boeֹrR)vA%h+gk)܏V#8RItoD'/i$,f<xJ?KF;fۖ}mLmΥb׵}=Rԏw1'\$T=Zp\_`~ : @Hi^J^gȳf0=ApWY]?ʼn 8m˻)%{R`%ќZڣ'_Nc -BX E:PHbN3sൔ3 Lƚ5r apƫ_ |*̦z~r%7V՚O2xbWX-60ŏQ@ 6MsY[BI/J?ن,QW6KL~jO+'aۯQ{~`zio'i#X=DEtBK Gc@_ /KgesKPι*EN2'n >]Rm&3?#ނ+3!U;@4yQ%+Q=6 C[˕5,RT?0/8+QS1R&k Teg?̊IE4U7]m%5,eX•>vmnr@aq"U.cOlxvZs15[H]8h6>U@`:**Ib~?I+U|{YʢYngwC^Aa}dKhAcA_Z*_o+v['mrϰWdQ[1@LC S<27/!NwH23Fj` 0(qWQ Nro .AbG# ,maΪ{Gew:[pY; .r4z( js6IB:ڿK}I z6¤EӈvO,ۚ)`Ǽs?}aYțd"zi ˱F$ ea(^=.qNx<јj^sfZ gWQzB Z(h”bȒNٓX $\kQ5X)44h Nsan9\sWN+Ro1k襪 t::7ݵjȇ 7R^[b\(,lx SHST~VuD<'hg].2\Bnߓg2m 0 Ɵmp6ZVv nfZglhUy@p|+H7PUETsÄy>x$pe= oc+'{JvumkP3z&YwAKY@*O6~|k5ƅ+6x1JKm3DaC89(4Kg?>r |6[ӱ6UK =skIb*ȯD"k|U{1ní{Lk(ei qPVKX\姕}⫛Us(p~mqG|ӆT_^4*D 0p4‰wa8>4"tfkcQu-$PQ[b£RT)ѽIQvor&_)L_[P"4G };L("q4MOS/ '$\NDuVvC6X041hNcE? {p|F Iӕbzy| sI,C29ZS+ίӋ\;xJG'*`+c~Zs?s>t=; r}PWnp_wa6j{7rf!Oc~ lU:g`˓ߩGqME\50AT,}yoqcwϫDXPx3X0VBKIe'#A.}ORoзz6WegzrsDćX'\%]k7Ij{^|xRXF'`[*{8?R͑RK79ɋ0?:[QC$EG0w+y'rVaK2. גHH\kXu2%h2 ?R{'ga A02< 끍#Cwhe1Fݤwx?wϓsz̲ݟYf/h5 \hYC"K[n 0]voUz@&#j*kX&$Q/h@ RaVy5J g/{ݩ# qiZkӖ僷̈thK];~OQ $5pWZO @Qx4eXX"HW$]Ir|W}nwe{$Cq wҙӆ'h.rQ*A)UyB4,_0wB?ǘ[IN//e~TcϛnG6P&:nO<xhlkT I?Zl5Π~LuJ~\Dn^n2[==""4o6γ"ӰJ[TxMQl䧕W<`{DN\}2K+8;2P TSYr ¡e;zJnqZ Lؓor~ u9 =W ZBn-ThV.IOlNhρK(S+/"6×,B6A| HbM`Pg߭UbY~`62L@7 pI:YPAe35 #07Աbf-e./_P4bЦ7ny4OGZRiԚy%}m0Jh/؞H9SpA4F; 1 uCt<_öZpq ,avy;]P) ̪5l %_.M9y~P\#A, Ϻx);BӱQ: oZ.pIx9fJWgpD['6|R>җeWOEEF~Ք;'D C,Gښ SӹpDn/8~9l F'mvdb"/f_vZuj%}Ɯtwj D]pWI3ӴV J$6 ? ̔ 8$<Ӏ!ϲOqjᮭ2H}Jf ;P.W+?HʦYY1fye9HP1S-q5\H@f!YxnUl>.B;kzEc ,`wM_y8g3×}x"E o NRsa6('&;&9ӻ=eB(-vt*MHXV'$r?RnI]$61.wݼ1HxZ&7 įQoLuWBA(Ԇ^YagJHz7$Hƺu/>y+=Xt{MC!dT.o"y.BXH/B|}򕿨[p55>AvOIvȱ;n=6 _-9v:of{]ᓣzeo,A {2ӝ:[+GP, I+q֢Rb18iE W=U T" m8cp,l[C:ڕX8'njW o'+Ҵ h:U)R")WFA,Fv;L!G%02d8Tn-@x*CtE=pdPSq8T7y'ܧ.>r;U] kCtTN; =XS}« jq9-PU%tg_1W:OBKS3W:mxOull] xQEP:߀kѐ4rrC%7Cg0Bkzۜ;0ҪQ2,w*trV$c8xыiּ@mXSUdž8g5k){EVHU*ejipm읆J DF?#?b9ͤ^9y2}˷sݶcTvldKX00YTBFDzlDV_a$3~_k$[S^ }5%i{|*uIaWrϰdiIP'[q:^zneUDr>dI.'ZvrUd w\.sF]KJ*t|D!lf|ȂFn`{l7^×JR6 uvpPX!q^m7||aG&b)x$YD!I4KUaLIvJBpc6DS#Q+=m lsMa_9[_̭?=6˰qwv'jvX2BwHhP8 fI3l0r(<:fW8BvWm-#0$r]RMȄ-1雥 Hݙ7IVE5-1 Hfm,YedFeOEJi4KXJEq_;@JUʘD}kWF|a ]´.wyж\jLZj9q*`Hڡ8}u ^Uv&C)ϻ:b!?4$:3S/X%y$J=f7?YZu,^=P. JMwrmX Y I COנRN\ ҺvJZ91p95!([{5ҰpH:np_HKs/\Ngd',M~9 9dB#An[+2 _lճto>Kl<f 5Qo;vBiy:oD ߫"kf-Ԭ p@!-W4Qj^Iۉ1!p,Bf-"zc \Q(pxԱ#ࠨ!aOx߿*)I&2|-b?6ʳ: 謪j"͆gfj!*@4;4'.#pUCq)='^+fTȿ;}Dqt|l(J91-L\R$Ȓ0Š] Ck Opj9Z)~uW]$#v5ު7/~p)8`CȢc8FxDn#@*"8ȅԡ[,Cy0tb -)2dԴ5ǭ'pV)^P]wq㕲.c#o.)Z2G !yM"!Oh"0eF{ȥɣGfh 54W'jBS#6SqރgVr} W~j7vJ 2Pnկ̀)  ?epn1Ai8'* reUB ED^8Orct6@[FI)zc*,ҡ_ƒvc%29-X2|˚'jqߜc`BH/~, +gAWsZms 9&}zԁ$4y0 YGMg#őEBf* ߳Kyb+Qo߶HнH EM`}'6_ށeSv o7deh^'|"{uWw|s!D10aL#$`0hFfK' vg_=6@$`9\nxU{޴76h:Ax+^딤QZS޴9(kv{NJ=U{m\#"{ xX2+F>(DQWʣ^Ŭ9JǕ@ȥca((~ŲAO_;]QcnnpWIPi*M,W ~NEJ}-ӧ.1h"zv#H/ZL ):VʫV5nOobJҠ0.azOA'5€e~9Ҩ)+ʱ̬o̼.=#bU5&a2R;A rgͣA@BIǁG>c+\Ip=gJrG". q6ϬΛamv2xӃt*4ǏB.c{us&im s#NB^c1>x jƉ[/R|z?Ah5Ԙ+`^ co5W16?;>tRi@38ӣ;&]WJsVPf̺e=N܅Sw%!%q+I^'gŞ[ ߕ;,1rXZ=+]Eekxhn,&Yh`^)3Oc%:8SkQ;O3F Ux N&;ްt \|Lq,(o뗲46䠿!r|+ OQW}Yx2J'1xZg X{O埕^8GjI%?Ԭ[(H{8ecH:Bc0=I zƝ_+MTa?"Ja[۠KBq]캢z슄=̱{ K)fOd`צ::A-Z$G`X%8K(|kmL^XF%<+(W˃ca;OvM%5}KP `(V*yR/[^| 6t~C|$8[c'Z0Hw|GΈLnSK$ĘUcDŽ+(B(0 =$:?0k7͛< &\xn!9̎(e"8nOZ%o;oNxVwbV1U|tGhllBvk4UF_ jԤ"F5Mr^Qp\!I%3O^F&U*d/'185%l3ӗϋU /i.o&8$*Ͱzl xZ}]4f#a _Z 5h HqKd+0zk77D;[J6t.K>g8?X6A2G]J#cȐVagZ| rݫQ}3˒g)6ec[;sހ}=n4 #V!]+NT1#pe*[5sbx] 6InQ5]d.}4󄆕o,!DElO-M_ C7$b;%s6dXU/"OUO|CY&}^oGa%|R鉷.T)oz#ad>U?pq0}z^*ԈIeܡ^ëD3ɴ79xa߶pѼnAZXO@^W]Qjlg<yqP&İNҋQvv PxSDگEӪ2 M1!/`KX[f{.-QU&fifg 36L ZMݼxvwl')_ ]<_ oWO=-)gFӐdԯ5U|}f?nR5Rc U 0*6vh~%.fH k{8ʺ9d 8CT}\賆f\mΠ HwPZx]oP[#=6wN[!}&s RJ,rp]>oa`Ck Qex|@ J˭yG6ymW][KuwdgSƁoù;~}Ҙ'H/q*a~/ou[%CuF7]lp c%~ _43~!pp`ed媸vqf?̣@U$Ьki5V6>;3lw`l0'ɿdzQ[K)Z*S̨V4)|Hm!>^,|i:g,эZeU@!51*"LE}/RphzL8 (1-TNfto*aϣgԲ B4Þ5n wAeV7nRU!Pȑ6ݯhx,4-'"ݑ撇mX+RQm,(CWcOilg'^S  oLJW>\$G2^Mgh+Wcܾ?+u[ӏ,ϊFoŅOy!0vMDIҍ:ϼl'Lǖ .̜Cw>?uUuIZIc6sۻzB>`?CzjގX4[/t^^h&%MggO 5N+ki)$Q[).Z@ɻ=s zJJ>tl>zEN$xZ؂MFl=1lX͋ Ė4]4{㳷ߕ;eHÛHf*z}K&ըWoR׽^G1sXWm@%l֑Ȏ8bX)9NfU=969쏤Ց/)wHJ8, :%V- u eGET~#jI^bfA"4YVo"/,E|۸|@D 5tҺkܙT11Y禯F&n5"exPb0f=CH9$IT-mm;fpB ZNki5jsD LHkd+e SfowO v^>9T3*RT@ o{ߍaX#@Ơ-B;m+wr2^ow~kY0 ӧs'c##Px@[" <]2L)!ғ{,>h1>q, /Gh LU|zK8_b۶QbppDH7y}=lt#fY@.ޏ. fk8;l? 2& 22l+i͞s8d߲[ட4[CNwL$dO"EGϦn̸Qu=$B9FJZϚ:X[Hكbۓ)sbHJfi*BV۪ PXlR(9UqބS֭D࿒iL-MwHj9Z-!2Oy;-$6vt;vaAFWJj_Zd FhO Ss(p$Qا\U;vߌ AH1y6 K<qѰ{z ĺ* ܨȖ FN[۲%Uan͂|e'eܑdsqFTW\y~^3>$4B^tcN9{9ރaOxIWǞ;րy]Mou/b4wRty6EJe7{0ՓGn2ZZ>2$p" d.a]A|xױ` 'O@ #T(~-) 5=Yv1n+b\5ӻ)~ ,Y O#)Q:꾘f<~bZYZ/20PSG&ur7;=wLwG*,~$Ԥ"Ï+0&9s<{V'"/6TaϔG"5 &z\mJ,=ɇH#4>4?+edUb`swCH!,'6KlK`jSB_`O(!vI+IDّѸqЙSLZb7Rza×5]g2#(r)$>u?o<>!@+QvscݥڠoS17ﴶM t>A_Wk[X]Par.xoh{U4ax6T(#8$VS%֒Lohaz{+lu ְ5P*E6VƍNs8%P>I[ a)%n\La1u:rCl c+XD8SfospSdC5 Z[=Wمs1D$Ry}tt-p@L0Q/0,5Ruxٙ}D ῂR1՚"&좌.HèF源8jMSQ>@ rh@sJa쿹La9,mGHn6=_dcgѸ y4xj"ڜіy}JNIHA~pچw K L.:*?Ν^[k|PXM KC|Ml  76ov^Qh[㢫l u!   x>v~nxb/~23Aqs#xᶋN"MB\>=Fyrn]*Ih!~kÝ͉jw%V_cM@b6Yjh@n Wv Z 7!AB:$auzV%fu1(U%fH ]&&Gz<1/-jW(6o 3>|uv#kR A0BC9YsϺx]h)^5x fBqΨ烙 ]A<.*睡93ެ@rщGɁ?K{1r 8߾]mUz QG5_JBLNb2ӊj@CpwܦIn'NbT:c1۫~ŶŪ!;0l#@A֙n $3 Itz|`"N%5%lC.g-4;wnAtdvR&d9NL ֵ趃ч>0M Y M1¢3ǽ/q!=#3wljn*} nq'e9t8ւq~ɬm+µQ0 tcA/B*f~~dR"RsmhR 3 ~5ui{ ٣-Dczː$hBVa=hJ3^'5G+[AiR[V<旈~w.v \x(SxvIslB( >?rbNBK9DH }G ^:"6j>8GȆm?+1YV_c#Ppx䍳x~?R%GQ\7e9kq{8(##ݷwE WQl'{nsGV@R*@k۠<P]QR'z1REQ{Ťٞjnnzl_E/*{hCdtT-x詳J~!0S|/nI7x(fsaL24]`H)g;(0 Y~Uoz`f*C6 ~6 ϶\#7,#pp:<)㮈BS7vv94PjcNU⃄NXCa~NÊi`=}~n3(%7~PBHQڔHo:$YAڰ8·-w>NqF0lO2|1zJV2g75:LCktAcHǥ!s*8z|9wF[+^x,~ͩet,*9wVoK|q(&u#*{x#qvh&r=$O@&9Uv\fo/ڰ>6g1lKQW:Q!QZa돈9BM ]?yfJ"G<݅QF[S.tt'g(:@V#.۫ -ڌwr<61%4i' CW;Ɔ"A #'jlS~֬Җ~9m^6/-AgYf.>?P;Io R!{)_:QOE=C(. M_!lahBſ1>EiI#KAsX2B\͂ r8w6]7UXw,#Az*q{ 45fԳַT΃8(z.O0H_Mx(MH OZ \/^ 'fbp};3(9dBǹZmiɳ8rd֓9@??][v5Q) bSS: ?*/*`Zh֩n8Û7[ өvPSyAH0gL)B bi')|hz XA -$HꟗTJ#NeiC/6~/mvn1+)sjhaU/`ۉ3x[;**B7z5=8_p^2X|wdZg0oD]YjK[{:`r"8Bn Di{&Te"q$iX P \$Eګp Y+]>OB0"V.Fss瀌PsUk[JӘMʤ9GϴI0FnqT5UǵΆ&Sl8gi]|#XNGmҔ4x y$E!4]սNp<CQ;_6m$[,J$:i!$;{U>C4"2.W=A@Ȫőoh+!N, WU8 o\6u`2DCp,B*NG,ʫ&vxQR:_Z8ȯDa"I#)R(-XSq\/fب"&7‘hp\p n LR}۽D#2ΰZ T};tp།¯pb=|{.#@15)UNPpj8_}"; P$9e+) f%cRj>Ca5Id_ f=)Xyl=.yˎ%SYWC7%4TW~ZU_oƪ۫nQP쉨/~ J;0VMۄ_BCvo -jLo\>~QԳlb]ֻF&WAiw ,~iYzT+!_T/.8b&>#ާEH,d>EzIrjxGx 8'[* 1"#W]a_X ׁiQ_*JlzPpZ=#K| R-E.g}?௔X]4f[ 8=SEw3+hqAw眵OBJjIjO<49xئrpNa=8wdfg`_̩Sn5FoV;F [V=bA~קHY*,2/rِYxNVѡ5*y\ 5٠lc!H ԏ148TV0)hvq'5ųB_]EjM7e-UYf|]${_~gBL* Wںs˺8ګx=j~#2@9y02}.=:FF!K?F1س,jW *ދS(6ՔRݽfry7Ӊ_N1m IBM .]|uk(OG `*M|H>xB °cM;6lBSQW2XzŃID{ztߣY{02F?zjɏ'b_ 6i% 7d]{ \%3~wȇu~-1uo |>:,F6h,UmNDGP'kV|/ђuJ73*9p#8WqwTR~NL?Ϲ2AɗvRX, `.Y%%L@+#'='d.,&Q`mrwїP2YR)2'nZm<ՓgupPVRR$G:ol.3NXw:C>v!x=k >H|L'}RtR˜PcUo]jp˔[XPD͋ht\$1u@ uKnE * BAڱVܯq([(cz(Dbd MLDvJЌ4*f_ߒF:vNP?}kC#kVWLH*idWSA^e-O&vv&/׉&uYיdccm8_hHD[E& os |$ )p#?{q6- ~$7o+i00JRDgx= E"#&oXf%4 y@hW]KV5BF~òQ8JŸ/3̏ŝ9BΌV-u~sqA~{>:m|#JyICCBk#e%T6bE^i#j)Qpq{y`À(bh5UR/-؏DLY}U@]#OmG[uET!J9\S%'h_.'Ih폜WhwZnr:3i-S۪Qi*tuG@`>0Ah -\l%v_Y]},>O-3!z2dWP7HsW 3e&ʇt蔟 cRX(m;URŰX$ g|)4 0xpPrmD8VɄCfPbns>:Eh cpgI YLDb*Df2$u_~:=-znZU?mW[w2KΥKyHtk/G$,]; 65 '[xH6ڋODG|-Sy<~ԱD<0w>( zS> ǫ,f o\Eݥւn:#g%0 d;{Pti滠y^\!?,uDz2'/N3"C$ve5!׋$wN /&J3BP(_ln}HZiL -hՊ}y>FƩz)1*ȍ@tit;vF8< F~MȫъE'GG"r-&ɗH+(ș/DInDa"~?'5*9G68*a\(PI^F ǿhJb,۪L ÉrK=\pw[șר5?6C" >ӚUXֿs0Qⅸl|JfxywrB蟃  a\+,׽6׿0;g~0$F'ņ([m]Kbߡ>כtp%Nݟz7;?XiH87rkY4nҒm{lo7*עИp/=1Ld>˦qT Cw,)HD52V܌']2>ꏸH N ֦ 0% zXfs:f$5rN| W%읖{.)c bA&m@ { $n`iT.[;52[.Qϓ""0 +)UI=P peD@8R%ۇJ-U;!)ͬ 28O 9係 :!{Nࢰ/E{LJ16󕼕̂)y&F<{"(K&f } rgv3g0ԡ`#o=4 u -i+(nH"#t5p0 6K5i5O=^߇W)`"xdY#} ?JPn~ncC._lȘ)0{NHl$XپrLA.jZ+TвM[U0dG%^kKڶf1 P[3CL߫ s Fچan'o p k:0Krax7wXT1uWN=;V $pCF+tIN&NB=faH|3%99s|DUP+ b%\ +ZY}GCvThkV){V}>^C</r(`'!JdJ{ GvWiiQdLu wCstT-'CL&x"R~ʐ hؖ;<:?[T,<;4N+_Ί>gg6pv:d5_F^-5xq6,t3Iâ.nI6K@DwU/i1k`0{=#]a{ZlTf/u붞f-LѺ8ŝA>u"c 4YAUE ̈V:ʌ?|t8O >6ϒ& -;-YM`9ُǟv+H\MD[1_Q&Tq5X*ne475Uhp+k# (s%8v,a;S5UC~{EA%HW%Bǂ j烞kK;yFεvIy}7ox4m^6|Nr"'ݸ1P7}¤(TgY~4!)^Γ #)@hK|"#(ϼm~tΌm1>;WDUwIKO<,6X0ΚF&D?zcbD] ?^^+j ]oq b {ihe Z 8''tsqsS2쐺 ^Nl٭b55qmܳ&i߇lT YI[I;;MC*V,x! Y.E9+e*_0yhqf`i^x#(Qi)\DSM T7.ࣖppjJ:-zsoTfYkd06hf,|_w˭$5Mp(Zfiw#Ffa/%+ڼFh1B(!Za8q~3Q0O:ß4ae?,kw=\*pqzp`)XflLQZo"h&R⩔.(fHڄm w=&"\)I+p?BM%OqA+"=ʘ̚9i o˸*s>U/[6?K/v.HPd̦Em-;( aK*z<|i2.4 S&b/Oa9ÉbnՄa1`1sR+FіpcmOpf)Д=;D~ҹR,㋛&ns SKJx5G!ϳ6[UZWﺩ?D/@At_ ;iNzC/!&h(_ɞui<~+Sކ|6ꜛ8O4I1nkgqs;Rym[c5C ,.-K':MZqM|sYWfb⃧v ~WAD%$>7LO6Y~8T7;DyesZIǴJ{!bLfܙqFA]ՍܡsE`]s'P7Rv#"jZ!њc^uFh[֐ sj{}UbG àYT4rX2s_VQp7cMA;JCK8{1k 3MNߔ ^i:K‹)]Ǟ)T^Ɓ+&Q*/a_n1_RX7蘤t0R@ải8; ]Sym10X-DxxҀaOHYt1epgW4|u@'\e"aǛˉ;QxHj!5P2,s%FZHH4~|"L-7{2 7'(jt(h `<(`M瓐2RT~j$gښd/M| VhbW_R :"dzK|cl"_Hb[A)%ewe+s2 ;2KvF%]Vғb [DuFj9 0TzG5 Fs_98<:0lhLQ`e%̮ҏ 4|ţĈޚt8D@x[kêe@U"G+`F_h, y2*N_/TSc]ٛp~"eP\EyxN|:I?ckFzhqzWa>5)s_(,XDzfC<4hBm(.b?v do20^5U| ǃ A_#=S~`2[@Gk |gX@$.vc&[l0]b{TYg=]ٜo3vJn@>!}hz1qKCLw6@[F18, =ASᗂ030,Kw?h^ig`MY l@GͭGPh?g-:VwsdAcW NjG>QZ=9$I,)[~'~HM/oJw`yc&#=OYL!H*x_3f+s;Ѭ7 ua >Fbn|D! q\b>E*˗w߰;0 N>PGv<x' ih m& \^bB;LXД"ד j' Ҙ3Y>,1{ vd[eYx?$< Gh}:f>1={-P>Cι@\_Tyڗ7aIJ@~Xccq+̵DA=_&$έQ1t"AS|1P ;,OҝD 8YBRovdfܰ 3=Meqh<SiMv*u!ε65ԓ 2]=S)>&)hʒк¼MWP` 7xB8\\LPPW?wWeܞ\.G;oXȱgo}sbA$[c;\V 6GUhq>!]֡??/V|,Jwb:"VwmNB(RδE~WNbUFȐXzFӉ G͢S&g c pfm[ lL$Bw]VQ0%(s8>'@]6ѧȡ60 nj'ĵɢWd?6\'D9& ۯ0i PhץjW8/v0Ja ]C)Zq@=@*A8uT+7 'И]< ?^6to}LfE f[JJ[|}p{>YL[CYw;yqXM8f$7"_&jIYUS$  /=jT:|;4GUcھBS}P].MxcBwaBDAlpQIcF{BgNsBC಺nj/vZ/w%a*53 Yggj#,ewm2~\ŬF 'z[܋bÕ_ ( uëэ)聡xk5CA5WcmYXJ 77Sä%Zy{\C1OJ㲘ՙ@9c)pYt91|]ZV7m9;$ڦ#͜ŌbOROSq;sD9 2Cc 7~fI`""~tHa߾rdBg++~ϞwpI*pIj+QkVJ?s]}Τ<>g ~8HAȣt"l̪3W <T 4r~3x1-zx^Ԣ-)E1(DlOe-V[FK{A J[/y(ظi(s5'/ PcMK[C2vT)Z`ˑ"TZ5><t}Gi K4S"&D&luJ1VS#\7Pö#Q1!}Ju|v {).lIK)qơCY8an/kM\+m[A<, 8::L܀"[P \w@ֲ4y$ ęZ\36Ԟ*q6RR6B}p}iHg4#W=rt ?'ڠT҅ =ZHP7pә@/0 #\E hM6+'[P+6Ȁr[j{Zdj=f>*ϵ>X]Df#s8 Bs?p|C @yŦk| m7,b]=wFssح34[{{вbb[R͐a'`& 7 ߧ>9oHCfwupDefߓXߐ)=i c8g ;VeROC-vRMS<_+ybB4xx õJ%_uB'dNnxbg"#k&QiK@6HnHNAcYh!!\hawHO4X$%ŃUiClۛ-$&R?hΒ@u@+wT,;,d?L[XZ61 ٓI{k61ǘ2LʬPs"7Żi]r,ﶽ=]oxHR27{k rW Dr+І+w׼&(P2܈eפ%pw;XP쎓qE ~=CzΒ>8c+5@u^>fk)1S0&! &#iMN1j)Hs>R9Hz/dH5aeSv5A-Rhe, Qc9[-!v9e IDe'hޚҁ#^pv9YBqsX 30(_H8T& O˛9kl5Җ6+,Qs cصfy$9\O!}$$q((l`&"BlOpJ%qrJ\ 0AUOvG)wݻI٨[oRerB&;f'8ArܸP}3zBLGC%lKĠ $UKe9Xn:3P.9f@Q:d/ YљKdګBp=z{bQ8fq;$KAwJ5&=Z{Mxpy ScX UKz=  jX9=Lē4/|j9;(4X(Uu4&lu%E$I&Lt!8R@϶$퉗)2W3SBR_kaqce$,D^#6e cHI&wrmD ipa u(5%xq @RV|#6N]IV`eK[(|'N(볩/I5o"˙Q&~P] pJ%h2:HE%pLnKFVlfJjl;}zT5b 4gy="<j:RqqagFEqG Uqb%XOJt(dJt\U\)nE%`EМN'VO=4[P BFWu3ᶋ] LUQl(h[]% U'rI?Id[-alVBM]3Vٮ%L]A[/; \|> ObV'+= ^G HHhq#\ߍz{ۜ9tKE"3,+d;R=!{e@97֓<%c?)s> g Q97eދc6* zSgcR׹ mlVlŹ;2ɳ(`N{7j!3OA2f㦬 \r2ۙpQ1v*<{]W GFxgM*ӳqo.\W{Y"C|}Pin0L/D..ٖ&\<7^06pl$ SNsq)9@7 0l2 #_VuG+ :+,j4٦ Lm~QZ`&O8*]X$xX saO:#j_rz_oIVP0U=VTԝ)]рz뙈AB-<ә͈ż$ 8~zƍ ͦ!)& (v& L;k4tlg,lFA}tL+GvMVqk!2|ܘ~W:f$ͯJ6mUQ%/KUppV2TrEzg8dE"B"gA{U~17 G>ixV]l±0?8ҍ%6T&<`ٕdYoFX#;녮sie̤֐ܣ_^b<Uc-Ŵ&B54ZM<[2cu2GնޜhBt;DL\X:Fμ% /1ŴrQd`N Cco8Fz&qnJ('>`Rs i`5v \ @3MY:;s+C?_ Y)њDah-U=3w: Ar6@\-o6rMT|9%m(-V*jdvQMwdB#VS6dKa)jJCHp}`T6Fة BH<paY %enq`9>fgG7_ !U-Q}Zc"MDE~$UPL8A b?lbD )M5;"&U֖4⡲U v)a55wrrkrC9B+ޟgWm>ѢmqkiKj墻yݡDJMՐt)'m斝.ӑ\M:(2ן Iy8_݂#<3X5*˰YB5bp6%_i((z̠ (HAdZcax6XZB?BZ"/m%<[}xdC=NXXr%ZIq( ǮJo~ߩnF"oI-욍8@]k$Qj(M+2X衚210BݞHu3jҐ*KBaTS7wxFŽl5ĉ]͕d>Dfm )jqk-&Y̩zu>5?5W"s<98ZN >Rp`I3/R\c]A-˖o8q(Xu1/T[0xበ~`fA{ =I l [2J5~8fsm VՙPL&{hƚ ߤ/nJ&!g̼5rN2xd,)@;o+ؔP3[ǁ˽-cn>V:w&blT/\Ɂ̒b^!Vq[`TN 3f過ew8N`|CQͩGj3p) 1R׏'w=.L8"*y@GHcQ貝}rm+)K54f )9Ü)#r׏Rۈ$d?|AjT QLXO40zBȰ{'Dz_N;kи@R3Pylrǽtcnre˖,^nz8v,sreRmki%ӪY*mWS'R5UO~g]2D%@Q,,Hl-t#fHjp/u- лLUlmN^b=܅Mk轷l"6WdܯٓťWإMXg z'i#,2R*ە`0)90CnVDE_ѳSd*ܠ2btPZt8۵|vE1;܂PA&JN4&*SC8x.6F@q!EbeU] 2)R(DfK8NPTD 1 lQ3eSәM\;PaLu>1J }K[Țŭ(52ʺ&RS%9:u_!@!}f|i ͝u IwR 9N"\;5"VLް8Bz ̥.Z ]A4mCjXPt ]P\Up(B.*kCIo3>.7ᶆrv>/Бc}d"bPRd3L8<{}tX߇ R;(lƔU,yJL+`9OE\Fq:S2|.~kդzZ-3BFp?j2i[f]"UBG ~-ʸqD@x{m3E'4"TþSy9/Q}扞)⬾5 'foE֝;z yb`u57GK`ҊUύ2ΧV'D*h8c+MUkV'APFT\&mUszsY-Um&ݕHЮ a%5 3[nǾfk#l#M7l!Hb}h=vA*0{GA\"{G!#;ci _~~\`iĘV}`^Sgߌ(Pn"-5]9{? L*mK7౎芰C?#9R5)5 !oIU Fإ7@8^obY]`P1EY룪_5Ul86 EŦ:/ll#~9_=i`Vfj=gT0 ,Lv{<t0VNRH#7=h;'_CR}Ĺ9pLwof &v+D(8ݗF8 81<d5i<'=\FPJAsL_ 䘴l%ȁ k]t<8mgWQЩd=TPJ{J9#9#ԓm[O<.ݟf'-9H . E[ 3BL"L6]Wc`1hXM1D 5uӤdqdY[rSC4UO"#s!n\ȦX "k3̤.w sTG ث K۞r& G}wuWfޫO7 1aբt\Y-fui>8pQ՟lmexV ?q\)`^L^Y 8Ƭdf웵&wY@շIn_h6kڿq7Xj1DW=5pM[Vfmű%]m:$U8d~rrR]c}V6C7U7X4%LnO#TCiJ\69{d' lV8{%P{V]ඏ7e<';F6Ph nN(Vܪb9e-D[M}A2Yҭj&VL :)J{44>+BPIU[ʖh;E=ɥκ#+Q@rҵ%x>r/ ,u:C0Z]>EjgMFMr'鑨bqgk_HU ҅Na+=F%r$2^L. 0+xHj,}&O6l LͶ4  jarPRw!fj+W ;~E}:,o$kU[n[׭0;޷}^@u;>,`7(|_ :y\j&|RhŌ(xJ$u)Ew8Th+( ʦX] *`p=e?PWZܘRGяsS^k[ijb՗htV3- ד.:U1t7~%̽Ecbzm3DޔLzPtdAJr)E.oA% ]㢚.JUeE2^͐Ny׮<ܴ$/m5k,qmh{0_ޜit,L luJ煢ʅʝdPU1Y5 %̴ ˎRKK2uK^LG$ @ +2d*R?IKWT'Y(]?$%3aaЌ!M=ۗ̈w(Iv$~&/VA(g m܌?ɝ<Աib":Ut J@GD/Pf%Uf}j%v -\T9b:۽2̅o`vs?X]QT.gQ8&ޭcucis7 yT֧*E%D&/ZBkW7f% T -PMG1|sp2m5r#k#Ԣw:=_j bl L+h[uiuo>qgMtJ'3.$OF'j_38"AOVkSOc;7 Si`ѕ[F/r38/^8G{SdFdz$/d.iME԰:h0kcG .{W4PK rr+iI;90 ",Hؚو,Icɀ1#65{sGrWiCp^ O;'$jul/D 1wr/(Hh؜+?*Έ皔4@@TYNxO*,rKkvIC-Y| pXs m١IbF P֊+[F2UE ÿ1yْ .DN"ⵈʇ`‰$L_+t\ԙ_u ekN blQzL +, 6nJTALc| S 4޳g_nǤ>1YXh[@fV /v'-ah#_kb8xYbIZmҗ]pю/ HksX _MntCS;s4ЇYNvs8 Tknğkpסcw=uKqtS >n6zK5A{kc[dX7j3n շ-mg 'y$vSI(ddCt.|9]ME13bnm()I9!-rI$[(ԈEi:I%VؗYbHydC,Pi!Gax, 9uA2(! icW`Gt%J(R5zݢ_DE*@6z\LW E qb)`K?"Gc&YWc TF 4`{<;QWz0,Huo dokIŋ+,e7v֕!zs]*ϗ{S)Xso}'H0X"sLPhKj&R_8Po9VP$IFzDRyd(;/`E`QBA)4oylu{#9-t &IZJʿz lU ڳx 䫪Q )1爰{&ij;4dx-/6cGH>%DX5'3=nY;|odG, 0xymHR}KFS%ap`anH~kqzpk S+O?ibv,7Z (^r1$PձJ =XL8Tњ|[}@aaPEv%!0@\|bԥ*ݨ"oz^!txF#B$Cw]7 `́~Î\QBԘa$U;iЄgǹ`?kLޡ3C_ɼW?:<ohy4c/t,TvɱuhAfȏ #M|P<(T PBp B4yV?2?k!$C PuSĩ=Pqy?GV&㾘T0|l!nDQl~3P: .mWa }ṕx_XAV<3ȗd7Jl994!ъaV O/ třeJ wo0-Q<ˉ+9Si TYG!t 7yR-B(\'Hު2,$[D9ӓ:>t!w:"yL6MoE|s;,GS֪'7pWKY~YgG}fO~) OfE;H<".:ctS*<=mrG.V6^6t=(iz?̼=,r(QۀU`yTi tg=&8)T;G2oşc< { m~=zkS-R~q(et߽YѢW N~һV^G²|ҪKqkefƘ %W@H,7hy8F0YÁwNGXq3Z]L=xg%iΕڍJwC=zYBfLQr -er'4y¶.P0O]%6 !Ҩ'o~1iIx3$α{dI@P14@p&΢{4`#>!oԵ h~5\=ZD EA3;_<9;70U(GҢRf45p\wB/YjS$TxkWlEhGIPx܈[U4uU'f%( Ӳ_#R54i4ZLNb $4N뢝{fqéU9,3?7@U̖TY&c}e'%K9I fUs2-4lĻnq_ed@6CpmB\%4֫i @~o(a|q'p/O3Ne*)JܑyH4ueHZX\ $mgnxR  hFf"f9Sg%lo!3-[SG(wx.9%vC!4V;^И԰TʑGCfMoK_Vv&aB৷b%#2FN53nGGqҲi2R`&}oD'ovIk`AE7:b%X2(i73A(RFqxh]\(=?#Ե^bS\㴴tm8*$i-TAW{2!ƻǸuhb3GgadxN~mwDd Br bGjt {!| ܓy"YTĊBx"T22zyӄT.ܵZh;۟.42T.=K|ڝ&#LKtB ]xSr FbojuS,E $}*+c7W{c$n<>[Ðk0u>qm. I7rlnBd=ٌ/l>֍5:pRqjڂC*Y-g1Ds 0̑sFV]yCd;s<;8x75ڜ%ouѷ;kW]>heȁs6%tuUq^4yV ]!UhA6Do“Bqgv\@;j@ľ +WQyqvg =q]s_ս,Rw49B1eJcޠ Uȥ>\g\s!-cL1Ƃk,yX~TZ' 6 ,OKv'ڈ>eQ{.VpN,[b2EM0Bod;rRDcg2Y ע,r ?QˑʕH }5 r\S@ƓBU}RN o {Ʉ:3)cO73zX-zkx4e/cʰc '][p-0M5 tԖ٘^j9R(ýM̂xK9A|y&@QD sG̴Qpt%G[)AK+aIc*ψ XSe6H5s|TT3 z~BTN/Žn(Dnu,g7m,#V$>rܲ(⏦"zE+M*q3:sxHQ-`ѹӚ ogT/&Ki}g8mL/RNۋզ?r &|2"]80oup^,#9ľhfP߼xbuɋ<0} iGM4?"|_Y ⇝\HPGlc& [5B叀GcfC'XZ̑u#í{!4w+D#TE;(ܖ\QfroZjKDL{7Shh*yw/@Up98xF4+I|a3"ybz fxE9` SםBPn)J/D鞲k3CD CkۋȥxF@]} }vCe&is$LwS&ѝ|weȆB<ޘ@Pf,A0*Ei#6ﰱ8Ni=?\01S.I*1C~Z44{N °ب,~y6Ux@,{}mLk6:]093p_iu\bZOzufh*U/2'葙Ge|/lɍ ~"d7=TƋJ/,xV]©|4()ԷifeIZ/ N,(Gm6S-KǤ$xSl9R=i!<@t÷QPزܩyLSABOV,Dkigͩw\FCi!-j ܸݬGa}}a%E!ji'#3#;ےdW ?xbW?n.do$'^bˡk[4bD4h.xB\'v{AGƅE;51Hg4,&k"w!<~{t:0w RypxL: l/I+5uFK2۟3}+\A-1GCYr;uY$wH4@vtܤ°k{dK%0#NƳpÜH+n\)%@,U<:k W[mUP jm Ms;eNj2ތWdQC#(K=}Wg(.*UaDno9Ǚ+ %qScG$ZhYH 7zPKnKl,yAeVX?Ҿ&Y,`iocÏEuAewXXl&maSdcɳ]΂dZ,]3KͶ\HȎV+:'h''v(.b=H#Iy5'q TMJĸG'F?@6a߃t|~SȼC|4n Փ fpXݘ;A?o9e~YKz-Jw"e*?+ygf@J|YyX?24` "zUku[N#5BU/ՀSOYLxOּr 2aa)ps,%3n!އ+(.cD^d|]ڷՍGv:gx ;ݨm򚴐1TW->YqC}O+Xi";cix5oe\r~2K* Nѫq.4b(Z0JqTӉ\:n}$T[S&lьw>.vaɾt\ʯi* sJ"1MQFןh9- ;T0)!}/xgƭxT(pAGvx&"$MSU?<$D&רgde2yvɱ¨p=a$p.Luw:Jj6&H\gwgL#Y.fdr=;|P^z.|ztг㈪ ,'87|#4Z/lޛ,4-BZ ` _nt!#^JkP9e.1+8$% zc4!CpVy?'fgҔp P].+\Fnfk1clU+>Ǝuqw*Ut/*DC2hEmIXC:gyEV)~W.YdaĎF#W?%b !dܙB߯XrTskծ1-ζċhCbjU+ZQ\N2PjրG^AeKWtqوPL$ x Q)z^P/NLYÉ9к6,mjJ[<#&93&CP(TL^MT`unǎrO,GoC&IUT ͖@;vVH ~]0k%(r="]\B1}l+0Iu {ϿItigDɩaJ%ul-XZJYQU!YĹb {gk_r}*:]svL߰B*"JP<`>E|V(bOq_RyH]/B$ #5?R/ *<RpPGAڻg1&=Yr+X%MB&$˛o+<#7#YFyy9ڔw?b63)C]b$Ah#zBWNma1&@Cb?$CxAMrc!NUJ2&pC ';6usS Z Dڲ[ e$HD#)g[BƍAFBC8ODt$ ٣yfepHPPiY*ѝ19ݠОMBaDNU@ J>4IyV PU99=#' }naL=e_W=A_74O] |]Dz?4^TC zl 1 xJd|!ɯ׼s#8!xR,@X=gDyUSt,j3ؖ@bJ՝ l64ί6bܤt x-hQ(Ey3\Tph*4K֫;8ZK\X~d{x7W6 ~/OKi5]!)n ,5H{ v `kL{Ɛۆ,s/lgsyT8.Ly 3U M -<ϜR\r T@bIh^7Qc+j8o X{oZO6f\16㟮KVXn [ǾMkWɃ8^LӖ^9Oɹ@lk7/v?Ьz ZyX&ʻ(rCRmZ;kV{s@;Bm-TUK^l(2:kb{ܮ?=VReD % $yPߋ!(7t{zQsevjGVE+NP~ SrLd nweל3vŸxhz:J3n4rM3x"}lr%wg׀9ZJ@lsLjm,9Z[4ZCgUPtbcnѴ.ξϨS,]*Pm#z,~W c.{B,~utH$_?Gu֨IK2DE{QIAbY0{oU'stHd}[/eEw@UAHu}@XM2^x2ƑTO nL Ɠb&^eSc0Td.4%siiT^k:uBYx\.,d!b] O50/ GE __-sYy.ဉDv٠`BDExIQy5 UuKPHh*(ϑ߭ڕ.@Ȁn{l72G-d8ηNzqC;c"PAMB+LVag tts ;ĨWo(83-]dQPRoAxH>ӗ|=MLtX;eXp;[I((Հm(dkha [ L8 r}գʿ=5\H’`[^2+#x ,T~2=_D)Cx#,@kb3I|y1;UdId)溲N-GhXӉ"7"mWéQ!iԪpηLK?^!~B|ٳ_η+)ڏ&0[jfܩqe)Ͷȭg\s!τjřM‚>$2ڥ.άW9Qq5&x; ƒ+2'Mt.a[pA}̪ٞLQ3.;vD6}H۟(%>Jy_St 룮`,?NcW~T܌δnzК #~CWG%e t; :~Hp:c֐UF1\ETj,O saSЅM+nT ,?=!J=V \:{9 o>oZ>J: qti36K/mStu! kqH2~eɜ*ܪhmŖy3;dԩ&'JDMeBiHsVE_2+%<|H7R. 6`[)8Q:Zan+Ʃ98[6٪8 Be'}9.LTY9>g5w+~5._(0nX ¤'aղU6െ X1#e3$4>L\Հ %TPfȉȁ7!q٩W5h3Rz1=b-$=a%'^bP>v+BG[{+ *TlFve: ܭ-οkʗ/#+Xv\h5KdG7iwlEcc.>LMq%d^->)xk26Dy}' tXk!)kE=xUYdi@`wDΣvHԱx=f=n-ۡ3$+l(<\*a|]TYsAE>% ;/o47B]뗃e@> eHREpG("Vp ՜`+EWa MzJ2"/%SRb3B~Sbd#9|d4{&x2/FM|j7>jAlIO<G ueUV.AM զBkSm.zlV&%:)l"8S@ \?dOa [P_N:<8A0eSbl1! \YW.5!@~6]{RvYT -&4 ƾ˩O!"&-Hm0|_e*l&#Wȫ`- WVuD%1aL(LNUgtʁ |>[7&=TCt)+[2;.nXr=??ZVx/}EnbJSqh#~"&C'H46lp`JV2$|TBџi;j 28Dr6_n#b{B ?%e|y Hzm+ĄF58K\(YJVim2jbLDD*Y.Mk?QWEݕ z6Wk"ψh ƌxR -+Dɲ@IvEȿ| #্)t(}[dvhIme]Ӧ#">m=: ـ&ܞed@\*˗ }qfMhmXtrîԈKc|!XrE>^'Փ>r>doS'XL>JF[4,DҪ=)k0%2<j27}ں]L] j[8R=oaB9m,6Oh/ߙeqоX,md#Vܣ묽o^%:*3{$|5BAАa=D;x*T<\Am I`dum\ q46^z#7 3j蒈 x7r-F>R˃/*?ΖkFֲ`Sl3H:K<\Gȥ7b i"yB:f ڭv's_~:lL|QR mǕo,-G9 \h,6|g k LuX}O`p"Ó$}M~CYKV/7LyY>EAU,ĨO4oY)p/}1"S9 Au?Iq#PwZ+4g$57 \wdGSIw\E+6VeIR'>n:AFZؖ?_A3ZEzϓ4(>>`e`2zJjolc%GzTT:t<8 ׏BʊkD$h0ì,(*MeQ[$fht%Azۓ8"2 F>$t",kc:]|w2"Kl R$wgYS h*ެ`  D鏬iQpyw*"3S^]|x;Lrv gX6:xT $[ k*qcJ)rHE-|ʓ[;,vs*/NEoA3K")_"Ctfq'"6GNZ-_@0Yr.)m a /M1b쬏 n`Kw54] I "_C^!Q}e|]B7i{-Q5el^}d 3^\o`X_xUͱ-`r6,0A% PU%maKW &kԬK ;%@U'o. Iލi)N,\HJӓXNCi+/.a nTL{FڻА_8nԹ~dUXl$â\j'-@ۋA4.O:a7O;6@q2x)8[2na>)ێO:&]M38-gO/uiT.N`l3̑f 6*zAym`E[#7t#);ח:2c| 3PeeI&iWq;ӧ w"iO|Q-A,hcڔA'Q]#A œʛdמC2ѣO?OWw$ĤT=U (JoWT+)EƢr-ZfF,R@a6OܵҸ~Ӵc$%ZQk#+̓MaseBIj]8D[g 4RbiIl zTEԪ~Ƨ}Cre3N(g7X)/ ߦN̢3rWI ؗܬ3}F's}ČtFA33Q.ddWC;-QC@bi:pmw)Mgd|ST}ibڑ)tSuԚ8d}8sp }ieR/zk$$ҏCaփ.CyZVb?\.,/ Pb\UFAgD*H\NHi=2SoC_^*0*ul°NDYߟcV~ϥ 2- @F5 s{=ƁăDR1/#q}3 귐 |W 8jùmW5<N5EhRׇ<5Zݛ8,<@1wjos@dȡL5_\_u^ [(pByKm]HSwHgW@9' 8=b-Utn:LݨiR!I\Ȱ;")I0jKqg'Ӥ,њLbZ^-ʜVwƟDBXoz:yED?–jufBbI#ߗND j*N޸pcD,Qkqf\hzħkѲ@P${yU*..=_GCoh{l:uH;~ǺKf$eui>k{3|L~L ɵHZ=@yb/੔ۙp9q+|0Օ-r Ix 0%qV@X,[ 97^CL,M:si`%\s jM,V,g]k2Gj@Fzvlf ,':ɮ5V% g9' ~K&bƼ{r1_3d#N2Radw~%xqTӰ tcFT^XvUŊU:$8|Nq^z[Z1 U>iMQy2fs%%YXэD56$+߁%yR@忎ƥ Hq+Ӻ^(A^# bX:G4k%Opnfk^ebVr5ĖJ[z› CR'I ,(5hn͌jۘSQOslQ&j$ [LKENitZ::\FzC7/S|j-% mH/+AǽGhuѭ:L:nCn#{@gYN7( h:49I d @$ "2/[N VL&?<%DMD؂+ TaȸA7w \?<t^ N1sFۦv !RO>%<}tTAXw"(ƙin`>sDZ=pAUA1Y&T処۽SMb =?233~Tܵ,`;'Z!- E +(YG%ezqBO"TRb3JKD( t {'*ZCTkeC mDZaLWEuea.lNy`VQMGDc kNC~]-yĵ-%7Mrn\`KtEGRmٶDyy- Y80@Vj:tODQ_E71s!&W??4ڛBh“`ic ӑ되7 ^EJm.Um8%oA+T6h/XF.q8) ;(%Џ^1zjD*\!k!%לwV㫧^dl-_6 h>H]gdtnv#M{*r[r]` F"lt.Y !k<9pJ?aK(e#!$R*ݵ'8kr.q)Z⣘Ot`=`z]@d![!W avB!:-j9;DרG&;=Z޹4g^IϘzmRs_OX? d@K vZ4*|ޘi}I%#F`1Nfiaֺu-[ᆫs>* r+A萍 QΌpkҼ@?rFGtUF`@$Q ;JMDLe@aiEN+\ڦ]qH_R,&ߟ8g>F^+- mDh3٫ j(yM}Qg4b ڐfMN.[ "eF G+!"p% )9^O`uΪAo`Vb$|+D3j2RKt3Cǻҗz!Dw JdoMLoYk98d H2 x^P_ 滞%ER@ttڙh{y,mlaM55&{ɍL (wx(n7u/-S %Skta{u 0Fɟ5 H'>  ,Xow;$MjBf".B.u&';R8 ᅰBكe9ť?O|G?~dňS.+T|(F`s>.;0)^8V=~}5Y5zel%}w9ƳBAgrNes)%g.$i$$qnc+@PnXIC,(;\vu +8s y\elʠ`?A8RbKLj;$cut9IeIG+,骯 ~ A^PjO:ȓ7 (>Z4IEU;\sn\Uy~&0 pŋH QU]bYhy{F5yF cH[~/EGɐ 'Ft \; 4Lh%9H),T9\݆ {+mYܪb7E7Qւ%yIeuŶ7 5*~$X1: {ZMe2,e{{T̿).\^R,X2ȗaHs 0mzg Ϡb{aP27JTxV<1.ձe K|h-OrQ)< Z0z&bEy2\$9ke:>mYC0b\ѿ{r 0Y<ׁExI0,#ԝV ZM>bpcŢa٥ԏqƲ[=݅&aMv2jp[X*p~NAXQ> +;jK4N_u.1F Z])WcTO[SycECzQ[tuꮂ8Npq>D^Zzn3 Bb," (=%dsaqbj@69<}F <Ϭvfh@GU )&3~U5_#q`w8 (UuhM., Ҏ&M.jU/ӀS570v2M8RFHcO/t3G93PtirS+`B|?yf\4\L`llE^\5<' f:b @@q${X6T%|,@»AjB{чKS"IW uZǫ5myė^~-`IDIN2kG蜠 ? N } 4C߾I-x>ج&,ζ YZ