osmo-bts-omldummy-1.2.0-bp153.1.18 >  A `MPcK֝ëLmz][Z[iw7T8`ƒ<aa碗y;>p>?d % O+ Ef     $(T,(S8\9:FGHIXY\]^bcdef l"u8v<wxy zL\`fCosmo-bts-omldummy1.2.0bp153.1.18Osmocom CI: Bring up only OML without RSLThis is used only in integration testing, where in the TTCN-3 testsuite we currently have no A-bis OML implementation, but only a RSL one.`MMartin 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 sysmoBTS2050obs-power9-06 16156744751.2.0-bp153.1.181.2.0-bp153.1.18osmo-bts-omldummy/usr/bin/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protectionobs://build.opensuse.org/openSUSE:Backports:SLE-15-SP3/standard/c27e4726d97921017e3f9a61a20a70f5-osmo-btscpioxz5ppc64le-suse-linuxELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=24266e1e5e49dd53ce9d6a50d503584001d0cb3e, for GNU/Linux 3.10.0, not stripped RRRR RRR RRRR#2z XWdfc Ryb~~8DH^ASR&QzLV;|2*nO}B+>6GEdw52Ek+fK }w+NR>@= 62ݬS]Ě?%=9왊ieꗜbb\r~(l)8\{0 <Ķz>a5x>hʬZ`&I!#M*҆' n1 \;WphgvȄL+&3dZ;+tiO<)\Y1õ 6k=lQ $L(8f8˒ϬQ⇘1R \q$MO_u4ߡ\3玞6U[Ѵ$=$MR1 N^,WV -ӭT.  覽'-df%eJF)cZ(zD3n$PlDBC<0cejfozI(XoQdN/zCI"!l,?.yVOlUm Bd0403~+`\l|ΝՁV8ot[s(gv<08ˠ u`q*G&O/,A nV&hZ/ ĬA/6 ~#/| 8UmR'{;C)(w.Moʞ+P~Wr PCje-#rW N#̥?[!(B -Xճl9b?.m]]xƋ1uBl$. "b݀|>Ϯ h\}ڧ̗0rSN*> n1aн_c1lPuSy Ffuj6 )vV!K砻IYg ^]_M>L{ϵM; ^>e\2nr u+CpyTMIFX~kJ-Qs>T1M tr3CIHW#.=o4.wX*8M!*ir[D%?ofܮ,qq~=QAZ|U/0[E| llVIѳ9b|{tT/b^9uQ6Nɕ 3HpA8yƣe\,,)^g*xUXkhN*{]åΊ1\}UGu[cSd=9M.z ENpQ7 ͬڒcB$6ׄo\'P)J!ׂk'࿡Ӟ'Q92e2hszhޡI2TÜ|j3. {+dm}biĕA{ '{_#l| @!+ Ŋ}[K}:Ϊ0w,ډmg~Rtva= }|-d4(cg#ͨȉT}?cFVVf{EAw!2ᘝX1-\!ޚ}p`9}Jz@pN~sZ;iBWjnuOHxG AcOkICf0o0~]M^ '@^^('L[;[p3X;715gSpOAH5ܨ)ЁE#gE(~8eS/]dv-$[ UNÛN .ScK7Ry)(lP6,(B;#iM(sL1[*zA܉J ȫ/߽a1PJ^1t@-1/] ZaQt#Jv٧P/F%sw2dRY, |AWsbo^7~I hy1lw>Vn(^Do9S%ۇ{A6ZT0" ur{gQMLYɯ8s݌ESCZ8$cR2+Q}߷J# dY _+ :xz0! B֯Xf00AΨ%nD8k,qVǃ69^&0.l^ni3P@R* ~GZLQk)IkGCM`w%i3*瓹qzT,%ф"=}8&:GFkXWS$0} K %$9R5YX΀f h0IeU4$t Z}-=@9ץMɣr=[o Z팥c( Z`)J= H@CavA<i%O}`yrWg5aj @SH$kdHSc0~Nm-\b̍hwQ%@yuJ ɗ\֥[g~C,ȅ8@{SH]J+ %hfeo{AWDh$["w)=x"xR`FʏtѼ-Rُ'-2I[RpQ(i&S1L,ܓt}k'HwϻnR^WڡӽmD:fx e.nV|`5v,)GWh87?,O {Q?Q4]5jXfj?\,>MIV[7L7-%ߑtƆ둄ZR%l+Q+ڜ as4}D52%^U;5"ք/@bĶehU6~^Hϒm3RJ8RJ5 ѳ. TZ,%R$*7RAr'`{-rtyq:BPH\]vPq|=BW[:cw<@pdvZ#_x$d`1ͣFgS/ɦd&8! 06)kOT+}b2GI%wRu<ХzSqSf1ʾ_ޠ8.>9|]ېSxr#f dI?<QRқ#|˔X3Ӭ+۠þ_C>:uf`xJ#`ւ#95s ~qFܩBxȍ*%>ebc@WM`'wG CLm߲eנC#՝MaD, ^4g8ħFBvd_)^[5n7G'&)-,6-MqV.>ѴL5?+*1MԆzEq:3[TVk+Um2^Bi=~)M+Z i{Br/}M.;98|g &-#]پE9i4 zo-Pb*"jߪ;Cv䖤9MN-p.s ̙Y~/(]Y%IStHan7T!; Ѯ]EN}2kĔ]iŦ8 DZbE@ [S{%0e:mEc_ -PsOm}VvANIJn_4g7\NSWy=j%p F4l2vn8A}VeDˤOʚ۶*|f(9D+mqkUn}jq;S47R^LtVx]6|tLeoZ*tǠX0\zKWȝ;x#@cU7 />]Lx;CA+x/z;`f}:uU@<҃zeSq9SPe-ykaoq; ;`@xܝ ns~_Z9{^ *ʷO&k3Z"!qK_#Zu&wc?ƃ/6E+rN~>73A+:<^975Jb32z(|&)Uv D& Ba/zC:{< F#ZSvvdt۵<_a}JT+E=^d!3+vC&;Jѹ7ڲNlʈ@aԀ'qV%h8EΜ12pJBvH:T3E::qs#rhZѬk:|_xzԺïx^(_#6zl32C)0lqtEq)aoh^"Aru'MۛVR+Ȱ$o*ickNc^$8jĔSTg/S͠=5t:A}uE~dwpm JרrmFr`z"sûPNESf%'עяJ=3-7O*D,+5ߘ{syA:X\v WD)-V74z[탄{bkHeb&?OF5eu24s6.Y.6^ cǻ%˦slX$3 mtffdUۣm@n=SY߶{v C\Hx׎ir$/ @OY\DPsMX'+}AdGq<{6)p)^{sc&Ik`Zq▻}fn$TJO.'ئȌ֗?˄"  -ZCl0V9CHybr4}^<6%3Z> w8;ڂ件iFljUmjF`j3:KLrmړ[z9Ez?i~PhI]-4 X\vB ϩ bNz:gfA*53GRmjh8|?uemuN*|*Zybdqv2nE;0Xp.+!k̃>G-]q/]A^ 'ـ_F]q <墿@ͥ<1q .Aƫv$Q}KFꁧ~fY_dQdH5zb5rcN3yJi$_ x `ПzøT#LX퓫E`h;N"z~G :D4dkyJQI[g2",:b/TRHȂ:g4"^O5;> M>2Nߖ^0ru˒q:_)p1BjcݯXA Z&_|9TCl?I,^NH֚3Ch/8k"aW_d{ ߤ1:OWLTY@/_(և'3'ߍw3T#.lɑOC Nua8, {Xb4i)L:kiȈ#.- Dtx_פCCF,}DR՜w;dvt0\B^z 'x GfR^ꀄj4&Tu*W?"~نh]tu0?+%ޛxSV'ŭ ק-X5gu UmP5֏(+ywXIA㟻i2AN,YRR8xw_0U ڡww6? | -ء-0H)H`;)n0m|["(U!RI̒DYh"m~¤hZbCGj@T%BKLi+ UO Hv6H kO;6Wug+.Ux-_۾z5p8Z􆈅Xs: EDb94%PA32qJ0fyτ"#gk̄ZW;Hճ3=sD; t{6ĻWN#^ҿ7c usRKdϓ肖BӤXw3xy&*@\/85) eouAzde2:'0YHzZd;z _`x P3ɨ<3mRHwA$lYd'Bߝ^o’<PBi̓kC TZ?ڛx(gi΁*y:z!Ɣ~Vm;M"p|5]Nu?@`>n̰zBàb՟P+LB)QF. `wޏ=pg13]ţ8,]`:9b}m/OL ;K%-@%&Ě3B䁸蒐rD@ as[H̓sJ_mQ6 J\tIpMN9n7/T|v6RJ۬sr93A~eNX_0<jxZ4AxkojanVՔ~|Y6k<~n ^6ۼQ`,iΔ<>':zֈX jHS4PC%tB@؎aT:Ot$e!<$B% y?iNц-d ^rݝbQOD=7asjǑ4)gτՙ!a{яcX_5ҧ.Uq-Af!2c;sL<rj5fV1˱C{ϥH74%l cwqsGoPAAD+h,⎓jK; YD[> w0C91D4mאƇ@cqh ?si./JQ :C* `+J?'(&r@?/0`юfowmƴ-D1(5w .Zj⸅"\zaS=Z'zҕKJer-cޙpAiP 'd|QO 菻7}tǺwI\|FS/_o3.ȭlN2U+o=m9XPсx"TjUA˄$/" lgCMc)s`K+/~;┠A?3c@ Vii}uGN"A9 kbkT>t {|Yͻ ؓG]6x"HfXf +ly@ 0fcЭܳet ɝ+veRiat'!:!p1ܷr}@PD87-*JIAet~F+ a;8Ned }8Efzz w:YL;ߥ?/-|>1E_T_< 4M#>$EgOf`M hDF˓ .ÄG-{¸5žNY,?RS;Iew"3. SK Xńrq2UdGh/1jPyQw5{]>RS0 '-?!Ow3UHB uI"j2mtmm䃽lD1R?ڙ1'c a'wb9"!>UcSsWn-t@4qqÌ/ u-z1Ol:lehTxo1Gf1@~+]}R\9BL|W!%L\ʈӆr+P}LXFN1DqF6"Xϭ {"B@70e~v)T.u_m~ D;_Lkx,uZj9lsK= aŔYVY>jIBK~!;;ΆdrT(ZOp!SQVӲz~,7oĞ*9j\oCzͧ)yu#I O/g~xU=mw_|4*Pռk>r1p(?/DT2u1k^ 6]SZM i3{=QKp(WAnUy .ѣewVPJ?>]ԝ?jڿ|9,#g?eAIC4~쥴(m-\a ֓>('yCj4\PJXc fR8Jq,6ϦtzT-CD5+s56U[,L" *T:g'X %.ADrJB[ -MVЛ]xFh/ 3w5PA[HDi/d׌|К킒S'y SDGa[^]L^,'ťwD\+RoN'G7_uEE @NK{\S@*AϵxX'xڂeZ7-~2O%dbWsNJpEt?M}a؝:f$}@ \?0JTA @&`걷fXz~3د/ms=4D}q(NƧ/kl#7 `#2 ҷzO(yW!V#qr[nc L|돔M2tsU٩OEG*wΚ,-#6[!vZjMGD t$a$c_!2TzŅ#o +cEߩ0)/~ŒWzxRθ`pwKM< "Sbp+B马ҿ2+,+*]%fKzl":[5>Qt*uB1N;@58)wqԹUpLm 17D1rNJe_GWz&T$ե::h{CۼSDߴe׳zHtŨCHp| j2 _?; #9ɷFJ} *să nΒgIH1]qŒjuV1 E9♟ؤ7EcX2 )L(iU-P'u99题c[ set0\[3d2;w8Uf/e6<9@2-׏j".vT \NfCJ 1Z{kiyx?òBnNd2tq3g 3x )#:h+矤aViqBLg?ht107LDsVm؋eMJqR鯉M^ҙ>N&lo A}t}v'iWF7eسǏ1җԯw6[@ 7]xb@F[lWzE'ހ!ywmdxRoLmx 7żJFjaPMW4t'WR~\(M`2cDѾB\2#uc{`Iv{*,H&B娍[ ;>F4u}GP@8A үּ j;bDƐAz0:@ W?w%D AvVrPn<Ϙ~jN5u|ȴiK>H+yo$ӵKR9s|1_SEtIr TiQ +9uÅ0̩ J]!Yx:`g}tz, Ƿ `14$Vq'Ŕ ܿD4*~l<)ZA(OyAa X{~qp(+?V"MƳe04jò\tˇ >eIpyewJؤTq[qR f8*HP˹`Sᒌ(}gDkdە#;.٨ﭏH Wg(9z1k~~ H&~pBOU}9`+ rLZif3>PxIiڹdQش~D\Y R6òt~1 PY<3ƞDLQEg|E; z^m=:V%OC Ή >W ۠ (}0wx;xw|-LeWB#7$->R.RD(|S'FSQ~W40R7]?훰} J&Of𯍶5 35p 1@7[3H؉|B44xnz]cCFL Q1 @dLx%ߨcigu> ?^:O9dàkhުV\Es "zBaA\cÊ\yrr0E>( B=MS<͚z^ P&͘{Zs,>WVNnfy^HHx8qZI `뻦KY2)Ca,).,#76,ʵŐbʋLReM7GΊ7uꦆ{bsU Fׯ@*AG .iO?-:-6v >󂁹;v)Lgæ\H?/쌋*:H[4pG:lT6Lȭk wJq5† 5 =q\&nj#*#I5$D=հcR1)<`}mz41U-ʇyxYOPϐrمmC5ޠ^ &ܻ-3(Hpۛy2vsB @^HR0s?Gڬ侼J7F;(aPJIȫ z0aC(/gd'hCn &_lj*t:x*\qb9ٮg퍑Ӄ]^6_lVԍ%c.i7{u'~t Oay=dK]C>(pФ7{$j>ަo9nh2?Zx iciFcgODFl`+1vD7J5z2;EqCp5we*QOѯ'NaX*AFqkY`tt2uR%F`t q}-詅!zarkst3cIM!VeW':! F%ECS5^! -E7G)#%[`=:=>spC Up* b{8LMAŢL& 4&`nݏ)>ddqZ!×&l pBVWL9 ˻D_Gu P6/d V$Z RV?h:םY|/&2ED8x믱}U52yyh'ZuO!1 ho֧Ty*5ڮ=^ \`>DAO)9ԡ)g?MSKLNv{TeB{H|l6of5=X?3=5z0b3&œ ?'خ*lEEcDR|@x2yEH3I%YV٪M+;X%@=b/Q,~]=Hiic{뗾vYt3C.zHtEo܈M>kE8wM%GDx0Tu(31wrZ6v2J`p5,-rXT| =2ľN!peyoPxg'ᓋ<:8x-UG~P敢Ġmw6̡,i@ʒ7-i䌆U(|Spw("//\\ fEdRc| C/[t{]"e|\h=@8u2.g.Emkq;ޙQAş6hٱ9_iJd3jcpo*"-Fⷾk>c;f+vxڐky+܋uCw8eϹkD쌄lO* EV-0WGr2_'MPTс\ps nr%/[jyKƤ)^$0rg).QLގ^ E>-70D(ap:QtH^a>HV7^|jGqq"؍b9ˈ<3!AX<[HFlٮF1 w7~A˅qԔ#+ظ3+XDR=A%FOSNPs͏BJ[^_:z>CnI{ Co^զR$ר`OE{IQj?OE֮ڝNam ;wG,gL <[hKc e2}cpOhLC uU_TϨ-2Z|'42$8R{%k9ATXQ)D`gt MpEKV "`dܝbp[it7feX$]6D`ʺc]2` ]X՟`Eʚ CжMЗDǗ?/&%&ɤsAH $d-LQ^U ~2P{nah7iGc zk WkLBPx"| H}"Uy,XA?~xrS$4i~:Habo3K-)38EC~987%3ԘjhIdlQb"A^rcv_À T~+[kENL(|i0c񵐲E!@ ^B'̨͒lExD\١R߶ WFԦtA NdX]Л)~ahau&oٸשb26N-k׀FNDא䤻r ρ(,† trĻ,UT[%iXuDk2DIRܓ]bM~'R@b2^HO)-2U ĹѪ IO]PfORرe*OHGK[1s`@81y 4I*~…/v N^{0L \-bݙcoMM:v*u~ ] QoɈtElJ#rD_5/W1{Hl;QU>%xrլD!5Q$/Rkx9iIܳuaU9n.#MI3F>/;]w;?H(j._arPKM,~!Y,[{:@xG|Sn#֭0M߱=6imS-ktN򈯹1zVwL:=dg+ +Q.<6LCz':)zն'}k f]);7 y 9F]M(V :gCDUv v_5%P %1Z= TNosVXhƸϋk?Jfu5AE/O՟(+;pjt[ 4/*; u2]Jnp(MWŃ-w2xBw?\;TZ#$Ug=KR'#{pt莶Η6fD1u~@tS(gĪBjpHE?3h:^`:o!9ܻ%~s( %Sh/Pi(w{vvnƦBKj2zKC᥹Bkw-6|)j:`h\5޸ <'ӝNUD8$uYdƏ+eyqwuG6vޣ[o LNE1Z0h$lJ}0i_n~s3rvK#Dt `rAf@T"+(zfr+cW*G}@O֠Q\t얲ʗFҞx >@w'L5I@ӒKX,}s+`IȮjT:%7Q'ʶc $톅$LԱ{}l Dj̛̊?|P=JcOZ:Ĺ΀u;Pv/8t)ӫٛ9vHa=;Q6ӡGxm 5z*8@!C@\?ߚ| |0mg,k0ഡh0)|V`V(}JΙx u72u uiæTdqUAtwc1QI;FZTodu Upt"WM8Ĝ auœzaAxTM !&SۗwLq~䠬5ښw1IVd" 1fS<*`3ʎE'8_(I!S5w)kKxat;ȧ0`ےTȈ>h`{*?;tcgmeOQtn$[A㻢T6X1:ށW"tZN kEzH pV ErFr|)?S dȻj+Xͬ, ;|-Ŧ1Hwq3y9i~dzTaA#M>2axm3lt ֙PbkyGρ?,@X^\UgXKfigVYnRhWRrmPռ(M9/u3S#B)ͱx6`rLY2{Yw dL"!,!"`*R6rPT $hI* z/ ()q Q6O'-oj--qwuyP%8?Y;v_@ f &{&O/2}. Юd*iAcr6I ;OX\6YH s;%643uQkKlAvo@܄9 |,ʳ=Y؂XE[) FB6 lɬ~6n_HE~VδbmQHh(i8]yİ!XE3f-xt6kkY ؁XcJ0>t}rհ4q^X!x`>&7p3wIjss;;;^ńڮ|EgfN?{1b'5ъA8kھ1J ą65]6SAuo(%wk,V+yٜbLP]ٞ͞MEidI∑*??¢Y1YCHJ8G?o̔םpRD͐Ě/j.s}?}m3E~ 9L C¨~F ZV#zޕgtoؔJ{Z)BBɤ fb*jJRڨSb;2V|nS܃S~`j@i^786T0}Nk{2n}}~=y+]#78V0m3tSϊ> d<9egMD|˨Auwe~ R L6TɄI# i+wę$vëߞ;%,`bxm:3dyJsto4$T^mLҸx*0* a8j=حyIa]md(_{Q$O5TEJrkbL# 3ԊFU玤A 3}tYrJ3W}} $OK̆41>NF MªgJTa LI&ȨuCУoԖ-;lLYr՟=V9E3bb2k6 ]@"Hiy,CNe?xn`a:TKvA՗Fɾft+(, -~B~ ` }2UMy/5%RIXWHV86v(׹.@i|t7 T $O^< nu= E"&)%uh[~:Y Ыjjur 6WV/`mc<)K󇧚Ze</L,PX GDT !9p6L?m3:U/O1&_MJAr^s$d8*55\JZJ]ݴkyȤ̾W?-wHoطkeuÝVkU?W8,ax"H COըs@-1PB9wU8zGX gE߈*Hd7NnBĀh݇G ݐZYlAl:wCQd[fƌKUb!% rPwM']:f))V(^_>{ͧ\$Egԅ;Po+OQyB*o!O)u rUd_cPfOPfeuڃ=BHUO`<4B48יҹ ۧP o 1>P2GEE$?tsz˟)3{9>LbM^q!x: d3REx4ЇnQjbNڳ0Ǯy웅HAGJ /9RaJ ׍@@?{kBדe,1Y~;̩:O>5P5MכJ_+.fJY[#a'뗝*Jci[ Qh4jg)K_F^Ǽ! ]r]Mcd1}xj*瞿 &F |1ݙ$$WJ:SOa/ #LޝL=x3-w]ϝd95 ݞFCpzM2i&͗_o=Y^,,2 :3.k+ّA ~#mޝdJ ; 0b<7TV꼛Wwr&|ZY~+(3@c2tӨ%R~ y,]-kw/[mixe)gTYԵ5$"b 𬃯|NuC7#aCʺʠ*{A3A/;O+"4]_|"5=&]_JZ>HoI U4%Aǧt(P~U;Lv=脹X7@ma]Kee=[+#5L-q<ڹ -<'%&NuR~W:7*i렌:Ec(rs) vFИt/Ϡy"Ďko XǚeG?ޅx!2ARFZnL) BGKJͪ6̹cOeoS=‡E2x *gP+M$lz9/A U3[>ϹR\"GOкĖV #TIOyh49eq*UI=C3t "-0LlEK1X߂ek1J)QLwJ|.mo02y2½>KpJ{*(A҉^HPcFW3_ dT& [Q_ =Hz=]Rbi!Q y0xT\۝ MsуO`>R=y3|Ŏc3:)turEo皠l5<_‡>U>9$/F_؛qh嘨~^ĺ'QE=A+j xmc623^8߶S.oxH=œhSWD|cx>ӆzˋn$Х  1s!eP(./) `KpN |}s1K$Vq]L[Zz2 -UwSpwnmSCo+c=)'RVz<Ϛ Y{H1KfKRם\`=bA9}hg3[R 2Z5䕕X,Tx( 7$plQ3 "h@ynCj66A>E2p 5hcy~Ь#fٰO #5!H|~'y)H]Cdc&E!q?7DJoz;TA 0m>Kiу MwheKդgMmloEË;e%YϞi\\lVm&Y#/$Y&k6׋\,H A>:ֆ?CWvlGro}sl&p~ꢔ `䛃Ǣ5\K"0V5aS}!B,P)"LҢǴhePLaU 1TaŔ} T8UߝNj\?\G7eЎlvG'߇dIT8x 0$(Nr`( ];Ug mB7v"_tA~F91@2ނ°)ٰO\*iaj @g4!e%qM%x}vhd@ ^8g$WwP![z wǛɢ$ьJ`u:F7K̤ ;"<27-³ ޯhM] ˅_mjx!)ԏgQfUNxatQI|!$QrҍϘGc\ƫ>blJM"XA<1?[ZM?fw XO9`A~Xw`gsʓbDtj+‚1r?J̅M$U2Ȥ؊ՈNz"~YG:6|=āyTJ8(uL-B^?Kt/W$aʢ)zyLW^P-n4@UD|7S+ *D?Wr[0eqkXUv2 `Ue"J0ܸg4:JPɎ\uPnvܡA<SY{֭ ډj=r;Ա#HF +++۴#B-]G&OX~StģCIW^yzEfzȹwʅQ'~},,zLԢ )f W'W9/#űAC6? z(,_0|bŕB!5ob@ZF{sB,}_ ,%QחѰ V/q+o. BFTE'QLjil}z3.ʵ; BCFccg!hxY5|dmzPQ3Nqcq%TG=$|$qW r+7c3ǜ=bqrnjFDK"}oyp5p!j ]G Z> I ZWI9v#0}˛Xߟy%?WTx}t=rE`v1fyGN!gZr /(@/,II!yC AMsoNO[q JiFd}cl7?{GGS{c&Q}N " E1y*<^cڵ8mjg.~hfdۆVz-`t:Iy2z\㯙T+St^ߌВ/\ :'QeLDbS!5BR'-6+vVUUȑuTTzn-χT\j:\L%-53օ3Rz|M~2Xj2[OV 3}NAmqJX3=\I8÷BH !7s}8IP St`mgXqmBs9?"G8K #c-6u09x5Ham^eͱhGK5K709ѽtݯH{&Y+⩔ۧ2Պ:AX_F;B%KPUe"}}Kpq ͥN ]eG;tkg. ?>[nm# GN/^g؏8:7o+ ν93ࣹ|b~E[8<6'Z?P)ZNcoB<!IRNޡ0NetTںϱwg2sqhbx|h1g6wlHÔhsc*c{3vB_+RC?>}TUXWEMqgIJ_„G7Rl>.LuZ`)%!䖄C&MGy3B%D=/ʏX"r <ъl9lf#e ïŧEܫq^Abi6Y^fGFʏº[7fVft D$ţQo9Tt%* Iy B= 맑g=:9D+5҃[FU˶T%%iʲR;0_,O^V%u% |)rmBV[޹f#b ڳ*MɁM~= U:V2%}+trHU鱧hȷn3#Ь˿k3I,aJ8|ʚgD5VDBVWltPɞq CCqqR&F:*~˅ޢ?rj&pgwӼ.#v`^=HX7&!1SF3a芞&! 5c'u+ZPL`B);PB؋\ ( Z~ հk1GC5^W /m ;>rykq" vMi ϲtO/蘇b/tǞ\Ftx~qq-x ?^' vyƅpWsWe7~75*|{kb*xT@Y|4q9J8<~;*"SMʃ?.M^:!Hrbzq`2Dcl*նV|m,_I;aqٌ}G6Oo@w |wBF:<`N9! +` LZ%;[(h҆ >B7^UV B-Ajjm ɞt!2;^ ɿ3'ٚL XEyEo}◵O߲h-s6ТF&vy-81g|0&茭F1ЮH9^JPÑObmuVF-t =ŭ%e/uy r#]*ky3b:!}Τ8voa35)0Ȋݍ~>7|\"|8 A(r2hACs4ͫgb7T"mdž5mj5xtCJ5摖|u-;N͍T[sqyN,fBE,MU25Bɵ"=)Ʀ+iB7-Ͽ)un|jD 0 rJfs.:  E,WhLLbolgxFSx>*96yCln{<aȾ'-96~[Q{KqzфJ^h{T CD fYa<[/ j@Vϴd7%ls_7PG^JLi 5(G~' mz 9|9+9fǤ9[;COyM<`{A35&g<6dA2̬xi|SFMꄂhJ/:n/3de$st?|TwK_O?"1*/o Zv,I$֔b4[$Gc,AY^i_=ҹ^W2==y!a" F ìRUK o*סHLVؑ䝲q2P|$ _OaƱL 5=H%;_jG |۽9Q3vKKʏἶsg4r*XF$~=Wȼۢy@?[6g{{!ZKS7/GtmJ; ZD!0]#+rx$xL!1 JNL_z359G$e  dGa.x~sزS ͬ*aqPGaѼ5i֡K-:OfHfA1c,S5}s#48ynD=HOJ2G| ybdE4ya|0+W |W%Z8u<G"_2w 㑿Ҩj6FM!4; q\zLCdDLKFrd/2nU(ĉRJ/П,HDUqQoJMzS܏>+&~AW V,]YۢhVA ǚ޻bֽsPc`gky6j&0x[0KǬQu[e ֎SFaWKaY."AMk%V|Fny0]c6@SW+Ԁpz:1gMwG^y]PC7v$޾޴+ (*d$ԒދFX9KQ61s.+@)]p2{FL"ւfyM}[XnMCϘ#Vꫠ-ɝ~iR׎ߦUmzwg@e'oz ՓL42K,Quk7S:H%&y {PXQ(=j=Eƚ)9sACsπme7AVcVTWE༢ɖg}Vcs:J 66' U+w%B1ynDO''m*i<^8?Zc̯)ǥqKCxސ,G* %r?}'Y k)}0ZA1MY bc]BKBdrR)PSjt(>ˁ̀_Kl=?Z)qkJHir|H\4k})nP9eHw]%_t#;0uEk`V1kL$ђt_8'A n[(8O| Co @s ᫣Z*mcM2 #pQ eٲDd! )ݭcr#& ,L \^a`!N2+ubq1_&I m _55 x$\>|W2S ]-P߄#'|P%,O?KOYᤴ 9.w0!~9¦?Yq=qK1t ty X64a5CcV]&xW̌tNGhh߶O FC[lOZ4/Sk1kFT~ UP56#&L G27ѮR*-u\EOiuES˽VN #8d#pT6wEQ!UB,@jXh(\fhW/BjF3U1Vg9OZL!v ٗ \gQрppH&=#{~T/ѸExLQhD.3=Jv xz&Wf<Ru }7-ŗֲv٪D@n ļ 9BXTӀZn r˄*PNԒ|;}tZY1x$8'0`G鮢;@|!/aS|W}g_L쬮 KԼ[UQ̳-Z`mT5*K!Yn$"xjy,Fs hKi)zĿCkG$Zr%49wGjBu @X6'k=>NtERúѫ#JdyìǢno{|XdQ¼RU>b Jo_l]Nz<BϾ퇻8@:#_v]=n< zT@`| hV+W+F\ HrA;y)};;{ ]sK%\]>1#I_yǀ]eTm[q oI<Īr:N_n"M4Pl" jD={Mc.s=κ( r8u}:$ݒ?=Kdy#{ړ+<`BW Es2SC/ [Q)9Q㓔z>Q-_^h}H3oP[$y/jVlӨ#C2]l/qb\mن@Nߑԓ(0p"J='*2ֳ H㳦SP fGQq b :ɧl9T`="iz64MKBL&JVй2K\@Co,cڊ[zntOm _ ?K\dªc kLp &I~Kly?#'ݟ/YͰZVrL)Er3#t?4F nfmC`gvDt&8Š7kpůX$?U#J> 6 faf,Jq&zb q9n ; Б÷>}~PP5!>RRݱ[4 6d6&t1);.2 f;M("UiطkYGoiUn?G?"L@q$ v5m{hAQxaz=L$i8 $58zzVS IQI{@a CgɮDŽIoe"s-NiRʙV#A^}s}"n{TaB b/:U䧆 xP?2T.Tm5썹$bzl# t,Ϭ;AlcPJs/vu"hlڅ65|i6}dy=,i* Mj.S "ʅ@p4"=-2* !?$7P`±XU) /Z* 9MRҲRm0xt>Jk)6`sJOVmzzn8TN; @(Frs= w3Z*:1P>]Ე]oMɾ30zo '^LUEz[ ҇:Er?/ciIgNZ+N\+b pP>r">/のX=R'4 P_ֱؗMq,B-: 6aGG $~e+-+`+2%). Xz!:o{i!ȷ,S-RsNfBa;(:+غEVʅ+ pNboY-ڕx Ur$x<("٩|oX2وW% tN=1$5z|iDUIa"`xd["_ Ov~>ѵ_ٍK 9\ӹ-/ R+sh1ԍ*D J˳U?8n .._T8n.@OqE(2hNI?bZQ@Nu]<4 7#ύ si|vD>̥J,A|K,Ճy CUB^uv--{]Fm*L7#]2k;=MG#Qpr J(VgLaU/E8IUG% Zs27-$&9{TWHN)&z k1)kOQk_LM8Δ D)$@|HaHajN;m"NP?R"aRvi K7>Rw%t n0ŝY56aKBJ]ب^x.TYƴ++ҮL!`O2QRvZ,-['A&'RE5)\~4ғ%_G@C2)HFhq)&h2s4ŽY5+NW`C},J{gITVJz*}t7ï2E`P{z?6'>8kor`=V<Fmu !MQ`9 BE{u ߯7ʮE X_Ֆ%ki5i9=uzb *Eݡ${pu-~]e~366` bt#R,ײ⨃߭;4]z|q Y0lt=p}*#UMw^ r>xVIy+Q98+Z³X_(FʓFěM#J-,#̐2vρo_GA5ʦJPr^suhW0gӆԙќxC (镝H򃦘 6-bJ`-}>lo1"j8̳MԘ[aYZ2g3=QE\_>) qdGOӞ=b0x ѯ`hfP1b,:ނ- Ƞ.&Dӌ_DÑ&J5s0A)^Ӏ+_w7R [5UP/pE952! HǏ3C h=S5)bڮ!V\ uv9#2xu塪V|Di(HR}-xD,v,I\Wp/ uٌ~<r𳖺 {] ReOC}؀aT~ >[ӑ& T{&U9/50XI6'Y"AX3;F_dN4K&DTS>)9 "t)9.̠'ɧBg KkwO-Q)iľ<X R[%~yIa;bJ62#ϜO C\rX!{-&^I!ѰsUf82piǃ:60LwKd]Lh*YO-A :TRܒkvslθi{,[JgUS;%iBt+YT0&z IrWe2g˴;C6jj xqG@ pgAXzpyz;A)ʡzhcqĢV);/ <%S N{J0|"`liã$'M%;Pd KAL@u/PD҂$k}hH% Ԭf}.:CqDB@7e =u̟@ ?6?qXH:pJ8պdze[yP,=IsffrbMbuŻ.|ptCl{0{!(cJ\3&ۜP-#pX|Nq&ΓqbViZ0zY L,I豤9Lmb .Rɗf,U[a AwJ^X%DgEk7Ma#Ԧ.4ҟϿ^2E>e[g3w2A|'7\":83Aq(?9HE1"Y\Yn.LU{Yb< Ј%N)ptP~4$k?_ h7 XR%%Z+.'7$n@r8O //CoG(ARƸUp.qpC[JK½i+5r6-?ܩ*BoyO*2G$S[ёASW|1?[+}*1wk˟7e8-7A Jز''p鉡>wR1?t{ǟN.ȴe3p}5TmCm ,ZLoK[:-̰˰Sb~W}`{7e7(+Ϝ>Y S26,.ZT`k [cE6Ksj}K-FzW22fwhz /<t"\ddWp&F7i./N(``=l!ltvF5K^䵬m:kd%+aEiRMnoC UYS[%bƩnpQ?X\?sjge$У⥡ kA[ݻc0$+ R+.9:q4fW692k!5syie)"Þ?Tm{Q`5 V3z?-~*WLc?=xQ&)|/|$q}QLoV"WsKQFHbW|@x./p0r^ o<|S 7 +~%$ק!rjx 5HPPEY;ڷoWpkL5N+~*z[=̋eg2 ߐstl11m?wEy5:N8s H?-VQbEd*%W¶GH+c=m>,miC~[QG󬦈cZ&wu$! !v 'oR4Ջ12 Ik h>(5aճ MP_戋_,@ #ZE(fR-D5$1fߏOM`M$ E_wu$ٔ7s sxbkQ/x 3a/ :A9(#sD*$ݷyf D!pʏkV\$U4๓?Wc%v$QkS8E_ jeU,n(wWO98p% ni%8a_3SJTY4ίHr9BnwW-<*{]# P-epCaXvaVE;ԫāc-hZrjM Y,vk@>/TR\ZIl {kۘ#v E>,ڬM)Rޔ [KuE<>'~ɛ: GڅQ^F x5,lK>a#Ppgw7W͒牛n`ٶq$34;dc^rL.kZGpgj0_#H^+=>EՀCNuN$K6M,6| |HLoYs{1½v/=15\ cqzF),M7܄ xVrLǥW<2 Xkd+t+ePq"J:"H'FBm-Jq+6yf[ ztb`fxU:|V/t# HXnh-\ÊGN^ٍqU0?w;ї.ǂPw-䞮w\N2>HM?1*4UU,~} /tbc^aOi6c3ai y`G'8ުא[OhHootuu@.+5wf"Q2, jt*1~ŨƍLL*J>jƉj[0n>,rGd׃$u6*y[i,+%[o{bۛɼGbE*t6?[(ۈoG)Z aiWYPud~!>.(Z%T "1VlKp$fn&=Z/%C"AԜP}dy8U wаz6p6=]*>wgDQ 4& CjRF U*38z9_m=SpVqm!l6ź)n s\l0{t-)_9\Ϙ`P\HޗZ޽ej`N{BnEqqO䴺&-:y*\EO3x\<߿t0ߟwA:=VCsq >v2V=R%j@3.t ?S, Ҳ{D]Ңt[ǎeuU6r "c 8+1b 167K~: tMz@F-/*ΞYQ+gǝWy.ž2UA{ߍQT25En׋61~2#,}~ous5 8:<»(@]?w!>`|4BY+$ Yzbes4քF'CPnBbOz/>=+"E$*cb$9kLh2<%|ˍܬWmX\4v*+dDSe oV!Ɵ_;6D(8 dVfWpPlcN$ٌ:pVٴd3ӻ+FΪ1Yyw3`Dw-k#Q'\׷okWᆾZ Cu*[f y w`NŖi}u9 g;=ۻͧ8زiZ}ЀGx(=XPu|O>bv`H$ȠCZ(wWN4. z fv`gk0RAm/+=cXYy.7Ct"jI>P6號%u kDu7Z߷4Axj5m0=߂5ҵLCwXK#_,G>SSS'>$֫gv!']0JX'"v[ijy (LDQ I]H~ާO~?{X]s@~+(s0S{.Av%IN@VwG \C-ĥ릝8#,>,<Ht]eczlWVqPZEb>>*;)FSJ>mrn*SjݣRh0eG)By'b}|d&#+uTfmLHjgAW .`?[|Yӊ\|!`ADcKUIq28܋Z{' =ms:^$_9BG +br:QT)ZM560%Ե^r|. nI|C;"-gW=sﱋ`{]%qQn%_ߌS} tJ+dqh*6s/{n2l}']̞Bi@{G1ͿbJ$1IuZuI:] C$AUYT޳y;7t)n6ŭenf+\OKPG"dڽ@ 2+0>-JG%D˓dJv7(f!.ӳU'F&qւT'oڤR`˱p .T$(t*#7X* (;r0v%7Ԉ|_Z#cF"Hy[# wtq!C0kkqF_/qO >y +n/(f]˵|\]ٖ *\S-O/.UY$xF%O"uz<`_zM9G x|5G僲7u nHT:%[0d]%oTvtMЋ#s;?P/*h!zĜE?0kl?!덈gџ2Pпt'2WD4 <~QD鬖W&-qo<ϩmKmCU&y;yڈ0H[ y ;S`1@1q)!2'ƋvbQO׆p ٜJ|SZ66ݪ(&I)'E7ZCS!v"xuMΡS'}j'\xM~:{(p5enww)-1;`yW|'H%%x[rK<8UjR4`ٰOX>'v})$tz3 /wڃ^쟕yAX? F̵/ݫGW,i+bh:mz] ,sw$F`۵ W79xmĆ"Vzc1o$j kF󎆩K":.ұce@3G} _Q& V+{{ _.,$J*yɚ}ϸBfD`ZCaꩰHFvwINU觉 ){.O6ͣ琿4<[ OeԦ0= }f_ yԫ~JqoJ68X{]5D-t`%?>h:?U*5ɣ)&⣼N8Aeֳ 8t004rȋk!Ff'  Ê ٸ3Biku |>d鬋XO:3 yr5Ƭ4JzN-pIH.5:YɃT0 *uYt*`lG:h u^q6!v5 >*.E+״m/oKdh=דرi>%ZNÿp;5{- lZz4rS]Am!ۦ9R}YG1ocg!mW|hAU4)"B9Vغj AU@o4y,U\>;TͿHk쟞ʹ$L=qIfg=v[al#c% FM &;"PInFHZI p>z͘`RۗLVĠy8 ~窫Y5l\ycoÈo$mShIhθ@W5<գ&}PJj>LJj{ :{]ƛt␡FRz77ES'ٿ./6y$YU0HJΟJv'Y 5%mn:!ZM]FEL77VMo r2b?4a&ϗ*šPk TЊgGsQ:-iAW>bGr6T/n}:0ċEQd(VS1{ Ŀp?Pa!оn š'Dzc^j<ր+w8;tdcX6˝it=t/}je"e]g\%ii?xmJP:NlTmqDL -ZJjC/A"  NhZ U,fzKvk\ɟ3J:}q,p? TA1PU GXippisBIUxeXIwpDʼ)Q^\{ɩYT@fCxr[!{|n)@Ɇ _PRl$*]vNɄ#d,(3 BO6Vx@7Sm».vn@OaJ_&QV/SN[iE|n ųXчō 0:hL.Y+5{W-ᒬ/:x ~QjG!MΜ5y9DX;VoT4.ērmAju#Ѝƿ š=Zi̥,4J ,"S*q` QD[;PcV| -Ycf} /O*g.0nb'jΔo G(X\j^" <7- V~#5A%8}0h뵘*ҭu^ #7eRՍRn+_^HGy?O6 诈3D"KpU2-WwُYaX=}-7uQK]y10nqn82( ˜yWO@H޼p"v55hϱE}ΉXh@e8o@+|\4;ӼjKk0OP:{`PaYnT 5|$#d{2K{RfpLvzy2\\ "YOYl_Biz(o[&{8+~!HNɽo!>6bFN!v|jn'(эc47PhWdYi =ZukPVBY\ ΖJ`NWz_w(M[KM,CTQCbjB=1XȤk<OUN@{)CmOaXuǫlnG[٘,Jq-Ws[oo{;noVf 2vyϚX6{YSx.6-vқXG]CB:+ WqxeJ/i?Kj{0&& %Ֆ-&I},SO{ S21OF9b}7~'g,vhc=ɒ\:=\H#S۠@i(#"dՕn2?c<#UF"2}qF|YF'yژ'%%t>2}|‚@nDy8h M(=2+K*>RxvFYr$Xm]/K*pJe%N%q^oϻI]&f`$)m=wt`b1DrusfAcDz5Ϯ_ӹ$[k;3!'Z"wcO qC ptt5eGS!5q;? >-u]ˁHT\A%µ;^3tL\S?zx tSpiT(SMĔE-[ܢ # TƨVT@C~#I_-IЪXuINQMbqذ8^#[$Pmh{D:MSLc")~Q:.!~%Lq Z>(f.^fA3ŒA6sXLz<})07ڝ#Tj}l # :{m`۴>gANbSvןq:|}4Yj\VHՠ=]~´)>:x9 \gD[wiY|KO͂R~RUp7bt- IPe%h;KY=q^hxWA?J-&Xei1_fp!Q:-*+^]6?BZJt:SĮ7Wv:Km:FB5 DWoך?cAfEF|`N)֙v_+G1d뉺5S)$$Zx9@ )Zrd ,Y%ۚ^pRcƊ|V®>P؆Jy#O9f`{5]Y|s4 }w)s^)yNJvUoWZqrS}(O1I 6tq f/^9)/=Ħv.]"BП\Yf+0ZAa7.":֛Hp{IT`&+B I袖uU)F\G#jnO(pl<&Se7pwr 0\_f}w{ n-"7V3Ô7r.A^W_51 ^CER'#tM^q7iF%iB(ݺhP | Bh'LqR6ȢY!GS͌z^)vydċ=zL -Åss=^UajtR-DKp-R AL UCۢg _x,I3ZB/3b۲2 CG耈<˚|R>xFay䋲 A4իfŴ+{qq=G-?D5YFwTIT_Y~rq+fS<k:e`nܘeV.it;L[0'0\ $)RBn(?lAį1VytZi(Qxo*VJpm%0pw|+ :aO9:憫ț'+l;:\gZg!欸l^RK`S+J~f&E5ǚ1W/ wpw3|/yrsdbN|*_ u;(Oڭ*O }U\~iljЭ̓&Fp-c ahQLYO'8$̭3]uB&@Q=~$6EVD&'$JB; !0^j.F>#KsaPүe"P] CJ#w' Q,r^a'gFV|%3(ɥ$unv í*b.ޟ0m\8wA8v}oICV8gwWȈi>y9I75p @  ˧Ԝ--'KFr4 ںOAm#rLJXOqT7Pp A*i)T.)Z>Eb"FXb?R,jbyGx~$y(7RQtDDpjOjJB^$Pk*ˬ*cb-b/]> W&INmoCF1n9,ǒdSj-ۚ: *>ʰ#&ĩTz|#5NV&[fSONj dr٪2*C J2Zj%1قe ֽ4)^w+Ru L4>&u#^~TV೒䑗#̓١F|vWb`9!o [\C6]^| 7!̝cбW`5bu;nNgrRxeM4_IU9y Smq{ # Q.A$ku lILԼêM=à ,Zud {  n\_N(H|s'vCrWlg6X̲r ^` a,?`Xy̲9u_~a䘽#ߥ EC8ZU4DCwmx!ƥu8:QF؝$̛]bt|(}]cUEBB3^ Pj4 bїy!a~Ƕ)$!ֳ.pjcsIXmQpcȯIX*E;4%tAx~\hO ]%x%/Nv[0)^,q ^Mx?{>Z:3y-|Ge"R[B/\pkd=~0j)]6cNZ鰅GaQµ}W>lڲ5[]3c_U g8u ࿽87?b)Q&c`'5\ľe;$sC3GrPa~I R1 1nj˧I\2>Vi7T|= qA6 8g*uC $>u,|:w'䣇%ߒ[m5Od1'G'p LO/NCӦ+̢e 2JtJ{l&bᖺ23é9˹aʮه祛 mfC6a0HFTERTvoۖ%u:Wx7DE C |߻4O|.>ff/?N4@|fBIYqf[7[xhKܶÊ80'"-'F7@A[s0^Cqc)Z}|j@6H?duy,N#jXƃY- 3K^[³d7- jXK~0UNXN'0Q13ޤa5 l,V!# D*acfC %@ ,3]…]$դYnAD_6Ȩu+O\!]㰠M{"Y%w=?]C=;wW|{LģRW;Co!$%q&-PKLS~~^Ʈ֦-o.``@N͔dF3aKˁAx˿ڤs[;Fpl",̉!?Jh:~H0e?-3Yސ:ٞoP>!g(K Cwf4AZJAV_- Wi0 G{~o`8~gBZ,KI,9efG'~HY&$(' ytb#@:qMBhavQdkKNui3};%zsrrRhU Y|YŶ5LݱE쵖ߴvl^& t(N7<>Ik`d$\8IBA[=ˑg Oڌ=*v3J3&a+R9nu'(N$z7ej$p.>l|_]uxPCJ{nXz{%!,beBcP{/{s6Ic;%|w&oĜOU8ԷA@urxb4 kvYβTmL~q%65# 7b>-t24>vkbߧEpaȸ:~Ygr{Pv" Ǟw}/RMreNmشBw{G6 &uQ΢mrk(B ̲- #Ջz|9 < #U;e|iD,_BHwQnB=ాHS$5} BCɳWjnwf ((Znƙ ::⸫U)EMGzeTljgp!Eb$ hҟ'tf4n3(Hy}f|hԘb@s })[3.jh' 9 }VO!^3Dq+mez#}SLJ:GAJ<;mŠzO? A֥1nl$CVWŖH,1ӝ]fDayȋE\sÿ$nP$'0u]vo錳)cLVjиr'a Lȱz&C[Vwn{ \Gl{)n礌kzg2v7{鮠H[_w8$>u# <n?z!Lg$hwVV8;X#rGzQ`EkP_qzXd*'ʉJ0Z$a@nhZ0t4N~(JnV7p&!*a`Ϣ)VlZ)U˸x@%Gms5<\=?) V۟or⡕!K\\Юm/ 'JLv -asF]a{?T޶KG 31DPUmBݻB [ v:ykzUCI5&ǖYCF4IyБ '%8nIt?6`s Q*?Xfi}g|Tݨ_$-=BM|SLօU'[M!L: ޞIfǽe?f{$1CR_A?4Y&fVʕIt8͵bvTZz^\AD\qX?QPP4lgxtc,o<(KgRqa5)Ly"L{V+w|9 b'%iUEeX9XCJ4^ SJjL| Ǘ(3=<vCD^'UMh[mz@{S .\v$RoW H3˛H27Eps9=CU9t[-0/G2yv܇+s> .!t>ʭvσ ~ vƎtroЉ2Тi58FɵDY;@7G7. `@T,imGR Xu[VGݻ -cԿԫHn8SWy:pgh秘Kҿ<,1Iqˉʨ TAaQSCRmyܮ*xԵwJ`#Á&Q^hxB@Yv/\gf0na0q)]sF5rÿ6.Q$T儦=H(QLoo q5JfXt)ܭW 6xd-XuەrGSs~I p2eLN;Eo ۮ m,4^人xg3=̤O)!Aڶ%k#fbA鸕:Hէܧ.BMc_BWfMbS,s`C%2\v{IA$t-ud?){X&лÅĚ/x$~wRС~qnXRd_ՙYI2T&d-p㽘 ko>:7VIS-:[FPp5/QL%}E 7|i\^jL0yckQd\U"@(qqfPNzG*.r P#/ ޚNxG99Œp}WE'63jB Fdn7sPo/V`Q1M BѠI9lx`.Hu:2[Erۋ1w;NWAAu~<Q΅ 9W{K+&r{ȡluk}A0$y62ѷ*Գ-\ƈzӀ#;+#2tyYdH#5fUd@mC]|pi զD:g+g侟}k3)=¡먪7ƴVJp`a\:snQء\'F6?;ojo"/O |vkX]{RSCVz9`P<$jutН Ѩ{YsF"iLZ `2tt7]7sg`|t x`Eha6/|$Ebo٩?ei(&[RӬ{: % ( w>pQI5* kp{]3m7aq9F0->AeΌó]?S(ƭfP4f=%a]-( W%el==S]}Rv9fPNN<)%-:.$]V/;7fD$buZ\Xs_I"ݶZXy㧸p'ԁhz'J{NDĪ#ޓ$7xSv86R${(J$ <ށc_ @9NX.XGfAbq9p=1>ݙߏ@'M Dի965Hۄ4HV>'u5u(c;3_IQ8DP֬,n5! pk%t@b>J,Fӻ!'o J |@ bn@񳘫F#v6qE8?uZ#zmmۜ>"S]wU[t]~g JydcBt儠NZ#AO5X?M)%gUӽ49/rFLծ)%HXZ"N C1[xgEY16k@R^N@Vu/bRIٰ}E`R!3UV_ֱF/.Hl!0LB;tkq@(?⿌5䘗KRኪU_3ia1ޛCB `U&w~7ʆڝk|a|:]XzF#Fw$ě夡 gYgv$_l8cg%frr ZetnQ,_)GR^Á[3i[2+gxvʠ .{Rfb!Tאַ|M'MQ/wV6uyVrzɺپ,*'\r64oS.@Hڼ9$/.?+*][0b`;6#;ZzNM sn!y}߶>(J˨ÊOd4di}HL:<9OnJPΧY;)NWs,w9^J}`pGQ7|vls2{LLdN=q g]}s!TB7ЮF/{@{^">Ԋ=|x^B[qZ V]7uRTMqFѸ \Es0c9_^ U>aqT~6|T䭎3efZ+tg l\710}.PuinR駸0l9AAPZ)L^,8Hc;!K޽H*iML6A焖urD7;]wH3ף߹ f BXM3VX  I!|pm@^ϳF>H̙f򄯅txi/b.ץFMJ=gG5a4A'`N>ެh# ?G-gS WGC?KiD]pppR=c[F;M?K}e 7& rǶ9հэqdYP[2] }bvqRO d_qY ˶[?hy 6P>|[E;2RK>,K<1ߏWEWOpY}V/v􁴤ug)/JtOGyNuf֯6CtZT.ȡͺDfʯ16tG!-a-y>;4< *zL[!'OaƱ_T;'cG /l2 _dM,t̹?-TD\f/!T6 i=?OAqhU'5l;&0``}vcJ'! ʞm%87KqS(!,*"xoP;U[iln:D1 !]7V ]"Jh@ukaXq/D:62"{GK.$|D n/I71/{2J$TL d1CLX9pkSD=[2|Ú`)uL 9͢~6685\!h\8pW%[?5q'_։ )Z>o;?~qa\>QQv?Em3֯:8#ݖӏ^] F'?Q&Qdz7mQ "zHNLz+ٝRZq{>x'3kjZhHS/fz?6= IŠ46`Pt\#(ξp' c4/,0b {̳m֯1qm nKƈ:--eVL Xʘk{NJYV_W ƠoxY?YK>g3iكg*xOnjc/q x˱x88Hyģ`D77-tjhEM-,~bKJd%$k\wie$/,1RsgдT{J)%G>RDVLj)ɔ3R0r+@p"LSIB'h=>0v TU˒A (EGSobC]A7PZG6ycXۯ&ڌ1;%EG@ƅ04Yy~,eeg]8߰( zy^N.DˉЫW^ݡ3q3e1n,6cN &q/)`E.j% 7?,K ݮ_]PjdssQ܃y uSa=Twe8gOrw^@;t~#]rgߟH%5I  )6cIoߥkfQm ;v*ih(L^&89?ĐҁoҎ]b`vXzFa^rT e%n~OɇE|"`ڎhnUrU4 ̩]bۼb=lIVXrZn.T)ö|2,Qc9uNճ> @Y' 4(t p{oei27rr6J6>Gv?(3f7GU**%2\)ݪO8 kxvK*.z1w~iLL[m$ alW <*T}28O<$ߌwrW 9 oiKOL=!Cɠ%sCDʇS.%)݇8m*jR[\,FPa5g$m$@:Q EZ?|g4(]pM2~9F U,s7(%eY#R=aˡ/4m/4t (i쉍=qJ]%6Ϣm }&HKn@W}'_6C&\^%;iT_s+A.Q,qQ<!J;Yʛ/uB(,S#ylʰ5OW //|]>2&6 $ԧ8.<8&v' z%I|4{&}R3/,$FؓIY{BޫNȽK3u3ga!?sfZ`\o$DZn4@ܶVe<\HnjQsJ}1Y. ?,]p4Eq%  l!}SsP:݆{75u_eZ ʹ9i Jut1[kY*zKC$ϑ}xM-|z?S2Tfbg. G?xeʷ--ɞ;`/tf;8)iۀhCqoD],eE~(zXLȢ.[̀? (ƾ|H>8M \}.A\㥵0=*3Cx2D#4(Ww1has gQ2ЍԸѲ:Lr2;aTJ3z;6 ܢݶ5#= V{D]T=c6lbxwH^-Ձu&|@p(yaM Y@46~n/oͩXmZD;p~ޘ*+3D6 _ok͐w<2_&7;/Ty8}!YS3JuVrUISO=sបy?3'6[ٹ¦S 76V&1_c$VOj1v$A/֞97B AC2!"H8M|: lI8h;aSٙϲʙ֔-=~pu"rx[[ij=Hdyٵ \4SS 8{ثbwBX8cmm/<&/ Tp`#k'WQ֍ ǺhSX^v*or(rq(Q(I mb^\uvw, ȇ i:Fiɰ;Uoc\c>pPvB M+G!p\ ?w6OɝS<:(F"\e8K&Cr y,Do()t,yvy2L^ΚWR6 Qp.TzvBF]4D:'paehwJz\QyCJ̹si䮊{oJ3ºt0EdhE"hC;萦b77 GqU%Kqn.¥Y=JJ|' 9NcT3 U膫9 +~J"_C&Dwnro vpF(쏖&iqzaQ&@}I`^EM؀[q%>"u!Kseo\ 'YOo'abL1uя.VbY4wa%%F;b]66XDdG\^3;D itUrElQtwIh^*h5|4"'y<@$i Edn{Ԡڊrw’k;7w#, +"KFLW- I,JܹuJ829@4AUO:- '-z8xTO kO~W:IdTPA%wbHD{ fa\ g0Ͱ/PC!AMC⹫[:nKGT/G*N׏y{D-PF^7F,r@xSB.Y8b UԂH=4Zd-Tz=c Bn* 7ܔ륩qZI>C9š'dۗ7LGul#*E-ًp6dlc7FwZSd/$=&"6 1ִHxkIp 9.ɴC? Y>0}m [}v[շ)_bc73%7V;&J4lӀ3BYli=箯>Wv&C vȪc5gCt4;qN8@a|uE7LQxJΒ&Zi+zw?Y$<'VŠ-5DoSY՛+6P"ܳxFo+NDo)KnnpGjrMP|he@a6x͝+`xSq"?:mi᲍ho?r"^'eyksP6-u1V^J $ Yu(gSˀ"y_q %s˟;8+PS<#}E R_ ~7FLddU(zDkWGx݈36Ϸ)ZYG9FڀsqzW* ‹'a6YET7K+#%+{D_ n)Nzy{T"Aȣֽ? ⱟ'lu`v~3=Cp=_ڌ`E VECD:QQ$g4byHM.VSZ GA uhE(!D}&jE58kM8P,wov1ȒXYw-a4쭬VS4;e >kv lg*$0Ki۝Dޱs*d>0}M l6,T>^@%KrtPXLHO[ f$oj%z#J߫[ 5lD9t]_{nd*b~8m ޭŬXlj:NĈk OOudܗAFnXE׎ =\sb$ffLfqgxKr#hQ9˛>A\hVK%Gɝ@i¦A=U-CMpن>; A[D%e+uYq9Y"(D4'ӯL4I@8hy3zC!-t|}/O̅,hhĆ *?6d)ztj@Q$ef+yWڒrD]JU(m4`iV4,͞_jOE ClJRm:l|.\u$:>e5=gU^4§/ۂm#870)<u6%Y\l̒ 2( (kᏉh3y5ue=#f|zql,AV,2s#CƘI6E'MCMK#gd>%TOmy?kkNOw\;/:/>)ZUzt CTqY|fYa;y!F]E ,QlLOP$A~UfJ3'ƼNu8SyS0 <I 8?HU ɸRv΄4%U7*F}I#bDjBF,?Af1_"+u)l@Mͤq>=ӿ>#79p|V_KL~~8FZ.ԵsM4^P1ndH,ɶH#vd@*^\~0J([S`ۉDg=lckSCC4wgwriS@HG/ FΠjc}G] wdVY@|Мl06#ǴD#bAG_İ>LNF `'L^4Uڋ*;+'B2T+5Bݔk&M+\߯' jee:OQJE>93I7.jm.q[g]3-Me #՚xee)j{FVљy!;\@-S`fk{:a&OnΔu5”b*vQGF4on(=1U.Lz( CS~?&i){9ksޒPR/ec!& qP>be>"=+;qiDdR;GHyd< Kn8?L=0+``=."' ɇwrCDhrFlCK^n2.6 ͼ^ΠYGIPk%$NO)EzĘ@ל˒"}53w8PNXv^HuI/n/rx%n}+MToYmiJNP5Ad47(=eu朻}*(C<2Ghw:VlUA9,>i ^4EgӿrW!BzO3O>cw uBdzӅ4nKatzޤ x N"`\jb8+ ifqI6'!R~qD :[27>~3ߡ-<|㇛ BJ(RK&Q_ viL߆ ĕ0'xA35:hCf#w42B~DWCy-Ϳ&OM%L>i N3cJ=]i:t9idna,nF؜"c9Q"Riӥpz'v"UQhbd\+q7p; bk+dN;jVNpeZ17 z/r[}T?u/ļ6ޖ5 Gnea(ݫs-$ ɶuY62pOvӸ?)Ƿjhvҧ:3`hhl{-GЧ(8溧 ȱJ>@H]Du0ф^p;n'@WQe*iNt^S"(6ΝhWoWQ+ݓdETRhpuG&O">?Hjn:bc(HJcB7~ !%u!Nm7 NcJbm e6:Pp uW/oU\X8;)+aHeדi)uֻ<]1NiBfh=! K8{Є0I5-h\f^>T>Eճtnz?=ÕET:@j^ޕ^3"sT.FT%F+48KYbC{XU}>|!9RM9x,\9(cp('\4NF L4?$>'@/w |ɫ@'1Y0JrZ#aP&>=z&^1%@m7A@POr*L|$wwۉN&RӹHw٬Vut4OdO2pÿ{TD GL!S.h2H52z㓕;"KAVqb0KG }%ȸg_RxhOTOG<[{y511*x$'v2~%#$I=4q-32%jSffm#>[~_vy x?8 >Yb]r#Qh斣Eɟ:jk0"<>VG30,'cex0[ʴO⟟9V-0JӔ$ 1=Uxr-lwOx?UhQ LWƪh*aG[QtceQZ9Q 9?2ݲ@S!Xֺ *!2=*M pd{[,48?l/'m|vsHV&$3m'T>j?Kup-1jKa~<9Q#sviaɜ07AD턌[foυX ]<^taA{f=YNI;v3Sq+ v\ʌ,>3%l1e% 6ڷF2'Dĕn$,9OFO=\|%F%I*7 {Zz\zN`K֞i"#XGPAsaU[p J]T)W/Y-6ϳmOl$>Mr>0RΩn2~ ڹdYZq m (Lg(m~^iK3mnB r/ɴMf'RNKpz-j0؂d6  67qG uL YZ