python3-cephfs-12.1.4+git.1502953626.155adb5253-3.3>t  DH`pY3/=„jTo]1+F$b[°)ȏ,3ýipb0'U6]1a[kh=ҥ奦uPu3Bdʌ26峿NCI?Ҭ%B%9(}t1Ũ qf ɢ 3֟(e/B.U)/"J5#`+Wsd2 |#Bl#o.h]F,gs`I+WӖ)Ȝ)%qQ^Ę[Ȝg0VQ 0g1771ff1e2546b8aee004098eb46fda246910b49622VY3/=„>֨$mJNC)gCجGhbfyn@sR-Aq3AH0] Lؖ3]=_(?4?< mVp~&ڼ7*%ӼRRᬄИ(zٿo%4(YRG7~="* i.`rk$el: 1Õ `+[ lǧmΉu"0ÃsSur`DUW˪v"ަت }X>:d?Td2 6 j? Xu     ,T  2 (8I9I: IFoGׄHפIXY\$]D^bٚc#dڰeڵfںlڼuvwxy zDCpython3-cephfs12.1.4+git.1502953626.155adb52533.3Python 3 libraries for Ceph distributed file systemThis package contains Python 3 libraries for interacting with Cephs distributed file system.Y lamb71openSUSE Leap 42.3openSUSELGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and MIThttp://bugs.opensuse.orgDevelopment/Languages/Pythonhttp://ceph.com/linuxx86_64_mpA큤Y cYA3Y Y Y Y Y Y 4418975190b6bcde1b45c7080168081e1f0a3e73e1e1e14ed1ebc18f14bc7090541f49a1c32b5d7eaef7d117030408c9ceeb73b700472966d670460259861ce268b329da9893e34099c7d8ad5cb9c9403bb5a4ba518c6bf5b663e2cfc4dc5d3ffdea0835589fa8e92299cd84d0379d17rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootceph-12.1.4+git.1502953626.155adb5253-3.3.src.rpmcephfs.cpython-34m.so()(64bit)python3-cephfspython3-cephfs(x86-64)@@@@@@@   libc.so.6()(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.4)(64bit)libcephfs.so.2()(64bit)libcephfs2libpthread.so.0()(64bit)libpython3.4m.so.1.0()(64bit)python(abi)python3-radosrpmlib(CompressedFileNames)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsLzma)12.1.4+git.1502953626.155adb5253-3.33.412.1.4+git.1502953626.155adb5253-3.33.0.4-14.0-14.4.6-14.11.2Y@Y3Y3YY@YaY@YYYY{'@YoIYlYlYZ1YS@YP@YP@YNT@YMYA%@Y9<@Y9<@Y9<@Y7Y2Y0Y-^Y)j@Y(Y(Y(YY@Y.Y@Y@YYYX:@X@X@XX@X•@XZX@XXXX~@Xn5@XOX=mX8'W֘WҤ@WҤ@WҤ@W#W#W@W@W/@W/@W:W:W:WWW@Wncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comtserong@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comddiss@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comddiss@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comjfajerski@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comncutler@suse.comrdias@suse.comncutler@suse.comrdias@suse.comrdias@suse.comtserong@suse.comtserong@suse.comtserong@suse.comncutler@suse.com- Update to version 12.1.4+git.1502953626.155adb5253: + ceph.spec: provide libxio 1.7 and obsolete libxio <= 1.7- Update to version 12.1.4+git.1502878199.4183317204: + ceph.spec: obsolete libxio (Note to reviewer: libxio was only ever used by Ceph (for an experimental IB/RDMA feature), it was never submitted to Factory, and its functionality has been integrated into Ceph in a different form. For all practical purposes, libxio has been replaced by Ceph itself.)- Update to version 12.1.4+git.1502871088.edf82a59df: + latest upstream luminous (a5f84b37668fc8e03165aaf5cbb380c78e4deba4) * increment upstream version number to 12.1.4- Update to version 12.1.3+git.1502698163.45fc586a51: + latest upstream luminous (6808af486d3bdce966232810004648502c967b13) * increment upstream version number to 12.1.3- Update to version 12.1.2+git.1501914637.59afe41c49: + spec file * ceph-volume added to ceph-base RPM, where it co-exists with ceph-disk- Update to version 12.1.2+git.1501865907.88dc8cdc9d: + latest upstream master (7350fa65d79b5f0ace427e609565f07be35cfe62) * os/bluestore: allow multiple DeferredBatches in flight at once (pr#16769, issue#20295, bsc#1043399)- Update to version 12.1.2+git.1501790037.82d6a9c37a: + osd: move CMPEXT response munging into completion function (bsc#1047244)- Update to version 12.1.2+git.1501684697.aa6b0153ef: + upstream luminous v12.1.2 release candidate + latest upstream master (e27a78c9ed3984b54a312ced3ad67fcc8f464fc0) * mon: add mgr metdata commands, and overall 'versions' command for all daemon versions (bsc#1050063, pr#16460)- Update to version 12.1.1+git.1501669490.04d0738487: + mon: extensible output format for health checks- Update to version 12.1.1+git.1501501507.6dd9e8fd8c: + update to latest upstream master (fa70335db25f2b661b329d5d8f37039b77f2d1ae) + spec file: * build/ops: rpm: Drop legacy libxio support (pr#16449) + Other notable changes: * osd: moved OpFinisher logic from OSDOp to OpContext (pr#16617)- Update to version 12.1.1+git.1501231943.67577225bc + Notable changes: * rgw_file: properly & |'d flags (bsc#1047977)- Update to version 12.1.1+git.1500447879.e5aac115d7: + upstream 12.1.1 (release candidate) + Other notable changes: * build/ops: rpm: fix typo WTIH_BABELTRACE (pr#16366) * build/ops: rpm: put mgr python build dependencies in make_check bcond (pr#15940) * ceph-disk: support osd new (pr#15432) * ceph: allow '-' with -i and -o for stdin/stdout (pr#16359) * cls/rbd: trash_list should be iterable (pr#16372) * doc: update quick start to add a note for mgr create command for luminous+ builds (pr#16350) * libradosstriper: fix format injection vulnerability (pr#15674) * mgr/dashboard: add OSD list view (pr#16373) * mon, osd: misc fixes (pr#16283) * mon/MDSMonitor: fix segv when multiple MDSs raise same alert (pr#16302) * mon/MgrMonitor: fix standby addition to mgrmap (pr#16397) * mon/MgrMonitor: only induce mgr epoch shortly after mkfs (pr#16356) * mon: Fix output text and doc (pr#16367) * mon: add force-create-pg back (pr#16353) * mon: skip crush smoke test when running under valgrind (pr#16346) * os/bluestore: use reference to avoid string copy (pr#16364) * osd: combine conditional statements (pr#16391) * osd: restart boot process if waiting for luminous mons (pr#16341) * rgw: S3 lifecycle now supports expiration date (pr#15807) * rgw: acl grants num limit (pr#16291) * rgw: delete object in error path (pr#16324) * rgw: drop unused find_replacement() and some function docs (pr#16386) * rgw: fix err when copy object in bucket with specified placement rule (pr#15837) * rgw: fix potential null pointer dereference in rgw_admin (pr#15667) * rgw: raise debug level of RGWPostObj_ObjStore_S3::get_policy (pr#16203) * rgw: req xml params size limitation error msg (pr#16310) * rgw_file: add service map registration (pr#16251) * test,rgw: fix rgw placement rule pool config option (pr#16380) * test/fio: print all perfcounters rather than objectstore itself (pr#16339)- Update to version 12.1.0+git.1500295948.39d2e5f424: + spec file: * socat build dependency only for make check * fix typo WTIH_BABELTRACE- Update to version 12.1.0+git.1500284183.1ed97736ab: + Spec file changes: * bump epoch (not relevant for SUSE) * add socat buildrequires * libcephfs2 now obsoletes libcephfs1 (bsc#1047020) * HAVE_BABELTRACE option renamed to WITH_BABELTRACE * fix a regression in ceph-base %postun scriptlet + Selected other changes: * Revert "msg/async: increase worker reference with local listen table enabled backend" * build: build erasure-code isa lib without versions * ceph-disk/ceph_disk/main.py: Replace ST_ISBLK() test by is_diskdevice() * ceph.in: filter out audit from ceph -w * common,config: OPT_FLOAT and OPT_DOUBLE output format in config show * common/Timer: do not add event if already shutdown * compressor/zlib: remove g_ceph_context/g_conf from compressor plugin * core: make the conversion from wire error to host OS work * core:" Stringify needs access to << before reference" src/include/stringify.h * crush/CrushWrapper: make get_immediate_parent[_id] ignore per-class shadow hierarchy * doc/mgr/dashboard: update dashboard docs to reflect new defaults * doc/rados.8: add offset option for put command * doc: fix link for ceph-mgr cephx authorization * doc: update intro, quick start docs * isa-l: update isa-l to v2.18 * librbd: fail IO request when exclusive lock cannot be obtained * mgr,librados: service map * mgr,mon: debug init and mgrdigest subscriptions * mgr,mon: enable/disable mgr modules via 'ceph mgr module ...' commands * mgr/ClusterState: do not mangle PGMap outside of Incremental * mgr/restful: bind to :: and update docs * mgr: Zabbix monitoring module * mon,crush: create crush rules using device classes for replicated and ec pools via cli * mon/MgrStatMonitor: do not crash on luminous dev version upgrades * mon/MonClient: respect the priority in SRV RR * mon/Monitor: recreate mon session if features changed * mon/OSDMonitor: do not allow crush device classes until luminous * mon/OSDMonitor: guard 'osd crush set-device-class' * mon/mgr: add detail error infomation * mon: Fix status output warning for mon_warn_osd_usage_min_max_delta * mon: add support public_bind_addr option * mon: collect mon metdata as part of the election * mon: debug session feature tracking * mon: do crushtool test with fork and timeout, but w/o exec of crushtool * mon: fix hang on deprecated/removed 'pg set_\*full_ratio' commands * mon: include device class in tree view; hide shadow hierarchy * mon: maintain the "cluster" PerfCounters when using ceph-mgr * mon: revamp health check/warning system * msg/async: increase worker reference with local listen table enabled backend * msg/async: make recv_stamp more precise * msg: QueueStrategy::wait() joins all threads * msg: make listen backlog an option, increase from 128 to 512 * os/blueStore: Failure retry for opening file * os/bluestore/BlueFS: clean up log_writer aios from compaction * os/bluestore/BlueFS: clear current log entrys before dump all fnode * os/bluestore/KernelDevice: batch aio submit * os/bluestore: Make BitmapFreelistManager kv itereator short lived * os/bluestore: cap rocksdb cache size * os/bluestore: clear up redundant size assignment in KernelDevice * os/bluestore: differ default cache size for hdd/ssd backends * os/bluestore: fix deferred_aio deadlock * os/bluestore: move object exist in assign nid * os/bluestore: only submit deferred if there is any * os/bluestore: reduce some overhead for _do_clone_range() and _do_remove() * os/bluestore: use bufferlist functions whenever possible * os/filestore/FileJournal: FileJournal::open() close journal file before return error * os/filestore/HashIndex: randomize split threshold by a configurable amount * os/filestore: call committed_thru when no journal entries are replayed * os/filestore: do not free event if not added * os/filestore: queue ondisk completion before apply work * os/filestore: require experimental flag for btrfs * osd/OSD: auto class on osd start up * osd/PrimaryLogPG solve cache tier osd high memory consumption * osd/ReplicatedBackend: reset thread heartbeat after every omap entry * osd/filestore: Revert "os/filestore: move ondisk in front * osd: Check for and automatically repair object info soid during scrub * osd: Preserve OSDOp information for historic ops * osd: check queue_transaction return value * osd: clear_queued_recovery() in on_shutdown() * osd: compact osd feature * pybind/mgr/dashboard: bind to :: by default * pybind/mgr/dashboard: fix get kernel_version error * rbd-mirror: ignore permission errors on rbd_mirroring object * rbd: do not attempt to load key if auth is disabled * rgw: fix compilation with cryptopp * rgw,test: fix rgw placement rule pool config option * rgw/rgw_frontend.h: Return negative value for empty uid in RGWLoadGenFrontend::init() * rgw/rgw_rados: Remove duplicate calls in RGWRados::finalize() * rgw: /info claims we do support Swift's accounts ACLs * rgw: Correcting the condition in ceph_assert while parsing an AWS Principal * rgw: Do not fetch bucket stats by default upon bucket listing * rgw: Fix a bug that multipart upload may exceed the quota * rgw: Initialize pointer fields * rgw: fix leaks with incomplete multiparts * rgw: fix memory leak in copy_obj_to_remote_dest * rgw: fix not initialized vars which cause rgw crash with ec data pool * rgw: fix radosgw-admin data sync run crash * rgw: fix s3 object uploads with chunked transfers and v4 signatures * rgw: fix the subdir without slash of s3 website url * rgw: fix zone did't update realm_id when added to zonegroup * rgw: log_meta only for more than one zone * rgw: rgw_file skip policy read for virtual components * rgw: using RGW_OBJ_NS_MULTIPART in check_bad_index_multipart * rgw: verify md5 in post obj * rgw_file: add compression interop to RGW NFS * rgw:fix s3 aws v2 signature priority between header['X-Amz-Date'] and header['Date'] * vstart.sh: bind restful, dashboard to ::, not 127.0.0.1 * vstart: add --rgw_compression to set rgw compression plugin * vstart: allow to start multiple radosgw when RGW=x- Update to version 12.1.0+git.1499090920.2c11b88d14: + With this update, Ceph no longer autocreates a pool called "rbd" with id 0 Deployment tools must take this into account! + systemd: Add explicit Before=ceph.target (bsc#1042973)- Update to version 12.1.0+git.1498654198.20d6a47cc9: + build/ops: rpm: put mgr python build dependencies in make_check bcond N.B. this effectively eliminates the following build dependencies: python-Babel python-beautifulsoup4 python-CherryPy python-coverage python-flup python-Genshi python-html5lib python-logutils python-nose python-Paste python-PasteDeploy python-PasteDeploy python-pecan python-pyquery python-singledispatch python-waitress python-WebOb python-WebTest python-Werkzeug python-WSGIProxy2 pytyhon-python-openid- spec file: + removed BR libatomic_ops-devel as upstream replaced it with std:atomic + removed defattr as they are no longer needed on sle12 and newer- Update to version 12.1.0+git.1498478524.117b171715: + include 12.1.0 tag to make "ceph --version" happy + tests: drop hadoop-s3a tests- Update to version 12.1.0+git.1498309403.f4fc02fff4: + upstream 12.1.0 release; for details, see http://ceph.com/releases/v12-1-0-luminous-rc-released/ + revert several pre-release commits that are no longer needed because the issues have been fixed upstream in the meantime + build/ops: rpm: sane packaging of %{_docdir}/ceph directory- Update to version 12.0.3+git.1498202776.b806032985: + Integration testing changes: * add DeepSea integration suite test definitions for teuthology * re-enable several RGW tests that upstream only runs on Ubuntu + ceph_ver_hack.sh: use git describe --match + ReplicatedPG: add CHECKSUM->CMPEXT req translation- Update to version 12.0.3+git.1497426468.6984d41b5d: + qa: add initial deepsea suite (task and test yaml) + fix "ceph osd df" (regression in latest upstream master) (pr#15675, issue#20256) * mon: move creating_pgs and reweight_by_utilization into new MonPGStatService * mon: move most PGMapStatService into PGMap; rename PGMon's to PGMonStatService * mon: mgr: move 'osd df' handling to manager * mon: inherit PGMonStatService from the PGMapStatService * move the OSDUtilizationDumper code into OSDMap * mon: mgr: enable "osd df" on the manager * qa: add a check_commands.sh script which looks for commands with no tests * qa: test 'osd df' in cephtool/test.sh- Update to version 12.0.3+git.1496909744.9f667dc335: + build/ops: rpm: one License line to rule them all- up memory _constraint for ceph-test to address ppc64le OOM seen in IBS- Update to version 12.0.3+git.1496902753.b18dc53186: + build/ops: rpm, COPYING: drop GPL 2.0 with Autoconf Exception (autoconf no longer used)- Update to version 12.0.3+git.1496754880.35cb2861ce: + merge upstream master (b1d06a6b54)- Update to version 12.0.3+git.1496494491.ba3c561a92: + merge upstream master (97d6e150e5)- Update to version 12.0.3+git.1496306960.2db336d85e: + merge upstream master (b19352eec3), fixes bsc#1041492- Update to version 12.0.3+git.1496147556.f1d6115861: + cmake: build boost::context and coroutine only with rgw Beast frontend + build/ops: rpm: reverse s390 bcond conditional block + build/ops: rpm: no rgw Beast frontend on s390x + build/ops: deb: no rgw Beast frontend on s390x + cmake: delete excidentail reintroduced line. + cmake: link radosgw with boost libraries (bsc#1040119)- Update to version 12.0.3+git.1495849076.4457d36178: + rgw: remove fastcgi from default rgw frontends + RGW: Turn off fcgi as a frontend + build/ops: drop libfcgi build dependency + build/ops: rpm: apply epoch only if %epoch macro is defined- Update to version 12.0.3+git.1495798013.23dd2b67dc: + ceph.spec.in: re-drop %{epoch}: prefixes- Update to version 12.0.3+git.1495787939.3f6446f64f: + build/ops: rpm: adapt License line to Release 2.0 of SPDX spec (issue#20091)- Update to version 12.0.3+git.1495675338.07282a4057: + upstream 12.0.3 release + osd/PG: Add two new mClock implementations of the PG sharded operator queue (pr#14997, bsc#1040103) + build/ops: rpm: make librbd1 %post scriptlet depend on coreutils (boo#1040230) + build/ops: rpm: move RDMA build dependency to distro-conditional section + build/ops: rpm: move python-prettytable to distro-conditional section + cmake: added empty RPATH to libcls_sdk.so + rpm: drop %{epoch} from new rados-objclass-devel subpackage + cmake: fix boost components for WITH_SYSTEM_BOOST + cmake: build boost::context only if rgw Beast frontend is in use + build/ops: rpm: reverse s390 bcond conditional block + build/ops: rpm: no rgw Beast frontend on s390x (bsc#1040119) + ceph.spec.in, debian/control: build/runtime dependency for cherrypy- Update to version 12.0.2+git.1494343993.7527e4f0b8: + ReplicatedPG: drop CACHE_PIN->WRITESAME req translation (bsc#1038063)- _constraints: up ceph.spec disk constraint to 28G after seeing a build failure in OBS- Update to version 12.0.2+git.1493341348.9148e53: + ceph osd: add support for new op cmpext + ceph_test_rados_api_misc: add cmpext tests + librados: add cmpext API + ceph_test_rados_api_aio: add cmpext tests + test/librados/c_operations: add cmpext tests This patchset is a straight cherry-pick of the upstream OSD/librados cmpext changes (bsc#1035937).- Update to version 12.0.2+git.1493291471.adb6a43: + rocksdb: sync with upstream (bsc#1025891) + build/ops: cmake: explicitly disable MSSE 4.2 if not supported- _constraints: set higher disk and memory constraints so s390x builds don't fail- Update to version 12.0.2+git.1493238434.71681fd: + cmake: added empty RPATH to libceph_crypto_isal.so- Update to version 12.0.2+git.1493227670.3396ca1: + rgw: use a vector for options passed to civetweb- Update to version 12.0.2+git.1493192333.3305a0c + merge upstream master (0d368d2c8544247a4aed9c71c74e77b0c6bbfb22) including 12.0.2 development release- revert commit a9a50f690085091bb4446095418237f9fef712c8 in preparation for rebasing against the upstream implementation. (bsc#1035937)- Add ibs_constraints.sh script to address s390 constraints tweak needed in IBS- Update to version 12.0.1+git.1491557762.4e47e9f + merge upstream master (2950ad91d25d0d6e2e3fb6842d5bbc36353ba2a5) including fixes for: * bsc#1030068 (s390 build) * bsc#1031311 (ceph-mon.service not enabled via systemd preset)- Mention bugs fixed in jewel codestream that are also fixed in the current codestream: + msg/simple/Pipe: avoid returning 0 on poll timeout (bsc#1014338) + build/ops: fix undefined crypto references with --with-xio (bsc#977940) + ceph-create-keys: add missing argument comma (bsc#1008894) + common: Improve linux dcache hash algorithm (bsc#1005179)- Update to version 12.0.0+git.1489432599.165c23f: + merge upstream master (0c2f5f7214d2410a7519f88e65ed5273d6480227) including fix for upstream issue#18694 "ceph-disk activate for partition failing"- Update to version 12.0.0+git.1489159457.410e200: + build/ops: fix Group strings for library packages- Update to version 12.0.0+git.1488553020.e902441: + Recent upstream master (3c0af07629dc661aba84e2fef696339ac7171914) + Builds with GCC7 (boo#1025891)- Update to version 11.1.0+git.1486588482.ba197ae: + Update to latest upstream master (3d740bd) + cmake: added empty RPATH to several executables + rocksdb: sync with upstream- Update to version 11.1.0+git.1484919552.9216e9a: + Revert "rpm: put distro conditionals around Source0 in spec file" + Revert "ceph.spec.in: revert Source0 line to upstream version"- pre_checkin.sh: add logic to remove s390 architectures from ExclusiveArch line in ceph-test.spec (rationale: ceph-test is not shipped for s390x)- Update to version 11.1.0+git.1484745543.7b08de5: + Update to latest upstream master (36874c8) - significant changes: * cmake: Turn libcommon into a shared library (PR#12840) * cmake: fix rpath on shared libraries and executables (PR#12927) + Fix build failure in ppc64le and s390x, caused by missing "-momit-leaf-frame-pointer" gcc option in these architectures: + rocksdb: build with ppc64 (PR#12908)- Update to version 11.1.0+git.1484659687.3472421: + rpm: tell openSUSE to never clean the spec file + Enable ppc64le and s390x builds in SLE + rpm: lttng only on x86_64 and aarch64- Update to version 11.1.0+git.1483528076.d86680e (latest master) + Merge branch 'master' into ses5 (Merge: 185bcce798 a7b78620f0) with conflicts: conflicts in qa/ where resolved with theirs conflict in src/osd/PrimaryLogPG.cc was resolved with picking ours plus a method rename int ReplicatedPG::do_extent_cmp -> int PrimaryLogPG::do_extent_cmp- Update to version 11.1.0+git.1481663255.bf42706: + Update to upstream 11.1.0 release; for details see http://docs.ceph.com/docs/master/release-notes/#v11-1-0-release-candidate + move ceph_ver_hack.sh script from build service package to git repo (bsc#1015419)- Update to version 11.0.2+git.1480437645.66595d3 + Update to latest upstream master (boost library is now included in the tarball, so the tarball is much larger than before and the build takes longer to complete) + ceph_ver_hack_sh adaptation (upstream dropped src/make_version script) + rocksdb: do not build with --march=native (bsc#1012553)- Update to version 11.0.2+git.1480105120.6b8e9e5: + Revert commit 8aee8db140bcbd1ffd2a7b571dbbade10bec9de3 because it conflicted with upstream + update to latest upstream kraken (11.0.2) - for details, see http://ceph.com/releases/kraken-11-0-2-released/- Update to version 11.0.0+git.1473684054.73e4b4a: + safe_io: Improve portability by replacing loff_t type usage with off_t. + mon: remove the redundant list swap in paxos commit_proposal + msg/EventPoll.h: add override to virtual functions + msg/EventKqueue.h: add override to virtual func + msg/EventSelect.h: add override to virtual funct + ceph-disk: Compatibility fixes for Python 3 + ceph-disk: Use true integer division in get_dev_size + ceph-disk: Fix bug in FileLock + ceph-disk: Allow ConfigObj to write in binary mode + ceph-disk: Use context manager with FileLock + ceph-disk: Use os.path.isabs instead of .startswith('/') + ceph-disk: Set space_symlink to the path, not file object + ceph-disk: PEP8ify + rgw: rgw file fix bug of rgw_lookup can not exact match file name + rgw: fix the wrong return value + rgw/rgw_coroutine: move WaitContext to .cc file + client: pass a mask parameter to path_walk + mds/mdstypes: add btime to inode + mds/Server: set btime=ctime on creation + mds/MDCache: set btime on system inodes + include/ceph_features: add FS_BTIME features + mds: pass btime in InodeStat MClientReply, if feature is present + client: keep btime in Inode and InodeStat + ceph: break up ll_getattr into two functions + client: move the device bitshift handling macros to Client.h + libcephfs: add a ceph_ll_getattrx and ceph_statx + libcephfs: add a test for "lazy" statx + mds/client: add btime to CapSnap and MClientCaps + mds/mdstypes: add change attribute to inode + mds/Server: set change_attr to 0 on creation + mds/MDCache: set change_attr to 0 on system_inodes + include/ceph_features: add FS_CHANGE_ATTR feature + mds: pass change_attr in InodeStat MClientReply, if feature is present + mds/client: keep change_attr in Inode, CapSnap and MClientCaps + mds: ensure that change_attr reflects metadata changes on clients that hold CAP_FILE_EXCL + mds/client: bump the change_attr at the appropriate time for files + libcephfs: return the change_attr in the statx.stx_version field + tests: add a ChangeAttr test + mds: make frag_info_t add_dirty() function take a pointer to touched_mtime + mds: add change_attr to frag_info_t + test: add test for change attribute of directories + cephfs: rename ceph_mds_request_head and _args with a _legacy postfix + MDS: allow the MDS to accept requests to set the btime + client: add the ability to set the btime + client: add a ceph_fstatx + client: extend the Btime test to cover fstatx as well + journal/JournalTrimmer: move C_RemoveSet struct + rbd_mirror/ImageSynceThrottler: move struct to .cc + libcephfs: add unmount function in cephfs.pyx + rgw: fix typo of "minite" to "minute" in rgw_lc.cc + rgw/rgw_lc.cc: fix sleep time according to the error message + crush: don't normalize input of crush_ln iteratively + crush: remove clutter + mds: remove max_mds config option + vstart.sh: add option to turn on multimds + rgw: right parenthesis is missing in radosgw-admin help message on caps + SQUASH: client: request AUTH caps on the directory during create if we'll need to check perms locally + SQUASH: Revert "mds: ensure that change_attr reflects metadata changes on clients that hold CAP_FILE_EXCL" + SQUASH: client: always take a change_attr update from the server if it's newer + SQUASH: mds/client: don't get clever with ceph_mds_request_head_legacy encode/decode + rgw/rgw_rados.h: remove unneeded class C_Tick + SQUASH: client: querying for stx_version field requires getting all shared caps + SQUASH: mds/client: add routines to copy to/from ceph_mds_request_head_legacy + client: properly set inode number of created inode in replay request + test/librbd/fsx: enable exclusive-lock feature in krbd mode + os/bluestore/BlueFS: fix async compaction txn + scripts/bdev_grep: parse bluefs style extents too + SQUASH: client: request all shared caps if ctime was requested + os/bluestore/BlueFS: factor unflushed log into runway calculation + osd/ReplicatedBackend: move classes to cc file + os/bluestore: honour allow-eio flag during read + CmakeLists.txt: use LIB_RESOLV instead of resolv. + osd/ReplicatedPG: move classes to .cc file + librbd: potential double-unwatch of watch handle upon error + cls/journal: add async client_update_state method + journal: allow to trim journal for "laggy" clients + librbd: optionally flag "laggy" journal clients disconnected + rbd: new command to disconnect journal client + rbd-mirror: decode_client_meta should return false on error + rbd-mirror: resync was possible only when image replayer start had succeeded + rbd-mirror: stop replay when client is disconnected + rbd-mirror: option to automatically resync after journal client disconnect + qa/workunits/cephtool/test.sh: fix omision of ceph-command + os/bluestore: use global compressor if possible + build/ops: fix /etc/os-release parsing in install-deps.sh + osd/OSD.cc: remove repeated searching of map + test/cephfs: add mount&&unmount test + mds: s/used_ions/used_inos/ + Add dependencies from ceph_smalliobenchrbd on cls_rbd, cls_journal, and cls_lock. + ceph_test_objectstore: add SyntheticMatrixSharding + ceph_test_objectstore: occasional umount/fsck/mount + ceph_test_objectstore: test shards for longer + crush/CrushCompiler.cc:884 bug fix: index out of range + Makfile: Fix rocksdb error when make dist + src/CMakeLists.txt: exclude parts not buildable on FreeBSD + src/pybind/CMakeLists.txt: conditionaly build cython tools + src/tools/CMakeLists.txt: conditionaly build ceph-client-debug + src/test/objectstore/CMakeLists.txt: conditionaly build tests + mds: trim null dentries proactively + cmake: include(SIMDExt) in src/CMakeLists.txt + mds: log path with CDir damage messages + hint in extent_alloc code + remove wrap argument and handle in wrappers + Hint argument in alloc_blocks + test case changes + os/bluestore: shard extent map + os/bluestore: make nid and blobid allocation less racy + os/bluestore: optimize compress_extent_map + os/bluestore: fix fsck used_block bitmap + os/bluestore: use block_size for allocator unit + os/bluestore: make blob_t unused helpers use logical length + os/bluestore: instrument big/small writes + os/bluestore: instrument transaction count + os/bluestore: instrument onode reshard events + os/bluestore: dump some stats after fsck + os/bluestore: assert shared blob cache cleared on split + remove autotools + test/objectstore/CMakeLists.txt: fix libaio conditional + buffer: clear append_buffer on clear() + os/bluestore: tunable prealloc size for ExtentMap inline_bl + os/bluestore: don't dirty onode if its size is already at desired offset + os/bluestore: remove never reachable asserts + os/bluestore: drop unnecessary separator between fields + os/bluestore: fix key+name sort wonkiness + os/bluestore: encode shard id in single byte + os/bluestore: small put_ref cleanup + os/bluestore: remove faulted debug hackery + os/bluestore: bits for unit tests + unittest_bluestore_types: resurrect blob and extent_map unit tests + os/bluestore/BlueFS: do not start racing async compaction + os/bluestore/BlueFS: fix Dir memory leak + buffer: implement buffer::list::reserve(n) + os/bluestore: do not waste memory on cached encoded blobs + qa/workunits/objectstore: fix test_fuse.sh + os/FuseStore: only flush if dirty + build: drop dryrun of autogen.sh from run-cmake-check.sh script + os/bluestore/BlueFS: For logs of rocksdb & bluefs only use directio. + os/bluestore: remove some copy-pastes + cmake: make py3 a nice-to-have + os/bluestore/BlueFS: only extend extent on same bdev + msg/AsyncConnection: add const to mem functions + msg/AsyncMessenger: add const to function + client/barrier: move C_Block_Sync class to .cc + osd/OSD.cc: remove unneeded searching of map + Set ARM_CRC_FLAGS from the CRC test rather than ARM_NEON_FLAGS + rpm: Moved ceph-client-debug from ceph-base to ceph-test package + rpm: Renamed bcond tests flag to make_check + rbd-nbd: fix kernel deadlock during teuthology testing + rbd-nbd: mask out-of-bounds IO errors caused by image shrink + librbd: invalidate cache before trimming image + librbd: ignore cache busy errors when shrinking an image + librbd: potential seg fault when blacklisting an image client + cmake: Use WITH_TESTS flag to guard the build of ceph-test scripts/binaries + rpm: Added ceph_test_package bcond flag to control the build of ceph-test package + deb: Moved ceph-client-debug from ceph-base to ceph-test package + ceph-objectstore-tool: add a way to split filestore directories offline + install-deps: exit non-zero when we cannot match distro + librbd: possible deadlock if cluster connection closed after image + osd/ReplicatedPG: remove class redeclaration + librbd: ignore partial refresh error when acquiring exclusive lock + osd/OSD.cc: remove unneeded returns- Update to version 11.0.0+git.1473424516.3b8b524: + Revert "ceph_disk.main: s/get_dev_size/get_free_partition_size/" + Revert "ceph_disk tests/test_prepare: s/get_dev_size/get_free_partition_size/" + Revert "ceph_disk tests/test_get_free_partition_size: New unit tests" + Revert "ceph_disk tox.ini: add tests/test_get_free_partition_size.py" + rpm: put distro conditionals around Source0 in spec file- Update to version 11.0.0+git.1473418476.095f67c: + ceph.spec.in: revert Source0 line to upstream version + ceph.spec.in: conditionalize %prep command- ceph.spec.in: enable cephfs_java build unconditionally - new (merged) commits from upstream master branch: + mailmap updates + rgw: fix the handling of rgw_swift_url_prefix. + rgw: ONLY improve code formatting around RGWRESTMgr. + rgw: add support for the crossdomain.xml resource of Swift API. + rgw: add support for the healthcheck feature of Swift API. + swift /info implementation. + rgw: settle /info implementation across other swift-at-root features. + compressor: isa-l extension for zlib plugin Signed-off-by: Alyona Kiseleva + mon: tear down standby replays on MDS rank stop + mon/MDSMonitor: move C_Updated class to .cc file + rgw_file: fix/update rgw_open flag arguments + rgw_file: fix/update rgw_create flag arguments + doc: remove btrfs contradiction + msg: make async backend default + msg/simple: wait dispatch_queue until all pipes closed + rgw_file: implement stateless write completion timer + rgw_file: add RGW_OPEN_FLAG_STATELESS as a synonym for V3 + rgw_file: log on write completion events at level 10 + rgw file: allow RGWLibFS::write_completion_interval_s to be set in conf + osdc/ObjectCacher: move C_ReadFinish, C_RetryRead + osdc/Journaler: move C_DelayFlush class to .cc + rgw: fix RGWAccessControlPolicy_SWIFT::create return value check error + librgw: add API version defines for librgw and rgw_file + make-dist/ceph.spec.in: Fix srpm build breakage. + ceph_timer: prefer using directive to typedef + rgw_file: explain semantics of RGWFileHandle::commit + compressor: Better arch ifdefs for isal code + mds/MDSTable: add const to member functions + os/bluestore: fix some #includes + vstart.sh: -b for bluestore + os/bluestore/bluestore_types: make blob_t get_chunk_size const + os/bluestore: use Blob const and non-const accessors + os/bluestore: avoid reencoding unchanged blobs + os/bluestore: decode blobs on demand + mds/SnapRealm.h: add const to member functions + os/bluestore/bluefs: avoid check "locked" field for newly created file + os/bluestore/bluefs: check against locked field during unlink + os/bluestore/bluefs: assert refs of file don't underflow + os/kstore: kill dead code + rgw: remove duplicated calls to getattr + debian: should dh_python3 python3-* not python-* + pybind: silence -Wsign-compare warning + test/ceph_test_msgr: fix -Wsign-compare warnings + test/unittest_alloc: fix -Wsign-compare warnings + librbd: API methods to directly acquire and release the exclusive lock + doc: add graphic for cap bit field + mds/MDCache.h: remove unneeded access specifier + librbd: skeleton implementation of client-side image cache + librbd: blocking parent IO completion no longer required + librbd: remove use of owner_lock on IO path + Revert "osdc: ObjectCacher flusher might needs additional locks" + librbd: support bufferlist payload for AioImageWrite + librbd: add internal support for scatter/gather IO + librbd: initial integration of ImageWriteback to AioImageRequest + librbd: consolidate IO clipping to reusable method + librbd: differentiate between image and object cache + librbd: C_ImageCacheRead bridge from Context to AioCompletion + librbd: integrate image cache hooks into IO path + common/Throttle.h: remove unneeded class + cmake: fix the tracing header dependencies + src/test/bench/CMakeLists.txt: RBD exclude + src/CMakeLists.txt: RBD|KVS|FUSE exclude + src/librbd/CMakeLists.txt: krbd and secret.c are LINUX dependant + src/os/CMakeLists.txt: AIO|FUSE exclude + src/test/CMakeLists.txt: RADOSGW|RBD exclude + src/test/common/CMakeLists.txt: BLKID exclude + install-deps.sh: initial distro detection based on /etc/os-release + ceph_test_objectstore: fix ObjectStore/StoreTest.BluestoreStatFSTest/2 on ssd + ceph_test_objectstore: disable statfs checks on available space + messages/MOSDMap: mark as enlighten OSDMap encoder + cmake: remove unused librados_api target + cmake: replace Findlttng-ust.cmake with FindLTTngUST.cmake + cmake: let librados_api_obj depend on librados-tp + os/bluestore: yet another statfs test fix + Revert "osd/ReplicatedPG: for sync-read it don't cacl l_osd_op_r_prepare_lat." + doc/release-notes: v0.94.9 + os/bluestore/bluefs: use map to track dirty files + os/bluestore/bluefs: update mtime of inode in unified path + os/bluestore/bluefs: drop redundant eof check for read_random() + os/CMakeLists.txt: undubble kv.cc usage. + test,pybind: silence -Wsign-compare warnings + test/perf_local: fix -Wmaybe-uninitialized warnings + os/bluestore: get rid off "isa-l" type in ZLibCompressor ctor + Allow compressor build without YASM + script/bdev_grep: update to use hex + os/bluestore: improve failed csum debug output + librbd: improve image state machine debug log messages + librbd: deadlock when replaying journal during image open + os/bluestore: end scope of std::hex properly + os/bluestore: don't over-gift if bluefs free is smaller than bluestore_bluefs_min + os/bluestore: use _setattr for SETATTR + os/bluestore: make object existence check robust + ceph_test_objectstore: assert umount succeeds + ceph_test_objectstore: clean up Rename test a bit + ceph_test_objectstore: fix TryMoveRename test + os/bluestore: add onode/buffer cache statistics + os/bluestore: end scope of std::hex properly + cmake: pass -DINTEL* to gf-complete cflags + os/bluestore: conditional checking label of bluefs devices + src/CMakeLists.txt: -Woverloaded-virtual is already included in -Wall on Clang + os/bluestore: don't overwrite type if it does already exist and at desired type + os/bluestore: trivial cleanups + os/bluestore: replace store with logger in Cache + os/bluestore: check iterator before using during fsck- pre_checkin.sh: add Source line for ceph-rpmlintrc - move Source line for ceph-rpmlintrc from ceph.spec to ceph-test.spec (see https://github.com/SUSE/ceph/pull/60 for rationale)- Update to version 11.0.0+git.1472455009.a17726c: + ceph.spec.in: drop ceph-rpmlintrc source line + ceph.spec.in: drop epoch prefixes- Update to version 11.0.0+git.1472384770.c9f3af8: + test/rgw: add --gateways-per-zone to test_multi.py + rgw: RGWDataSyncCR fails on errors from RGWListBucketIndexesCR + rgw: RGWCoroutinesManager::run returns status of last cr + os/bluestore: fix whitespace in bitset apply helper + cmake: do not link secret.c if not necessary + cmake: do not link against keyutils if not necessary + os/bluestore: fsck on mkfs (on by default) + os/bluestore: ensure block device size is a multiple of the block size + Revert "ceph.spec.in: don't try to package __pycache__ for SUSE" + rpm: force creation of Python 3 __pycache__ on SUSE + doc: add v0.94.7 changelog + doc: add v0.94.8 changelog + doc/releases: add v0.94.8 to timeline + doc/release-notes: fix v10.2.2 changelog link + unittest_bluefs: fix block device sizes + doc: do not list all major versions in get-packages.rst + doc: add missing PR to hammer 0.94.8 release notes + doc: release-notes.rst: move misplaced line + doc: fix two broken links in releases.rst + doc: add 11.0.0 to releases table- pre_checkin.sh: forward-port insert_line_before() function from filesystems:ceph:jewel/ceph version - README-ceph-test.txt: new file - ceph-test.spec: add ceph_ver_hack.sh as a source file- Update to version 11.0.0+git.1472202104.8999301: + rgw: add deadlock detection to RGWCoroutinesManager::run() + src/common/lockdep.cc Reduce logging noise if lockdep is not tested + osd: fix updating same_interval_since logic of project_pg_history() + osd: drop duplicated sched_scrub during tick() + osd: move methods which don't need osd_lock from tick into tick_without_osd_lock() + mon/PGMonitor: mark dump_object_stat_sum() as static + mon/PGMonitor: calc the %USED of pool using used/(used+avail) + rpm: proper packaging of udev directories + LTTng-UST disabled for openSUSE + ceph-disk: do not activate device that is not ready + osd: update reture type of get_pg_or_queue_for_pg() to PGRef + common/WPQ: add sanity check to avoid potential access violation + osd/osd_types: kill undefined_shard() method of pg_shard_t + release-notes.rst: draft 0.94.8 release notes + PG: introduce and maintain upset + mon/MonClient: should update sub_sent with sub_new + osd: set objecter.osdmap when starts + rgw: fix for assertion in RGWMetaSyncCR + PG: use upset rather than up for _update_calc_stats + rgw: do not try to encode or decode time_t + cls_rgw: fix the compiler warning + msg/async: fix compiler warnings + os/filestore: silence compiling warnings + test/rbd: silence compiling warnings + rgw: silence a compiling warning + msg/async/kqueue: avoid remove nonexist kqueue event + librbd: cache was not switching to writeback after first flush + mon/OSDMonitor: fix potential division-by-zero error + mon/OSDMonitor: get rid of snprintf when formatting output string + mon/OSDMonitor: avoid duplicated calls when determining osdmap boundary + osd/OSDMonitor: avoid duplicated assignment of oldest_map/newest_map + osd/OSDMonitor: drop redundant check of exists() + mon/PGMonitor: skip scrub checking if we can + mon/PGMonitor: drop redundant loading of dumpcontents + mon/PGMonitor: fix potential underflow + debian: replace SysV rbdmap with systemd service + os/bluestore: break down onode vs bnode_map size in log + os/bluestore/BlueFS: do direct io by default (not buffered) + os/bluestore/BlueFS: rename buffered_io option + os/bluestore: add multiple finishers to bluestore + os/bluestore: fix decoding hash of bnode + cmake: fix unmatched endforeach + debian: enable dh_python3 for python3 packages + debian: exclude python3* packages in dh_shlibdeps + debian: drop python-argparse dependency + os/bluestore: fix race condition during get_fs_usage() + os/bluestore: use bluefs_max_prefetch for log file prefetch + os/bluestore: use hex if we are running out of space + os/bluestore: fix assert + osd: bail out if transaction size overflows + os/filestore/FileJournal: bail out if transaction is too large + os/FuseStore: remove unneeded header file + os/Memstore.h: add override to virtual functions + os/MemStore: move OmapIteratorImpl to cc file + os/bluestore: include bluefs space in statfs result + common/config_opts: fix comment(radio -> ratio) + msg: kill unused macros + mon/OSDMonitor: add output field name of average/overload_utilization + test/librados: rados_connect() should succeed + ceph-osd-prestart.sh: check existence of OSD data directory + osd/ReplicatedPG:wipe off param op from generate_subop() + ceph-post-file: migrate to RSA SSH keys + ceph-post-file: Ignore keys offered by ssh-agent + os/Memstore: move PageSetObject class to .cc file + yasm-wrapper: dont echo the yasm command line + arch/arm.c: remove unnecessary variable read for simplicity + rpm: drop obsolete libs-compat metapackage + ceph.spec.in: drop trouble-making divider comments + rpm: do not unnecessarily spawn shells for scriptlets + cls_lock: support updating the lock cookie without releasing the lock + librbd: helper state machine to update lock cookie + librbd: store exclusive lock cookie instead of recalculating + librbd: exclusive lock now supports reacquiring a lost lock + librbd: helper state machine for asynchronous watch recovery + librbd: integrate asynchronous image rewatch state machine + librbd: image state machine now has hooks for lock requests + librbd: interlock image refresh and lock operations + librbd: remove unused refresh request logic + test/common/test_util.cc: FreeBSD does not have distro information + README.md: replace package build instructions with tarball instructions + doc: fix singleton example in Developer Guide + rgw: delete region map after upgrade to zonegroup map + rgw: fix period update --commit return error + cmake: use PERF_LOCAL_FLAGS only if defined + tests: populate /dev/disk/by-partuuid for scsi_debug + ceph.spec.in: don't try to package __pycache__ for SUSE + doc: fix wrong osdkeepalive name in mount.ceph manpage + rados-striper.sh: Use expect_failure and conditional stringmatching + Revert "ceph.spec.in: ppc64 build in Tumbleweed only" + jerasure: include generic objects in neon jerasure lib (like sse3/4)- pre_checkin.sh: fix package files path rewriting- _constraints: tweak values to pick up maximum number of OBS build workers- Update to version 11.0.0+git.1471969747.79ca12e: + cmake: fix declaration position of WITH_TESTS option- Update to version 11.0.0+git.1471959548.f013b97: + rpm: Renamed bcond tests flag to make_check + cmake: Use WITH_TESTS flag to guard the build of ceph-test scripts/binaries + rpm: Added ceph_test_package bcond flag to control the build of ceph-test package- Update to version 11.0.0+git.1471605408.9203335: + ceph.spec.in: don't try to package __pycache__- Update to version 11.0.0+git.1471601504.f312e7e: + test/libcephfs: add the necessary judgment + test/librados: add ASSERT_EQ & ASSERT_NE judgment + rgw: optimize the usage of string.find and some indents + rgw: patch manifest to handle explicit objs copy issue + rgw: adjust objs when copying obj with explicit_objs set + rgw: adjust manifest head object + rgw: fix the error return variable in log message + rgw: fix trimming object expirer's hints. + rgw: fix skipping some objects to delete by RadosGW's object expirer. + rgw: ONLY improve code formatting in rgw_object_expirer_core.{cc,h}. + os/bluestore: allow csum verification disable on read. + os/bluestore: add csum on/off test case + os/bluestore: add store statfs parameters to bluestore perf counters + os/bluestore: add perf counters for compress/decompress performance measurement + tools: fix the core dump when get the crushmap do not exist + librbd: request exclusive lock if current owner cannot execute op + src/global/pidfile.cc: Assign elements in structures individually + rgw: fixes for period puller + rgw: for the create_bucket api, if the input creation_time is zero, we should set it to 'now" + pybind: Rework rbd/setup.py for PyPI + pybind: Add BUILD_DOC env var to rbd/setup.py + doc: fix rbd map format in rbd manpage + ceph-disk: change ownership of init file to ceph:ceph + cmake: Also build Python bindings for Python 3 + pybind: Make ceph_volume_client's syntax compatible with Python 3 (just so it passes the bytecompilation step) + debian: Add packages for Python 3 bindings + rpm: Add packages for Python 3 bindings + os/bluestore/bluefs_types: fix extent operator<< + os/bluestore/BlueFS: do not op_file_update deleted files + os/bluestore: print bluefs_extents in hex + os/bluestore: do not track bluefs_extents via freelist + os/bluestore/BitMapAllocator: align to min_alloc_size on init_rm_free + rgw/doc: fix typo and indent. + mon/MonDBStore: fix assert which never fires + osd/OSDMonitor: count pg primed more precisely + doc: replace cluster name with cluster-name to avoid confusing + doc: fix typo maximum -> minimal + doc: fix command format + batch is_allocated bit checks + cmake: Move Python detection back outside of pybind + doc: format 2 now is the default image format + rgw: Rework of s3 v2 local authentication code. + rbd: bench io-size should not be larger than image size + doc/install: Use https:// for download.ceph.com + librbd: fix possible inconsistent state when disabling mirroring + os/bluestore/ExtentFreelistManager: move default create out of parent + librbd: new journal policy to disable initializing the journal + librbd: permit disabling journaling if in corrupt state + qa/workunits: support filtering cls_rbd unit test cases + os/bluestore/BlueFS: _should_compact_log + os/bluestore/BlueFS: _replay(false) to dump log file + mon/PGMonitor: move C_Stats struct to cc file + client: don't use special faked-up inode for /.. + client: add a testcase for "/.." handling + os/bluestore/BlueFS: add OP_JUMP + os/bluestore/BlueFS: allow log position to when doing op_jump + os/bluestore/BlueFS: move metadata dump (compaction) into a helper + os/bluestore/BlueFS: interface to get bluefs space usage + os/bluestore/BlueFS: init in header at decl + os/bluestore/BlueFS: assert we never extend log at flush + os/bluestore/BlueFS: use hex + os/bluestore/BlueFS: Add sync and async compaction + os/bluestore/BlueFS: Helper functions for the unit test framework + os/bluestore/BlueFS: unit tests for log compaction + os/bluestore/BlueFS: Cleanup unused interfaces + unittest_bluefs: make flush_3 test device larger + bluestore: initialize csum_order properly + librbd: fix possible memory leak when image open fails + script: improve ceph-release-notes regex + rbdmap: specify bash shell interpreter + doc: added rbdmap man page to RBD restructured index + librbd: always respond to "release lock" request if lock owner + rgw: fix radosgw daemon core when reopen logs + qa/workunits/rbd: demote/promote image on same cluster + rbd-mirror: include tag tid in bootstrap debug log messages + librbd: separate journal::TagData predecessor data into new struct + librbd: block RPC requests when demoting the image + librbd: normalize journal promotion/demotion events + rbd-mirror: demote/promote in same cluster results in split-brain + rbd-mirror: prevent syncing to non-primary image after failover + test: fixed unused function warnings in unittest_rbd_mirror + doc: remove the description of deleted options + msg/async/Stack: add abstract Stack + msg/async: add PosixStack support + msg/async/net_handler: let set_socket_options return value + msg/async/AsyncConnection: support NetworkStack api instead of posix + msg/async/Event: debug event address when dispatching and executing + msg/async/Event: remove event wakeup flag + msg/async/PosixStack: increase log level + msg/async/Stack: disable smart thread spawn now + common/ceph_context: add prefork/postfork wathcher support + msg/async/Stack: register fork watcher + msg/async: allow EventCenter::set_owner reentry + msg/async: readd set_priority call + msg/async/AsyncConnection: fix _conn_prefix racing when stopped + test_async_networkstack: add networkstack tests + msg/async/Event: remove global_centers assert + test_msgr: ensure wait for ms_dispatch executed + mon/OSDMonitor: add sanity check before setting use_gmt_hitset attribute + osd/OSDMonitor: drop redundant null check of max_failed_since + osd/OSDMonitor: drop redundant check of assert + mon/LogMonitor: remove "host" and "fsid" from handle_conf_change() + test: gcc 6.1.1 complains about missing include: . 4.8.3 does not complain about it + rgw: fix flush_read_list() error msg + cmake: Fix mismatched librgw VERSION / SOVERSION + cmake: Add -pie to CMAKE_EXE_LINKER_FLAGS + rgw_file: restore local definition of RGWLibFS gc interval + kv: delete store after pg destructor is called in OSD shutdown. + kv: fix iterator invalidation in memdb. + kv: fill 'm_key_value' after 'seek_to_first' or 'seek_to_last' + kv: fix iterator bug in prev + test/store_test: fix incorrect prompt given by stash callback + test/store_test: drop redundant transaction of callbacks + test/store_test: avoid dynamic allocation of trans + cmake: recompile erasure src for different variants + rgw ldap: protect rgw::from_base64 from non-base64 input + qa/workunits/rados/test_python.sh: Allow specifying Python executable (through an environment variable) + ceph.spec.in: specify local sources + ceph.spec.in: ppc64 build in Tumbleweed only + ceph.spec.in: add lowmem_builder_override + ceph.spec.in: add Prereq: permissions to radosgw package + ceph.spec.in: remove vim hints line + ceph.spec.in: remove all mentions of epoch + ceph_disk.main: s/get_dev_size/get_free_partition_size/ + ceph_disk tests/test_prepare: s/get_dev_size/get_free_partition_size/ + ceph_disk tests/test_get_free_partition_size: New unit tests + ceph_disk tox.ini: add tests/test_get_free_partition_size.py + ceph.spec.in: replace pwdutils dependency with shadow + Make systemd-tmpfiles create /var/run/ceph-radosgw at boot + rpm: fix ownership of logfiles in %pre + Revert "rbd: update default image features" + osd: munge cache-pin ops with data into writesame + ceph osd: add support for new op cmpext + rpm: make lowmem_builder code much smarter + rpm: add procps build dependency + rpm: modify optflags to make debuginfos less huge + Revert "ceph.spec.in: add lowmem_builder_override" + rpm: lean_debug_symbols bcond + rpm: use gcc manpage terminology for debug info bcond + Revert "Drop any systemd imposed process/thread limits" + Revert "systemd: Add systemd sandboxing to services." + rpm: be careful about build parallelism + rpm: divergent java, ocf conditional builds + rpm: fix _with_ocf + rpm: drop obsolete libs-compat metapackage + rpm: drop obsolete python-ceph-compat metapackage + ceph.spec.in: drop ceph-brag and ceph-post-file + ceph.spec.in: move cephfs-* fsck tools to ceph-base + ceph.spec.in: move ceph-dencoder to ceph-base + rpm: Moved ceph-client-debug from ceph-base to ceph-test package + rpm: add udev BuildRequires to provide /usr/lib/udev directory + rpm: Remove trailing whitespace in usermod command (SUSE)- Update to version 11.0.0+git.1470997027.9c9b8a5: + doc/radosgw: remove reference of purge-temp.rst + doc/radosgw: fix the table formatting + doc: silence sphinx warnings + global/signal_handler: use sig_str instead of sys_siglist + librados: use bufferlist instead of buffer::list + cmake: cleanup Findgperftools.cmake + cmake: cleanup Findleveldb.cmake + cmake: cleanup Findxio.cmake + rgw file: remove busy-wait in RGWLibFS::gc() + Lowered third example to keep PG count lower. + run-make-check.sh: pass args to do_cmake.sh + ceph.spec.in: specify local sources- Update to version 11.0.0+git.1470355272.6fed82a: + initial fork of SES5lamb71 150451296412.1.4+git.1502953626.155adb5253-3.312.1.4+git.1502953626.155adb5253-3.3ceph_volume_client.cpython-34.pycceph_volume_client.pycephfs-2.0.0-py3.4.egg-infoPKG-INFOSOURCES.txtdependency_links.txttop_level.txtcephfs.cpython-34m.so/usr/lib/python3.4/site-packages/__pycache__//usr/lib/python3.4/site-packages//usr/lib64/python3.4/site-packages//usr/lib64/python3.4/site-packages/cephfs-2.0.0-py3.4.egg-info/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -gobs://build.opensuse.org/openSUSE:Maintenance:7200/openSUSE_Leap_42.3_Update/d4a3d01a6899c9cffcc14d2dd9f3bb74-ceph.openSUSE_Leap_42.3_Updatecpiolzma5x86_64-suse-linuxPython script, ASCII text executabledirectoryASCII text, with very long linesASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b50e36696802cbf4e859f0bd43580de7dcd42da2, strippedRRPRRRRRRR:BB@H]؏r?`] crv(vX0D2+\zdeӫK+s*@ڨ hݸҜ`pE0/nxs1}=s 9nNuQ,=wI]%2[I5~. e#ރ]̛~!;(|wH|"b5LYXgnx/V|W f3fE NPTŻ;liҵ*؈+lk髺7EQ>d^j*X>` 83,|8x""AIݢZ 3i'eWԎ1jxt_k|CBSf h8FXP':;BWwNP"r8bY1r-&0\Nmc kq@Qqh.k %K#iAU nX.QSmq,LK XqG?#NC׶MS5KC 6F./`dsEę*qB術IWEG^D w'pyk0c!LMcyK 7Y%MKtW [guT4A>ϗ1"[ȦH5Z:6 <oo=Ǿ5b 9R$8V$XV]C%qX \hK44#՘OiƜ%Y5+bb}?lܽˌbn.B$1b~+ og6|L֯\x"C:p{^8#*XUNg={ԅqӬ' {b}7r'f9w䠊3\LPp:ӟ-iGM*փv )1h}cUy \*зȚ{ɯsitI*)Hak>!z1͕Y\oҫ;AUg@)44H"tA;A9>^qs,-°i7tڹТ6!n'h&'}k} "FTΨs\(tQ-p80~]UOg vm㕵BI7/KҡݪѮuTK֫9X;m卬ݎPs>L{K &- ̎;=*uY,o*n+)aK^ҠZtŖg!dXe Ե;0?%8Or^DYԩTnMxWp:Qi xFΏ'15%xsњdb铪UvSJ7Ƚs C%A5ɼ4Hz@x;KB,M{Ɨܒ++n_<4Baw:RΏ;υN 2_h9|v{&U,.2FBh֚ݎ:_rx̛kw@ps9تTLU'woͨH795lr MVqpzEoJ&faXIyĦzzP*ψ4KbAbiB -\zDH=8A5r4~ F}0|UJ,ZDncmDb\ e'h{{%dWu8,aIR=$ |aL#J#T8j' ͷV6-Vp<"{uTɕjEUqgy|NysL+?6ɬeW]F5o⿃ 硿ɋc 7NpH#Ou-Xy|=bܶl( "4od&3SӒF^j ,6X1a=bvt֫޿~Ԅϐ̊~}2 _μ VrNeI%>?-AyO- tC e`͜ yPXdG}mֹkFH1mcguQnqHuFmz#CED֡;X.g>m[W|_ YNxQV<؃oB i80dF)=LpP.tFBY m@v%;>){7X$8BYs>āB0W(y%?4{)V56ԡgeg Hv\_:HzUjrNk?m:dp ÍQ=<^)CƇa\ 0 v.sKkWw)q0x'l#-\% YUO~Ek51C{zh?A)ӲTOP"M,62 OJ E~6tu[Sx|NFa -v!X|uI%֚-IDY;?ttx'KpezQ//+(f@*'k\QFp.,4PZ|Լ*h>suto5Cdo"Gf/P5^M OeVّDhAbF ֬^k+( Vz<1Cq>5vo\ρvP꒵nKfs KY(.JsQ&ɎH0Wdh"NWJ|:^@) "L>\~^7U$/)pE V- 9[xB xᅙqig<$kL9S`#M0Ei3AZz{ȫAZO9Pf=OO#5X WPE e>cDk ؀W9wz2T/dC'\#R#H!)@T_hp==&|,4!oC}{`KRQ [.tOyQ9$U;oE'|Ƚ>'Pgix\m3W)-%eUO(ac @$ɍn4sg+\6AͅIn|7݋A>7xE83ˬ[cJr!oh|\_[nH.rźCT&A ,Fa#j1l:e_@Bzv[iBf!1K dbR֋9nlEg! 0|!P9c}Q#@>X^b'ܝ&?r1\ |h Dچz}'u hruݠp*#g"6SBŎcqmĨyތqG?|ANgG } 1 4utݩf+4 !#Hu],jЍ~M0;̷jdWgO5:5|eYRV+M,sE^C53N<ڗ8MȡDaǸ.45WeA= Y\]rr}?-lREWYW,\PcBvy^Q%#ކ3ߝUshz8'F-|(/c?7̸  vvs'PΝzAheԇin讹4wd;sMU"~XQ{녙Uom{{C!ʮ2"E[;X C{0d OjrF3T$źJBk ei6O͸^EѰtlۑb?u)hn;M՛$w}b)T DI/|eOճ |K=i}$* 0%. m.ŵ Q&^9ʷپ4 fdWЭpPc.*c ƛ鸠Y;NTw~,.CW" BߛEOհhqkQCvѡ2 gH֚ Zm>r4kuP*ܚtB 2tNS]y0D^2YtoQXwůwհmuWcܘl~}SJ;o)J'uWm>ҋ6Ww1U-`'Ɯ7Ǻ9k61aY٠)ONh3&a G]1-y-&\Lޱ ZzsEv%1_}`ӊ,Ij4Z{wtऀ| P"G\v˴sQkZI5㌃arս 9|}Sf29)C*U$B~=#b(xHJ Bvg<o5K*4)b&  Bٮ$X]7 j;beUI_&\+l1iECˎFBh$)Psl}+M\E I)x5TAI}1a ^H.qF&AXWVϠ&o3Wu9h) wצ}yʨcE\"T+^U?8ѽq>RWQ߷x>9ƞs] wIsP4JC*gQAol>Z0 Y}|&™M+H @Fщ`a-a)H@ ԈRfc3]4bGmFOC) ֐O$ROpGE[`j%㮜K˃`>ty39Pr|v#a_;VJp'$ҵep^ZHAfBȲ~d §.8!|W< x(Jh Sgk D8Ns\}?1q&+f6a'-磭h4.g ]Tl<1`-q t9=1!Vwma?}4Bb L5BaAO=Y3{Lb9va+Jο:&eⲶq_O iS%XMזSJ΅ v)VIh%?d2`:z)̱Pu hV|:?`Eao[H? ڗztPxePbzI>OP< YdHLSL"= 2cWOjqTy˸խreB >yv)$b;ב,575gM Nm00=1LO+ffl4plLݠG|8^;NjP@ U:!=w` 25 aaCHOmd<,*Lf <⾓+/\>@1g-f}]Ct%wd|Y {Bs$DX(H,ȷZc,3Y, wHwER "IOy҃=+>cm;MZc [yɿU94/=$?q89OuGm4[wL3¦ @M6mf^21EfJ+,Kȡ7Y5(׮,5RQgjC7"xHMdTT6m9[}lb#cJמ%fv1bJ=湁zlAÆ(T]!x~2FG $ӟ(p☕j (' <~ M=GVN7_cY[!3&q/=Z5˖e K)S*0So|#-$w)yVpL66)7/5ČdݚbeO~:;pV]9ƦO|0PMf{?3mߣRkz O`PL (zB6KIB u^KRLk~v%9H i x-;| ڍRSgun?Y:!RS Z *mջīlA:f?wM ZKՈ-&dl,=xy6򎮮潆*r`/dB}F- 6f!nlEЦ+sew4,NV\u\Q ׉nX9EěGgğt LCyM^9! {/3Ӎf>gRC<ͨ;6@Z(|e^ ԛ]6^Hs:.[`m?|uSDL%Di:F~z 6 (՘L'"~ )itCm䟧0}fMP$_k 4ȳTRNOȪD&L$T0'#+ht%0#` o<'z.+ErlE oED+ ΄ej*#,P6R14|@v>m Dԯ̪,ss"my+Xص5: wSC=Dn=m(0kw(E mYh^R}pѪ~ܲK)ۀӱڗn]rާT)WB2 x2 n,b\|37bCDfjL<ҁ mLG:XCb>-?ca͙7kkiO*:DZD82R$ycF9| NkJ`xÓzCy@˽·F\!C)dZYͣIcu5WoX@nǩ?I(0,XQ"d]ngsEq Nk3ctOue< =0'ϕS RyuT%]֝nj,5dKl qwg}'>3/k\]5}Q$II3 @\Fǿ FFNg}D6Y5?!vdQM Vr[%*~I0MyB8yo]u2o|V\# "ibmvü#{u8JZPϘ$ i'gq`h/Z4g#D,<6D Z0NZ4P͈̃=O=Ә,?T!%5/ɡxi wyiFE&U>K (XNffOKp@WA X!dWI/9O/YEw0m!߾՟Xr!s3b)賤x걭83s i~RiL8R{gT'$+Ol0aȑEΟ1?P B,ঽeդ 8{c#֏>KBf%lxPJc^S/FKN鳘+֙Pyd*NDZƐ!aMi:X ,qZ fʾ l%y9g(pE.Nxm>C=ڗ{R:YF 9<(Vj 1D_SD? 9]i2-Mw6uK`۪ |MJmp@04|+7;%,G$ f5(f͉G&٪)iBB܄ڐ`iH{ THTA?MQ\^ U~Ly@5~y%FU]aj,WZ4.JbPhڭi]C` 5+^1z,̇%b{Khqo9|CE2h"[+& ~W0$w71Zx me ?˕WGjG% >~JZxC;R~[㉘qC4V$n i k= 8V'V]\帳eyL'NNoLӢ{GյTe hH6BK$6>qWeh"P1ğl]3Q ϭ.AFT$\=Z(D]+ZTK/VWR/r}^{"WHBo 84V'o( Fv(3@Z:8;<6'&MZ4'!-z%$]g_2Qp1j!͕ {_Ner Sڷ5N^PV~7堧DL'0E!5n7 hq8U*Nn94p JO.n(|^ez6vPFn$c,Dyw*;7c%r0r(ۨ];>yY3~Tą%AgXB$ e5ݖc2+t&X=3ъz@xQѤb;':cC GIINYqB8?4 Ǜc10P+n;JiW mgSI =1?CP%?V$F.4{.Ra6_ QM*iRэhwA|!8Tѧ9"Rf3h[E~捞&)N@LZt~^qWeEh=xFWg@46efi֗RJgHqVxKr-T.2+ u#CIu0I NSKⰏ`r?|4lm*N^ D+90Lf4dT {N 6X,fz,.ue16kd[/oC }ڤ7C'l/I,=sQa︗VfQbX7gmߘGhg؏W/ޣmokeAe`xi Rm{g-ya[T5#f#X!+ , Up>/xs*Lh1acoY 6 6+GOl^6Ԧ!&ϜtywiRM'3%lltp!#?A*pyXd]Mgao=A z;keY+d~"U9?[ ycJF{uD"^MCzgg!\7kgC ƒSfч¯1 vEH aaEnC^KguǤe_/G҇ Ha aDGaHkfx Xug(vHz&PU:W10Nqp@j?{ [ŭS-Z2,)!d"*C.AG\RW)\K+k7p2cÖ4kN U OچTWg,ï~gw3.)sՋ os@#.exa߿pSpZ^_֠%V=ݣ] j-=ƈ&m1"\HBƞ>ae|,.q~|v{uZFm uU otX 9}q| HdTQAS g|~CLeÑ* N QljeiΊFO"˕,og8֢?eѫ/A &}XתwDД4A@(aUX4Hߒv ?'F"Ux;);j^!3P_Z$WCc h^ LjJtS8節k-]&* ǬqN.Vloz._}XP&#. 5,123(v[mqM; Xos Bcz"^b@:i 8= KF,r9Fp2Xw0BxIĀlK^i2e^5cHI}d֩RAx0l ޥZahOUsc԰Q0KRZjtWw_of.Q4?s EV8ٟ խFW1s9+Ht1wlq˫Ӏmtr)ż4݋cDb!K#MQ,R .Qzi)bo櫛xny-C)OcO6_=gF-4V2 Xyceb(u >y!nQ-U}u,,K}21#D[#K Hhlw݄}RۄF#:u=ΙFlE{WQ 8I•I/wLj(e4RqYJ8* 켨Xm( 13sPAInSXf( /JieRfCz1nc35LH dRx[ >аi}AwZ]tN"|j .y^)iɗ3@A;3)vluC#v,5ZGqF>?Knw9n_}z,'u| |WC;6=KdMC4L_Eayb(xBbVD2 ҀZ48(sx00*cMpYZQ"AC0t][bqʡN1gE1w.8c,p ac 1j K+5(^!휁oR;c>$KБiNB ­KqAU xF 7g!WBgJjmZ-r(g fGKwԚolqLB< !f*-z?Fىbx2.ݘmxS扪Y;8C<`{kdSV}29Z.Gu to@Eǘ,3)}7,bY/=2j" e)q7V v&Яv'ERJQG(Z_fU'?2'oY ^}Y18n)Vw&$ƃ,8W =o2vh;=eu*a`BuEݜ-OY``csMc&OF*90G; {y Xk"3vgW%2n͉2A?*\ŕ_]̨~T?е 6j @euīFSzI". -C*'zݗ**;!4ʎqwSx9~U +ԳUX.ӂ}NY8UX+*Z5, !Bnޜ|Q~ ;)#*|_p)Hި٬FL{ܱ>J” >\H:fzLΗK[ 2a{r=jJO3⚊ӉZZؗ{܋,]I;`; {|^HDp U*cAX`ZP7.?&ưxD(So6>_y\o^3]MkE.p^紇/,; bzˮԀA+uBA$bHBh1L *)>hPq~j H¬j<6IrX:E=5x zOo3 [>y_\#ⒼkjmTr>Y t&d(@VA4+-DC\\a7,uƼFkX*/=^ 'G{15Әo*Čua\ aBS:!@1u(c)#hxŰ /g}H ki7:O=z^SdW0ܛ&GNٛAv;iW\Ox!eDVth#p3q Z0>#,[qkvШ߮0GH" `%jifT\R<)%gdȧOJ{tϣߧ⺺lmIJ`QO̶!lY),O⦬bB%tv"yL:k4KP+.yѲUw0u|v~E <%[m|ӷO~5nc+VE8.u $u 4")s g.Fֵۄ ^>ŃO}r? opHT>0E>{4 #;/2jfP,*ߗM}%cj|鈫qA_/s;VJљO 7-74ı&cw;Z @Ţbu9u/n۶|vc*^P 诩?4Q3~MhvK1dbb{/װ&Q1Ɗ+E똎'R񏹗JRvvԷ gWr҄VXx΂Kc~f`اI*aޒ> abY9Ҙ +'K&.USX[9۠ɆH '[!ONZO-O0#*4V w䙆5-%9hgEh|<Jehly^Y%·X׽QXʕUf= 5k Zniq@O;|%gSxѥzt& Ւ5J5YߧהјTH]MxE` ]P#}LSkr0`~v_LR{޼tG?w7U@#{n~!wFekeAiJ ӑ[)-yÄɖ̚Lc\zrF Tp?r8T9EF'Q{=84u*E]1"Wf+QqeTRRJ>WG'*E!q.:6ܥɌ$3Wɗ@-Ŧ%lÚ+p U1W,_w գ^5rjU L%}vfڞgjX VD,į6+6 wJq2_nTNSݩ,p2{<ПBlK$:V2JBR` p$uBu3R3;{GfogE\ 5$ &V=)VR ANj`ǰ@Xқq -ҊX'e.L{":[zfE6qh7d6R*7r("_5W+Y/!Or-/M4bl4@R3D14.F(\CJJaC=M[[BS[cr.I4¾$ -vEk`n(tP.HU\JX"7K*ﵬz@ksZG|vQp$oXW?0MLl7ݙA@`(];2GnSY5<d5 6bgB]U Cpi~'x4'ŕ}kn+)(yܼ}ǤDP9E!Wӷt]S%$KA/'$!]]m1!iE;K.tn_n`>vSK['BiZ)|C١Tg7}LHMX”ɜX󻺐A|FLv.׮ kU%^oKY~ J1+`6Ă(.&,N5,|xkS?YHkmy"e l1A-*_) bGlh"S ăfP1e3!ȝӊ]>mhV(䅕gyB,8ТRWս` aSN 4 djE! RAa;]{-4"<0!/ J]I"@yDt۩j&Aer%pJ<]9ERv4P-3}R-sX嘑&b@!6oX G;OW ]20(bP~ZپݷvmsPkvl{"yt\D@*(*vN:-)`=Zs (tcoˊUAN\9%Y ib);0i"یD»@[)!|a*Zp' <*%7uG0*Ē`G,zue4c;%M?yG(TW>+|OeL,w SF} f&*1;nU ]=tٻ0o6Dzx$J*ivxCߊtv+4~r l.€16ITf)˭+~وA!h1)DF]S61x![Wji^)Фv9BGB}兄][hVE]5=Q93Ai֍Jz  6om [+'/KPSK_Ps-$!7D7xcFͳ7yS),:axͷ R-2J$w\JUO& ўA# cC]9'HeqJ\\ \ ]h qC^AyDlJ\{yYf>$ݩ-,#{ÇzKΣjuÒg=LH*g;.Xb>łe<0 FLG޹pװs|[m][xcZaŞl M%~Q2_ *~}KBfq؎ aZ }5PNA@+zp? /ѷ/Iƃ+-rsiIѹ8 r|}mY'زa},G7Op"o ib3CZډr5!%fgbJI?('\vYH.WwR&G؝VΛ';ËXfX@ʼnFQԬOxU n]h@N6V0vk?E)m*92\S[$E=GFJ&Y<XkW2A8Y7TG8!^ƍLPYpމ@\3ҕJEշ4-у1BCrSj0jקK݆CNDXnjX[+P'T4uqa޾ 籁miMp8JQ9@ =yG?{Q ьe|b3[K*hpwC>% bBw^rL]! 6js/- ;fv14KӢBKUZr򷨩vFҧ=y ӫCw somTLLͬ9jQ`U;Ĉ" L ~A6[thsʑTidϵi3b'C(7l'"\$d={EF(D6mհcJ_$ dUbXqYQA5 Nҷe'\m!\@c۪.V].(p+p-E/%u}D욭nTוKw"S!O|UNL;t\P?$7{<@2pw X )O0kܫ Ƹf9/lS8@a)Jx/WK:8'3I%m/i,lU}"^|moҗ**N>boXH C=Py@$'9z0xrV]b>cI5^c@[俋Q3Π?mEDtH.;3D̩>>Vfa^iل}L]dLg_)+;ַ~߷_ޏ5D927nTqRo/wrA*L_y&v0O_ =3v z>C>\%n͑]E:URl:P/_&f3Uӭ1EpY+@>BfȡS sh'f&<VlǪySD*d>*xXfreE3 ?N/N"\V߶j#?K|`[彮Ì_XiȡϞ&Cyb MQrrjCe^ASotPᗶʖ!sHO!\}f/\bX#$h^Vs-ip2&Cgr9]v#qyv1~J J]f =nJw=B$J]ȫJ"$Lpo%DYHp:9dLGJpez#_{CA,tj- U Qpj?,W O|c"y@aGS ęa~H{z9bT>GcpUc>h6k,7u ]NwTW"~?Ӫ>E{ %WٗCG CvDVH*jW̡rVGJ=TmF:f 'h7 >;lX2ye,ź4C³I\@6'uV@ssns} :WR/I9qW`al"4Uȿ~2rU 3EZeP(~ i;wZg}VoL6_`狾buD^&`Z)Ƕ* =}y`}:8Mv/mKoY/\e0y*IxS9ɏPu!>=+bҠLbECPX);<.I'v08cUYŮJ9#DŧL}Ο0/(un8r bHu_+&)ۓ/ӮQ'@^LkG}buVT۞ hȾtMzma]zP2GE XTth=럲P25XjC[zN "VߠrW4uZ3#]a4klKib@݋yXAzu>ҥ.W.S1d)~ƗUWAɕ bF2PqqCRw`پ|=-+Aʱ>pr-?nUVyBBa>=Ht KTBe厾9%2ң%TGQ AKMwb.}NbZY8:K*MwVg/JtZMk"#H^Ο:@+׎$Ǟ;$!Qd9~P󠏿U¶  ˾3rޓp@bFpmRC:^ hgW =O5,~6@]'GQL視:Z@ma;@P|=2i>gG% ̴klVө+A~*>Xs7|!TtZc"6F`qf=2WnB` `(ՑuJe[Yy2~{EfDӾ/:KjSqzX) 2jFí+?(SxSL(N __ @0uN`I^A/*wv J͊=d:J#d/ >$˲sf(VdX|Ll0Ns|2S>r z oaJbX+E &>p({iq3xt9ȡju2V1"w02X{g15. Ay6.Hm8y)6Q#\_b bVuoQd_#̆r,u$ i  ?bz\Tw,M:PonpoxPWA=يP7Qn(ڿ0U2PI1zznWňS8`03דcn810Ÿf/7kwr=\/%WP)~{4<9Iӑ>Ɖ׫Af"Sn=q,کz@6.^()KqAӱXRNN&O|БTW2bǓXj+x$I" }ԽE0 >)An 7Yhɗs`wp1ٗxX%OѭS+OK'ؼ]~Q|IQF8Oue&N$5u [k<>М ؖeLAGdSЉA=?jΠUe;4:tH-4a96{"dz^'zœ* | nTZ T} gI続yT^a]^F>Gd^i’x 'z=\h7Z%IؿertBw3iRc|gkcx2[QtRf,<.a >ٰ]!]M%=EÌUhH8_/T㼲=5Zg|ؗB("ْ쉹$:tkfk\i^#⿣Íyo(42 cƧLL~FwH) wFEqt'7Mc*y͢;J6)N;Mi"+!U"P?eI]nQԐl%Q,d蚁LGM8E0c'pas&>!WؓpC, Noj1rx$ @9>κOfP6}KD?(;xa#jmja<Ί$+dԶ}g,cy,an(ȉ[e +,wH13p&  6BH)K2Es,Y 'ߧKľPIsȭ!-:(foQ\d>yPN&>:r9Ѱw+'LCbf 0PU }>Su?H\ZH[Ym;\yN#P*:Hvݳِl!I,c.nZd;MatNxxҊ(dk$0 Vv]/2Z PwA-bǚ(3|@i˴fc^3$!鵾0 cR:.-xmQn{UxXYLNeT̮"=nXJd$-1;WkZYUV}a+QSe^M5;=k9#vL6iI2DLzE:HekkZmPؽ9vN0~0Zjm(yKX2g2ė)9%:/oIi4i?:2ӧڎ2H GٖZĞC|sA}z;Et`eEN^+U j#UPUd8}#O1Av{m2MXzf~I|[Ϣx]{N5N/w"G3<}X= ^ЈmkA%m=U'?<*ށ[}?II2-]322  zHTwh/9.-9"E(xUͱS^FtLc),5N^CGa[FMmYNs3Z F`\g*g\6iPۻPjsܻm`“'È^+pG P$Pwe,И(xJvQYT֤ t\JVX [D(L5&6 l9ye:㘉'Cvę\ ?95xPǟ:gCoS'Gf9W9 /)><$+.j!0_U=NbH1 dV| w(z ̄4kuBhJ&֐l6OR4,ҕ6&kK# ?mh< X~b>%²r`A7*S;_І*H>xKZ~w3ONqo"30\a5VUpv]'=bCm&e58>me/&Z4~A[>[Av"ѽv:ӏ4ĨDvGތyc^ \NNxOt!;&>$7ς(l%IkA~@ hs:3 j70eГw`e(ISFuakGiRGƝAӽʭyFP"74e#CHV-յ#bu{a0\k!5'/!^D^7/c}D{xC-82z<_'QbBR"gkMUpGD#B1jEQM"XSFDl1D2ADᕚc AJl[ t^3م 쩛oT ,D#d4W&MIMzPVa͊U`޽#n 8{*iؼ)A:^gph|.1kWv ƫ79b]gәm7p 5 tC0wӀ%t ,Ԉ7 h% M,@w ? i$0cD3X 2=ZwB;?#,ZXߕHؼs^yR8"`?w5J3H%;DG;m*Ua &'g1a̗:+Ijf`ڂ0m?!{#^VzͽczWR&)uKOwS r&^;;%ӈVYXӟ%)Z>^6'TNEsV^٦\F"=Thת탳ͅFV=p&#(BJҒ/E+$-C({WOGkǒF{c&'w;-Ae`E\kY; r)љW^BαʻB6eB؞2}Y})9lЍV)+O[}J>^ :4֠B2ԕPu)K3嘩<[$93$*.D6[VSx3/|@A]~k 5 !8ے[iZ/Q`÷0@[B 8y{W/cY.:0ky=˘4;w~42ű"$,z[X #AIͬCKt`2N`XL&Wjd&,e@ya,[GCQX_C=T-J8 ߊ6D; pnk LH7j˺nVgK/h} MPAeieS<5&i܌Tʼn.T[ΡgڄuRK}6}R'ԩ*S;_g i&H%ۗ.|uhjVPࡠ.+V])gױ b*BTI,46ן+$Pfw\A,S(5\B)){&"G7s+ZUy[ߐؼzTOr9)֟gEz]škPsؒ%<vnli"Ξ5j$>~yaȿÅX 0){%nV8S&4%#֔GVChwCKdUhso[ fljO~E\ً;]y~zEhT3XdaҮtSj -V4q(&LV dr Wu{=Ʀu6< &4Tk@R6=aڋ dcM.'b$Y7'M_!p]C=Vq/ 9ح1H eLvV6oK^M[w6PѦ_U!\TiH81@+}ҚʖKe 1G@SwӠ]چ.ߝ+;Kyi)Mbu0嫈`#JoarU1 }9B@ JLPKѸnzJ qԗ;(;zvGܬ{GA49d7 'QPvkQaP"E4 O|Zʭ Bڬ:^ ѕdՉ;>ELXvAE³\ϦNϔic< `%&0S5nؑ 8m{.@;;xĴ63 {DfjæS]-8뱊dS5CY FU4"g@n<>ep*d(֑11@mv|/HәNd?7C܏8%X_ Lcq.ASq́ChŜC*3|~Or/J!A(ж2h$ <͛ lj{VkWkSQ14%bpX kpnLy.Gг!oD~j9#F//AQ~"6Q#nuMus 醢Db@涨WoDM j\չI?9gk8K&Wٿ^TyB1pVĨ7 U6#kuQ[q^jnU:5H⳻`kV^>(oqpҝemh'Ab1f] ;!Zwu5E ~M(OR"fA[]P8غҦ+g-AF5`|zn  ?DV$n< Ns0lR& h2q[#hp0N8R8:5dZAy@iz@3rrSj I AE^"UwN/VBS Kp(/=?`/~ύ3mZl^3jC#Z!]־;#y8OuU>Lto+s-ҴOǗ-vVf{Pf81YA)v}Y 04O/^ּ=Օ,fS! GnNnMt α!ngPwʤ LVE\N'fN^7A;` =o*iav#F)ܿlФ:LKٜt6aV7U %^du ^+p*)d"%PoצguG yЈ6^,6{S({nc6&m3`EtgM H8,yFbPFbҦ*wp #NԫZGG/@|*yܽڕpхRmqU,NuP帱k4nǑ.@F"{}e4C,lӆsG8py$ÿ'죢}- ؇T=aW6nqySY l1Sy3ȟNDCa#/(Z0U&^.AGRx.hc7Mf`ӭUbq-ց9pY$. V ka\l~Y_FɤGl@KтKO}=ƃՉmqCC~}$<@6Dq3.G1ı#guFo~BdxbO8_kmǾ#]n>d*~V<q$\j_h7LH>'%0k/Hd|J'f /`~k5T="0:q CYdezu{>[L<ƒ`2fCaʂ,ҖVBz76v*4I15b+[Wel: <}*;(7$0T JsVRsݮTs}=2ccLDu%sn:`<ݫ t7q^O,z͈ W~ߣGlN:&EӝٗfhVn`dwNWψhkxѪNv t2~FeĠV5t}~bj,` ϧ;%ٴiʦS v(- n:-J^9뢗' U1q Q]9Eӑ;hQ?kQwhRZ1&5ʭEJSY+׿ՐU^^JeczW>3F66*t[v k ]Ex?.|usHѱiѤ8*aU(jQ^M& DMnId=^+ E i(iS)M?ˍ{ȍNW H Nv-̞I~SLLS%܍6D;[ƶLaκ~yTE8 AMױ0xzOl>&ۣҋ^mO$ѳƱWǠeQ79]YTirj8* 8qAp~ج>G>sиăHzXMI̪y#5JUm+`r!33Ã'˂/dº Q*d$5"2'z-*8Ilw!AxТ -aphS0%{YE~n;1į qMujN^(Şu^ 3`|$XV>m^M5K29R.qZU AnS Z^2|ԅdW!V$*޴@V_O#q/lsj: , O4>gIS$hy.s De4V0:顀 b-x?(4 XFVlmJzYWJOJ jl5m88T\~J?`1btL#rnkMuCqhcnׇ`w!H$ I ~л*@@ktC;XDE\xBW(/\fM\/ >Q6lrw j@9cAod/lXVBg[LOR>p -'Ľ \U2r 2,2]DKp3w9VTM6@,`NuR @-+_H-} G.4#$z4 }_!pr(u08J6L\\2fC%~,*<PNdS,P`:ɖ9<Nzڌw”";oi0.O~.sq0TfdAlaU-%EQTI̓ӃsSQ[X%;JJPHˠ 7{'|"˯hqWIt- _ QBP dY?f3j ሻGpA/5ccxe;Rln`r5I+y(ϴlDQIȼP Θ\$Rw9%z>a E8Z4`enSfS Els'h&b({, De qؕǾmVoe},t(OH31y K ǁ*^'zs.UtTʯ355g+4|{4QG3!Aq#[`~($ʨ)IȒx6S`f~l|u -K%)1SK*ⰹJx95"~9FaZeRFlbBF[X1%@^ }:#vT#L׀V`L-*5'p"LO5ФSItnuÍ λLo3$I:X֚x䭂@3=✴̥vՓsVY8_ۙiH+_@7L:](q`6KL ˯>iFyvq9!5?м/SԮɷOaMҟ><hПOE+'Rb/WqX4P@)%S2vy( hiqز@kj4_Jjci)c/򟜩}[^[J a01}ZY$+(@ ffFkN/ZЍ_.4ɶQ[Q |Ͽ Px 7Xn4ZMF;ЊлړE# 0`}QLx}'sC?'"I )c%BLʚ+=g "CȖx`㕟 Ru삲dv)I*&qBl(6 :_=cN*AuG4"-EAsSzxSGeb]B~ y)%E̹l4>JԲeBOwUvoĶfC҃euA\,UVocdb_&bNՀI[|HJtos.>.&ב;-Ww8w/d?øVI4 % K zL1ޒ܈VyJTLT'H"1+*ʟ7<7BJLÓ܂8,$@c*yrS ߣ/= K]hE(F n~vAVƕg[UWw/*ۘD)3zLޅb>w['h 773)W#9^yJB] ijspqXF_+F&=@62%x9DR>ϼ/`Ώ8`0]IzoĶ~#BV{WԼ!!feb :Ո[+H+n URV ŁkՑ-^#nSRܓTgs[Y~_+Sx尤_Q_l !/ɬ|wBIK˅'-b)T]?*+ePYx9 w8}|WcE唹͵k+*kYXm"ַm,8,t)޻A`'َxyf.6|Z&˅|a.wS”2>DGxH57R%ʟx - $8b9WxW}7r=֜h֑uCFbq$l[@)O(\hWigR>ig~ DݬBdʻ_vb8!ȸ')SFֶL QʋR]_L3<n3-#rXR;\_|el!rdv};/@cNF9?m t+pbjI>2t1Pٯblc*?rb!m>%?GPshK1=߀u5WXGof;T_PEZ:eTfb̡Y:ٔ 9= My\)W[ʛf"vF^ԠO)!Cww;u03fgEceq̔t!¢xΑpayf=r6{3L PV:Pʿ OT#K2;i%5?0iW-& -DFo4"Er+=/ h~Q:p2ʟ`ل5ohB Gh4ḩ({L0ΞK4e [;WT!y`(7,kK0A-s:m@vyKlmh{YwZ[5,#8s5dn1rxg= rFJZxE-v6^leju/%~7bHxdoxÒgLGFs#C,(gx> $Htە]-_ށ!Z^ FCRS]GhRd1-%mkJ{C& ~`I6$sr[8ec9k.#OF 2R{ =8p~  lX9Ł@ Z:%n]ff3 WA 2eT1㘣Mݬ_'yT;['-F5OT4Qzp:GU-WKr:.-0Y"BM F$l ؉A Іy O r,՗fzd҅RUTa)g^kf.Jn 2t ڶR}4 ,)u՚a^ [Vw-X:ck4Wrok(A!C9|##6*8t*#N~瘉.vU_t;H3"Ր'2Х@CJzoyV5t&GSzzE=Ooޅ, ENH44ׁ6 @6_.ΖNK(KYk ]EQ辤}Upx(|P:7.[Lkb/ {@lۃ?{XH*1+*1Cq|7glXՂ)g9Zy3yQOlT{;JTϔK\K}>9` QM+cX$-qQA:^[yZeES@4LՂ=b 5.xO4@,XOgi1RCD7=uEBY9ka"~  l;,Eip8ROm&.$$h.NI#脜H1*U3b/Luf^nСJǗNC^۝VֵODf9)J4HJ8OƏpAxIvƓ:P_.p69x+Z3\hh$S]( S<ǜ|rv2[b#cmS 'd%nM% ճ2'{4 3UQ}fK iΌ%V7v%ğdݦ0WNL"oYE* οRa-:ۋ8ZL<7dR8Gt;9)M,]Ioa{wv-͵ae""Gw%i'5;5d BDwx [F]gf$W4*j6rk{~׮NtTlaMЎ)^WР-2J97 5MvKerHlXҮsFFZp=!}"v_dԛ]T`- ҲXR?31n )T]c2 uC7ĉ<"; GuiT  _*7!ULZql7(9|Gm <^11PinS9K6?TοTJr>6.q:{Kţ5{Zo+!W-ڰB$cE_0| oGfq|%m٤=Gnź~/I,T4DHb@y]nԼD8]UtV_Wp^cKQk nX,Pt[Q[>_2sŅ}68w/du 9Fy1{ rZغ4)z X)I䨊<mljULod,[pF&Jaa~U9_)y7bwCya nRWx_Dbe5/"yxD{1)O`00Y'T<.AGaT1A&(!2NґE#eoGV5*1T9z^'gg Rp56:7TB88,B*SCb3y[ݏ-E!nN#X[>PTT; +gwWQ2. K a(1WUV,F.B1g~MƂ"J&W.Kj}9}uъ&BR&FPeenT@TdF}cDrĪᩕ-\ g&\bpLN5KCB>eʪKkbщb"[5hztYp@GsI.iR,ނ쑊P(RM5DoM'G(g)1lp) H&!8 KWvk/)pф9eRT*Tl[p 3%2+e["?''!-pCn5yLOg[fT8;[A6AJ c>^\ݻ,y ~ms %x/:y#R/;쏖dK'<2AZdsTJ̠A.OQ]g#loLN>&1pt#|5jA 9$gY\PC]b^f',E{o#CIW L8ׅ/\Aܔt+{аgKQ Ϙ',&_lu!+r!.\$JDK6pG,4YpucDrq#q<1x-qn#k-cGA3":rէL$ɸǔ By(1$R]BxKk3#9oyZتwT7j7jOm 9 .zڔto*Gw`E%۹Y`[,{HA.)/gd-,-+帰+P csΠ`[^Z6vU,86݃~Aw[ptՇ $S{Z9k%|&޿82"kan1QͲԤ;^9 dԿY7՝tRa;$69sgg=g6p0[H50rO;=oT ОݞnS.ti$6aDa,&r1 HSTR=e %-x ]ڜDwjVl(G˄'I&f@|ăw͈e>S,!~hP~Rp ͭ5A `$KB"^m]C ʲbMСM?|^4A{~zy&,흉{ZDTjsn' ! Lg:S{O搼AN('"k;˺YSzC&>{Oag~^6RFzQl! .)Jo˂ `nJ˫™3>vcOl XWz)ެaXezCyޔs S rM?X1lU!QBTzo ]|*0@6̌5LnUEl>nmf9GWo,gawvU8M@F q(~b D%2AfHX[,-\˻̓VSބĢ؃b _7R2 m?5R!X3Z7{ ZYbu<^.gs|f4I@tz[a_p~e;";mː+} WGUewT$KV7|]LʠQf\{r11_5Kv/ķ,Ē bø2gy)Rrg4wXmE ԰@A#'*aP V^6w}$'ޮ}^O4ߢ<)lEjr @|܄~Š`vOxKyjg#_gL-aڃ{.v8}#ȂLhFpO_h}.ry#PԈ 'mx[<(u&cVQ',(,Ot+nWxɔ)ocZ2~-s9.>ݯ/|`jM- S* i6T/ -κOt˨lE?23˦^]$AG$V[mw?+#FZ' ׀Rw:Bfhks#v}%4 xu"D˅,ф~^4O vYRŘԷqӓH/9LT^%=1Ѕc ƹ.CӧJ^(%UKWOюox*V+-U>8  b$n-]pM 4¬O( L UofݪO~W/QN,Ԡ ʆFÑmoCՋ:~f5}u؜{(<^|\uvJבg+2bb4;: }iO_3Xߥ}I 'X _0Zh2ߦniOnG#&` tAϿ"o<2p2w_9H*iAbm9Xϋ$)Y10Es,!E/"SP_(qqʼnvmcHG(TdS<9:G!P0s"WMmd7<1Z^W?j*Z؝(5JƐ&3yTxM\[$8gKCdȉש4Pvqt'D\*'f 7uZXH6KPP[e,C2:ʉ7Pԣ"ex0ێL: `jT}{lUƞ7շ_9wrY&ss٫ח-Ĺ/2Vł}GTN|i2 !SBHjjbm9k9շ.ܑ1/;IX5~VJCd(#ɼnN4d'zz3Ox8aRcu:H8NO^ŷ {qR ZI<,YBt1RFp_yJH?%((T2!\)HݙYلC!#*${?E*)~TTM%[;U3m6 #^DB6̚2OZ\N,674^tMO*6{u1}(4䬈ۂ~_{/WI&%9_6?ݛtq:2 .$@!}x_bmq!y[-WY ZF0ՠREv)xFEY0=!zz(79{_Z|qZ̭~20^"bl+IRx.1mvZhxK+Άr`h,j, mZ|_CرhzBX\+BA D-nV]ͦЊ5s7"vW썢#fI-еX];GcƯEVޢ oUAwީeaHȇ(2Z?UdcBzE 6PrXF*@!ht9-Φ L橨eX45w* #˼wn=l¼+wBp.ߵKt0eB$ݑ!^0ʨ/ȯw0HC3% k} He`yE`;JW nDv Z4 xr}YwG3ع{Ueݐ#Ώ&.Em|Xr~fAˋ¯83:GN?7ৈ6ɗt]f 20GD čRc\W y7-V@>k*K}2~oj U %">KPnO_sƒ&D1-ST<,R_]CDhhAp& ~٣ :G\n)PhH9=I$~Dj"&TbZV+R #Km7}'>n$7󶘱 &5^b 1}1CAĪ瘵sSSŢI)d*\l8qll# |/DIw9r6IPI..+!w?D3KŽs6ցJTy9}W^*$;\'1HzZZ%q SyG 2Z-M/8)%m|fjqhV*Z'錻AHBPj.C;(;(Eї=9E;AǾĩwTe4qKW+d"C9KC^;92K*8}RݙT, %bI2 X*!xj3Du2$s^o1ipa :R2;xxZP ?GWR}9tF. Ai>ҫg 8y@*@?Mf3Ql@:˩;6>2ȅ C jQBW1kyB?J J[j̨;FlFY_Qp,ND."l*9yck˂Ŝ}̄wrg=9TxKӤ"CϸV""!ZhuVZ+v-JVɈ:ZQ%fR `HqiOw검$ SV$ɚ#MDCnS ݑJpnerd Ŀ! L.q"v(NJ5=CW>eg.?jݽUk? 9z2s Y/kpbhsgv4c]<$0@17[QiLFhρbdA2xDVMd|<̊Aˤ:mwnD(:^`X.oHw;ھԔ̝Dgĉ*fI' Tgϥ9<&e;gs2W-e6r|Df )si.QߋpE]Zj{r[]>* KB@HA pnGw@R5˒%"ikG#yz9Kt`v 1+p}S9Gom`iزJr)1oV F*劾OÀ_I*K@L9䑮 -+-e7d)LVk4SCP UlBzELVqǕD,*;CL7leѽLr'ԗ#1]H{p.wINS {*v;eXj3,g d Io(b6ISAKAdL1zi˂GG ksjI_\TJ? }o@#3mhHJvAHU̎T VnpE-DDꩽ5>U{,|WdD:cٿ'*[0dxKHuӁ`BJ6LY,f]l\R]e@N0ҍvۀa90xe??5h',ByIE7Yk&o >[sVNg{bR]b?):/6ΔCYq+B V-|\}C{+xYT i^q-Z'"Wsͦ99j=,F$K\hR"_2|u=G*C^P;]mhf 绪L$ c|q4 h*;d6c@{ud|L ^ꍺ!UqZ!2^>5&o6G[9 ޟ#;ϟ]k6DcN5h7+Vt4:M:Qs/v ocP+%Q0Q*Xmo {fާHgY `'QAɷ;߷K$5oKA-$b7[u# >,*payBq£,vt" 0_͘{CWEV bWdMltr+a)bR"fֱd"jQC⢎Ӓ'<KW=~mIm(+d'ʺ0$lݺv JGY*_p-M8(9mm-.95z5Y<[7$׻́$,09܎%c]H:X^H+o"N(*60XRQ aQ1l7ԥ7%0mA>8g$-(ATHUU_amCdsDZqz2#t/k}D]p'w$F zآLҦ?e iu&*q/0/C214үb!gg2ղ'Y%wGo供zKgTj|ok#X+jT-5ٳmR|է;iWCŨmri4*4>~֌b:CLzT>"E;+DiGog2Dۙ0@R؆شn@uo4ٶuEK.Vj`~91+ZO iJ6֏z%rƦz[?] "cUYl=T'hbRx#_HU/W\F` 83`j#dD^1SШ_HGngPiĨ*QwcR04qhxoR* ܃c ^ai? w(pmuŅkϑG>eK"npnǬQ\ދmT`IRs~Pq7Ff5ӣrjd>hkgSRt*[;RHcJgRۃ sY]xy>mF*YZWB!2HG*ՇSY~q)u5|[v|;'/o૑@[{F` YAYaB/c=yg_jQh7;F)Sa>S4qb`uQtٝ@$ )2+ݔn1qO'zy˚OXä^8,ݳfGv,ܷ !0Yn @Ȕ5U!XΩų.Sy ] lpm&=L=OCѣzLُzf|y^W)b@y5GrM1ƮM::˯uhnad}Gk]* [cI/xVª;*  m*NU 1F[;L{""Q[jV3T J(HEYFlnHa#NIdkVlfPت`Jy `UTt~0O:TNb+0H4y6ȫ պאmDΫk^"R%-7IGZzky2[',#D,)}#c5~7 <ML:Zxg&MPƺ1 ?ԒNU0 x b8kLRՀ8  >T2)hj)xnjg)- a2 |0ӑ7B-X?,Tڑ5,Ya{\oc-Ca%a^tFN#3@=(vެ&}^aZ^J=Ҳ=Ap6qᓭ.0ԡj .m]H4Uϵ(&.) [*oQ6YZ2* bX"!imPycܺ藋ZL| 5~`-"s0f9hUa~z2FKx+>iij=S _) K{=Ma4W]H: ~lO)e׬H`6qvTra+4!Xw \5@0\֘0mKHnqdrBkWOYm$H2Vh1 m1݃̾9N_V3':xE?WƲRqk-T0RyLQMF='[fPD{3=>{ x+Ko>jw5 mOΨaJys߈pF|/.u >v'@xE16x Q)/9k4د CbbdN {/ɞ*ۣS=&+r?社ւE Yx&lTח3J2*1Bߪ(O)Bv3s9íG1菱 4e&FU-&y>ۂsoFDJ KqiI Ԅw0 ǒ]v&"bi=L쵄td~5%!z4ў>/vR۔+9xq(Yw!1lkP/6Ir/:\Y'*|j]ԴJ$3p?庣 {b!/1o @J2ݴpv<@Z.:› 2L]UUL,4 `{J̈́O͌zPØ;&ZY'A;}oU+:U$F/ *r>Gյ)/q?Y3 DE:#ZL@|+54J V|Fr-32#>` QWwq:4:ӭrk#X!;ϝ |uYnq5}3>KΥ,cwg*@{<&)B18Ôϕ[wQuTB1JsOVO7o,b0gCcia928V'6ϮZtis #5LH)7[>Ŝ $!HBCUv9]Lc[_Yg|o4<~3!C /aST3\>|8''mt@;uݍ!ѠWMokzÃi(=0ݺOw Dm$vvtHZ)eq+a`綑itEPWIFËL}qc0treseу x_/W #4I>w/[k$UߑE|KyslZ7Y}oI%#0ו/XrvgsP-UwhB4_Q7+,eouE롺m ?w<]\n 7TtnaG HB F07]l5g6z[ᚫ#k}&Gbh~9_[?ELă2qM`.I JU%|ݗ꼭 [ε[)DW|i mȵqڮpvì9@nit𨓨C!-ve72#H\m4D7-B=HCL]ʤ-$LW+2RY)ݡS΂f|LR [DvIL6s1)L6%J#[w%Y՟`{h_kV񢕹k(^2:N#8FmV.;ېsFļU-'@{޼r'r7@%5`yE^)$)L-{Wq7mGnwl )B=&g0<¤iP߇Odo1%j$J|f =DHT0$(O֢# :}NۼgE%U N^ғM/׿Գ-}BcV$q+#[. =lZf)(ُbV0qUc jN8#iFDq2# HL6YIRjfKO@d+ (kp}m9VnyLIНU%A5N飮dO< UiV'-%./KE%^Y[`٣N$Lp<> ɒHF9G`nSP/wREӇFA $λ 0'Dr!lث jRtQLSA wkw' `V??Az^CXOml %w"x^?Cܵ_4r;FæPJ.%db{;`L  $'4|K4ƩG@5[t*XO7Ox͠F#i#bl9]v3 'ak2dE0)2}:B!&|RJ޼ẁ{ #T Q5~ϋ5-`P0ɀzdkP^7h>,K۫ HM-Kƴ - * 5㣟y`| XDǾa=JfEQ2 !m9ĞîʳyTa/z.SYa.6U3zyK cqxk|Nr"Hj+3rdCDYeT9&elq}nf:Lwhq'n8BKW$ɬVAIX"Qd=yO$R{cV2T6׀3_XK9MuWZtXvpKלJ̮ azE{o*}åweti?e gߋKQ!^Ƙa+YIAo[Y}Gw`us+llA3TI4w^#R}T`6j*7rOi3/H"PXfh'(> FvS7^[,9/{ `e9wŪQ JUEߕխ,$LH9SX roMf_ sX m\.sO!A<4Gڪ#{qvz0Gw:84܄F'ܵ򺜖HqюQ~}t Wjn.e]Իs/i?8pFLMfHÕovKNER'yO|,MD{NUv7YvTo3' YsALAgb'vC6 7Έ2}}4_v!Ϫaν⦫+ڛ?!i7q0Obg >7˺1!n %Zg+}M Y/,@jػ]%4Q̘lvzA=ȉ ^lT.jIDZb :.K= o_M>s^bS#rBF*i!WuS,HzcI<74W= Wy`6č6lh,rNr^IYuȶ8 yİu)(-8hy>9d=d?QqQ2dM`ᖋIw~;GtWw)}lcTU]ڻggnBk~c\w=<**j'8; ɦ@{I݂?yොԐ@ nqPi緅$>8fhmw/7hVXY\9̳Q+$W*#Ȑ5ELc wWGC3/)n WKh&p]6M>s>-'+!;?Q6F,xէ;c2#7 |y1;1I$QBw`1 9!;ȼEOC28Q; ?F->l6b 96Q 3n(j&JEAJ,\3uœCpeKO~^z%Y{v&sgH0tvx@7OkF~2yu! 8N[x0rQQ. ?n҈N+X*L'ĖcNMT)<{rv8. h T@/&2]CA(Ud)(͡O0'iYC=P0R0ȿ%"1 :~HhETt3{k4[iv7&{-8˓QøĹ\)T{JNd0 ֩o"ZȌUΙ"ǣ^4K3R2D" UaCRS̏zg{w͚sLGn$kANUTe f{c 0!j㎉2O|: O%,1ں1CVPG9*:,Y<cLrW~b"Q?Fq햲ht(bB&v4Ii\Z$Ol"A\$CE^^'SëglNcjk*5a!Q$KB*#9л{0 ȗTi 0{*} Qf66SA^g֍{z ,Ιw K4W&r?1f#|;{J? k};aKs{񼒢;Z해ݐO =DiW^ q{7|}S㈦+Ce "8Ivr;<8ъkz#MX-dhj^Pb7̾OGuN:džK^ҩA5 V?Unej˖u ^xSB O1]mV˵rtmA+ iH,t~_N2{j{ v^mSgE 9suE'<͒ӭᶞi^#53kj 0XdLAA6%W)_۱i:љTtwsCQmrik1y>8!t:eY/tBE:/#Z4zDc:Z-Z~Z$pdsgoń(_j a<Β\Q]ҐǠɋy;{GA fJA!Ε#4aA:<dIpq9)߮<2X!)u,f#׿7za^WE|SIIJ%CFi;d:)9?FƼi[U!WYFuMƖ8zalbt0d]2Ѥ_-켳C$1 %j7;~![$j͉gIPn4W^fWb{?-+[?L*xG)u~( S!#9̓x@!O;i릟\+3Y<u}[ ֐UmL}VwVep͐.{z"2m7$(J(}5+s r5;Zdah&Bfc)"9DsqV&|9#@6PEQLI\N(}Y JJޜY|DQCґ֔/̤BH4@V/FbY4nEWfi^>V;+C=b>tuBI)6Z2wޝ[Ɖ/|N !m,<:l݆ "!xJxI 5B]qtr\Wn}JAs FR+}N&6oDExtҍt)MOÞG*d8Y4Ҽ"͇cf9|ĸ';l IvyOn0 LBȼ8{q @H8Ss nI,x' 9* ` j)0Sտ%). YWAN 7=kNF袟g0g(8j8Iކ I[%_je_HP36l7H"w2Vc vxARu ­OA@%^W-5N/J5q8K_@Ov۲SRPn .L-b1]wƱSEa<%"$| o R_x(YpX9VrDk0p?t`Rfɦ!3*$#t|}ʾ%YfJA0cǯ,}vlr/pŹbay.XhR?p?/_R~Ae& KN 0a~ d6ѡxL !wI gZR֩'xGݺaeSC$Rg;~ Yk/9,r@͹28CW6&沏~I'-@}h0YG" †Iؾ-89+FEa:O.0 mqXYMg)6Ow./j;>hp@J CW;_kkPXnV#>P g؟@*yX ÍqAd&u̍:ml{TJ<(FoR[1SX_!g@"y05]^DiX*im"sSOԼh%.UwQF&˕"˫jp|+T90$ &(ޒkN(m]/Τi1.cصυGx`{Lf61YԈ+;*r-T`4 NK4zq%|+fp.Jc}ĊrEԑ6󾣯xJg[)r[ɓHI.,Xlu^] 'ҭp("){5g icJęjhr^ASʫ>W )憣VC&ֈdT]Δ2nFgAdM}RajHD5-%^٦l5'38Ѳ@ Vkﮅ@w?bMn榾K ]N\cL׿|m}f ܞ'/4,}nv"kVP'~[=@"&́\t]{K yuhoiCܑ3z^o(|Ѷ[aYxAYU7,h '->%I_IA|Q];TA"Z_^ֳ7|i0 D&8C txK/r/S[b>&_JbSy*Kw)AʔLqPQ=_[u\)m}"7mLsfM0V*ޚqݯO8d˲Ie;bUhx!"O^]NZq.dvDń@ʅ8aI7G~kqXPbC!ϖRϓ6$ T] M=Bg6mM6Z2@DHvV !k`zGM(- yEqB?*OdQ>=來'u.A rla`MD:mz#@ h@1F%hSDK5W:nNd*X?6 G&Ή_ݶDlZng'JS0$u. ĎDΙ_ Ln\^&N d^Ra=H[Ȭi 6]Ʉ@>T[ǜkU,uK0ª튖cdk7/$P:)N=͵v6XwY)qTf؉69NX,je RvqB S%_o@xj0&8ecq`.+Cz=\v,Ή웃pyK;;l~=G!" EQ=BTW3c ,˓cg&O^@iaΝۊLb̡Z]^J^+t- Q@jrцuһVb/jɗ߃'E |?-6#IkyM wcYHN4(s=_c<8#Ϙ4|+ cO rzC>Fo.SLk*;TCݞSի<`A֎#M[ #5J"xO9'Lx~;1<y%aUQ>gC//jCf1}BxЌCC+WnolEDRa&"lR:@L')-Dkr8R#x_65=RN7P wS`Ɔ3|UԚB |= #xopY:o6}Vkˡir'Fy'c_u>O}|d,zM$!S ަ};nSJymc(1P"+bt\EHC41GN whř3Cc`*fT/ZE>p3fOLNHPQՙ,JQnbt#vwߺgRȽ2KB$їfD`[P(Moz ،P 4kbNˬjD0*X,Xg (Z(U#I`ਞ>p`t{΍ڗW8`B%d243"':U$?÷mVawXsLSݾT%[{I8a٬l"AxI!LU,{Ozl 9?Vߺ?P'KX :ΰi$D,8Չo^jP5*.tE v}*J$Jm_"e, ouR%+Ao=8lcyMɄ $6ʔ9:xvZ!CA*3"\D'5Wq7]eZ1Uxᙻd7z,?ɶXtAaOAb8xkiX-WxՉ ݬ`@e^{`;M6GuPf`"*ڷs4\70A]Yg D[cQ}&]V-T _`[@" `fm@؛n=Lo:5 CAKXX+O a R3L, ,bd5vB^c'HF_9ĕV"bwE @ۜ#@BNݢ,ڬk_T `jbaC<x .v>믴t_Q~~?֭Tno<}c1 ٬tV7t~u/|Y~|mL dK{Pq̒f@<ƭߌjB9F؝ j5q{Y!Tj%rx6)(}߃k9HLF%EzwQ j/xlG9=U5fgvG Xa:IBNt(1QѦmPgİkٶD_]E- j1l\e0@S| 聶O&p Xj[D"NV!fV=G*i79|:}H#{ReꜴ.R#&N ID⑵n.MOy!6ϾuNmA+к蓁!Dc9yrh1h>eYjnG8M^8RwmEDz_w,:JN01u $Q&DTUL#:~!UJrliht(i}[ݻq7լX/JLxnHy,E*n(-mrrL1ջ݃Q069adQcMd1{)jlY7v҄(иa]%Bo'/=̎H#Lu 07+Doz'ř4=`5Q4뵠ں+kAC/FXIUw/4r$f.K6؇\UtIix Yz/Ǎ$ESƎ+FĚzD8ZEB/MBXN]Ƕ Ͳ}ߤp wNBVoO|=:Tѕ'FjS/Gs7ҽ[tJȎ~k?ϝz,$;u~ lsQ.^H9SGКid!V."p7xhG #eg2CϺ({W!|:/P-|cZ^C>/J-™L˲?rV<|B{N8ATEy(ΖfkF&^I .~)T\f"͑PIN Xn4h7jmp= 7Â5t`YzP б2 ,=bkNغ1X:ؠT+8 /Q!HMa7(}g~ȰfU<]6#⦢)ć[WiwM(u0Fϑzk&>~ˎ5ѭMzi TJMNI2CκU?!%lEk&xN# j*ɩN KGC> %is) ^X,sNIN )Jwio\(|a! "{w%*;.$bwS,|&Zk #NܖV1z<ޔX!Yd⡮ټ} 9>H%׆ G,}XOg IK1 AJF\=G|rjZ4b됩f|I0f,fq]8J@bY5X0?0P+ٶwEԈm;NԬCv~DLuuC-jTB3K qNlQЕ\ [AGqړ43Hő7a@֐$~vBFxlԾMaLd6 fuo"*MߜV>1?VM*]dB %!0oElqRkJ+F*p. U)˭"; G@JT("ʸ鹠}j!`qkPzy_l- 2%uo08謊>CE8[ӕfAg5L5 i'*r_Q;vm_D!K,,0{k@4I#pp`>;n&{`O"Ĺ2?a}lcȒpO iaa`!\8ӥH= hVҸE K6ANX vb.y (E`|gXTr,$򶫏HMU P s;VӏYKU}KIS+07R\V `>?ʳ9(/2fJik)dNN5C(7i@Z23P4~KfU{M9W]o)@z]v5-qcjOeEP\MFkUnEd twlxj xmo9Q|(%/Mk nozVҼk)Yq=FoF<|^!Q6I  Yq(2 B:"\7Dڊ ,w`NsKb}!dTYF&֋W| tX?)@bq4r.-~,©4_] ;agkz4r`F`_|?^Z/L!IתeOvXѕijg-v {e4%~2ڭK;~d>ï7[ɒE,WuQC "+p1:p C|H燌ZT,:pjlb(pCg/&3wyiM]籒Z|]:]fsP?8L\/-MzNx?_-{ @h@CV~XgECxSfݣOU}f#=ø ?kƂ9*۷P >wbՌԩʻWuc) ֗D%*=( b"苃&Ne#JUrD\fNRuYPV_ov5= ֟xV}]Z1"<k`^VBNU%X ;4 nB"R[iK8ݥtb085=1q۬,wmOYeۋz':HL=S-hfݎfyX~-ՎQ9*YBW=MkTߋ!\zBtV??Zӣng(O ZY7)`a? ֈi#BþQ`|1}|ӟf<5F2:x28`ٻ-]& \ʚVKQ7+V~{WĮAڜ'r߀3U?tоMJ4Z4/QDw܀z4& P ߫j/dy7fs@q6ˏ{tT4y@NyE+RЬ?FYlV騣tե:ƨ.ejf5sgt Ma^GAdazUH!xp>mx8#jI [*fu-IRsu0jz^ ꤶIT :fp T0!AvGY;NYiDlhKřXh q[${j|u5'j噙+A .XWB[w`/ YdٮӁeq2 05x]9 pT2nʁoLnW&JW7b;ܤzxrw)a]jϯ( gl*No$y|Bf'kO#cstny .SFF7'$p%z1Bu=$qAbmKn%+3Z) $abQ=?({uU+DWTX ˜!䨏u%H:lbLs!9i_ky)-`:7٬ kr.2DiWꆺGr ѿg+ҙL7akoߨ!Λ]x?y^8vԒ[d 0>>)@nf= (4 5$&I3z&R)N~ sN2Ѩq8qi_h? uYvC.F(%N߃G 4ϼupKp N!e+25Jn6E^yk`a a,YX/tgcm+|9VCgTYf(Z.5P j,dMJ+/|vSrsB=m8 /-7hTLäk|7؝ ^sk =պU E+¹-仢=Q?=,^l3(:vSJoz8@Vt#y"vG! 94dF.iIyWV6#.'~U14쀀u[s},[ȳc r69aCPC@3)=D ګʼM"7mC:Ymޞ6)W2.D?B_yO~ =җ*8,XhF8egGQ"c|)7IR8VɨZOyosDD@a}s(: pN^+Wz^):#)9xUR3$)c6D<'M8> ;Iۓsw$4 ߭}Ute\k/H_Q;Ki+5X[{vV@x$ e1 @x@H"N'5*h;Lأ+:{$}F 0N#ieNcPnLû5{#G9 2$'v RHaiٞ6zfsS<'p;[x5΃M/bi.d Ag {p~DZKl[e!oPn`0~M⯗ҍZې9 睩>PDx _b^N'ceGxY:Nl5u H;4@8,*lMXl(lr$0wUdK4MPw-@v. oH9 ;k7oawϵB|؊EȐS4iWTBvZ|.<}2N$вu}QƴqoEݧ(ѱ]c; >b(wVvbb:h ":MZϭӉP>HP".vY&BI{ 9F{u%ҍP1JxģY!*q"jYGd-xSofJB|E̥QI .{wI; fhS;L;iHۉc֏Gse0fPU@&zeZ]^]VN?uNb l%"P+*Hb7**1fE‡CaUxrGFQTVXNY?<{hs=o  \sÙ7DVq-%=ZdHg~j!]s%C޲wv:z'XÞ@@ 1Fԕ~,܄yɳ:e,vʐŏ4DXx\N ڔ,DP,Z5U 7䨂ϥ 8>F L_S6 Q9WOfnoA1SQ*3۠!`v/Sl<l 6,@ʅu(+Az~l8Gٯw>[x+OWacH􃾛ܪel% -[ ]L2+A{<`r:[BC?g}vW{n#"")Kwfn (,|c]ru+\5VTDS$n!LL,m~m|jǍd%"ttwz4|Ɓ[XuߨNȷBOA!SD~)wf8]~1FwdTmLyѹ3H[`)o8[E/YCv/Xrr'0;&͠[ ʥf"ĔˠPBy7j[2 )8ruh o."Qu %3&1h|=&7tB5A+dW4KT~š߇"%d\2Xȳ4nS*v/ $ûjܑnmf#.#1 %T~[8b@j\5D>C$4@D9b*Nx_.g&G_Ov-r/\6“h毝CEI ^35MT]"UpYf]aB4ڒ1_M">lBY K>ZcgF2: DV~͖yo wF˯Z1Pxc,&HʶFfzA{oJU#ƤEJ e)x %)g"^FQ&E0wf1RybBct)X>g(q#?>% {Ya/cx̸ M4+#͊,(Sd8'2F\9iW!;矘bIv!K"u,e꽥}x3@}&[ YE7?0bK3ԧl;F{7SP}0Y @߽ZIc֑onVm-~%] _:5 E90pú͗ ˘Q0^.3%n%{:p)(ƾ¯֜m"ho3U+%F=LƟ$K_WXX^؟RBX?76Iӈ^Zwt=B=ߑЄ"j1~|LղB¹eQ}"3H9 J@ ]ۜjwQ`If#rtR%/,T~n ,ԁbc3Wl᙮S:ad˹C \u[p[ϕEHxG řgG;[KvNBft.NF@,1*`lBH0$HؤR6uWGP6Qxum;\Aq|Il-DR,f.=ҴE`%u{׺ae"*6/#/KeS$6-&c8 K&Ktͧag,@Uua2doo$J9kH\{թF,Aa3W!.ꂆ$-ilmV>I1X=AY?wi5|_MpI礈7xvT~Q)4Sk)>ZHt4vsM4S8ju.LGoZBY]`lmPN`b)9?g#Gg"r.V6qR+JW&bjӣɕLO5bñIv0pca0yfoDr1QMH0h\J|-Ț/b KV*w8'{"ˡ{;Un½%< ]WFKGݞ)A4Zb⫗BVc:Vř'RՁ Mdׄdnw G ~S&p(Ы!ɟgUU2g`57TP.j;/Z<2E< {Zw aw,w~#J=ˉB4D\~g`l$Z)j {zIaݏ?%#2;`^s@eU-Q?vu@,oA4eXcK1wk)"'X7TPujaO!Dè  _w NC-[s Pmg +⟷,?;UQ%*4vSXm>g{42q1WmY'Cu&8zV=/M; i>M`*:dkX=izsBN\_3Ht, GDf'vg: s? 2EuƤ߿,LafVl֕OF܉?;pӹ)>~ K/5{θ>,!9TT8mf\Us)1G]N6f.xڴy)̍{Dh@U?lf>n;%n Yn2[H@<}f!.j1uŦ҆@k 1ı[LMh#'lpFC'Ftfua*!;#`b3'Z:IirΑez. yC:\yi3"$VWF=yosV֭qiELzU2nD38kaBN+|hBfUc|j&h~P4s|T!j jj7S i ʐC駟oeIKbL⎸oXQ:e@' 1UG쬭Mcvk4FYdcNx-Xi=rޫo]Y]kp*8̨"2: ^w.h*40[_5b^XIG)q eAMdP QreȈO?jJB-G>AC1avonA =#8g:3_耧<.%n؂/,BnNZ}A!EJu R>aS1DQGD-Ɋ79v5o%{ZՂ\4iy1d5\` o~'AӐtFMQ:(M*9ozw;'w^*3D5 ^eMg?Gawڌ$Bo } K$qM*#vpi\`$ASqɽ$d *ԔrA+6cTiE38招͏դ\N4&f zhC qL]:Ý>ln%(ѕ]!.q^0.1GYD MDq{ îw4] 7Uh8Ca4~>Yq%pXQޖM3$vn.R]/"F8 -`1F5[E:]S՗m~ 5Ebiu|J>~'w' }V&qM٭Z;:Ԭ\ߤ57{8~"th#Q^D;c|c_a8F$Ԅ^"PJ5tҹ*fvؿyj2qZDo$laim&lC*hU/>xkЙs 2b紗 *3)͕X`{R7[3TD9 _ʚ6[l, =PQ^;L]0<%aHJh5"\ @y<@19:T]cDe@":TLӄlj۾;;"TᡊZ7t'0|*Ys@n8rq>FS y`#yM qI7AK)b2",{/6&GcxI¤JZ˴qdP>VP" y]C{i;;w&\d-ntM T-l1^o\X-ફOayq84rD҉j~C&Z-ǿi.)|AfE_6:mpuezXcᖻlW+^hbFL0U,I VJK8:t MhP w^-EI-Ah}Ɛ术Q8fK `dg sYE-:,1(MwHԈ pvGֱ_qSU4:0kw;ݕ,mxy FC'$†Xĉ|<'R6N5p蹪DWVnF;hq%2=cڗH4ZF4@Ex?#xVtHVi"f]&tOT+iݸW)kTJ+Rl?m)=vmmqUec y]>^ 3lRd-nF~|_˂wS1:n([zfTjv2'z$!sJ]fymud[{$] gYA0߳q"| ЇS TNDyZP\x&OVud-ՐDmDo m:Ey+3Kuo}ey{g 6RC Xvw\%Ȗ*{@s|"ۋLos<.eӨJ&1qB[$/ơ甎 ~ /nWj[7:mؘg`3y W(٩_4hONO Mz^B~#{E%ɡ1uQ,}hSK¯/Eg&FjaX bHQeʜq i9ԊÄ dh[\,w|鵽)JLJfpF[iI+R˔w]D]_vhWݏB$NȔ()GI1+h2JdT;L;LelyA$wk h ּ S 5&x̂Ut __0YPNܟG_𬄶!ɚpSfopGV5ȭ3FdڊzE @ vhoRB:s HWKEN+.Ʌ<9%wʊ䎎OWDnnNV\4-)f&/Īzm2ų3雛C<8}Qb%t?&-؉(dm}U/J}Jlacs^8FrShY% OkdC`r*[znFYrً[4ay1'~;9Zk9 Lo~d^ӻ- a4fVrgT!aв)iݴ{_nY ٩l9o^Yf6z-Hm]j^Ly}Gު G ֝yS߈s$ewwWa ޻?qQ[cVMU8]~eq>%'t.&hI@ ެE~q 2(ҋ@F*a5%Eٸ^=^Դ h1f|I-a?OIđA.Ni `jd:| V\})GLL8IcUn>4V&hwЇRw&n8}7TΪ&[V~Dy2,H9|v.&*@yv8@8Xs (޺8{6%2JipAyw*iӪ' ^i<"QFvܸRH>3nH|OBɸ0#Vp&N=kpLp-y/I=jcQiF03:S;됦,&zm}GVk4[ R ^a-EKl2%G+23'Y̧#\3ؠ`GqqǪ_U()+3fyjvJD(j;]<j0 Qa u~4R7\ phHE'< ׎ÁS^:1XNIx\\nϙj"& /urJGPF(BPG汔.4"dj0(pDƎΣx-6WP`96afpv_Y눊M??UIRh) l#3~GkwQ}{^rHxgp #22_I@ :Ŝu(] ~I!VK;%#!:9 2,NqpyG[ !D?D&3S{L$K\۳, }&tT >x2|sݰ.c. !(ׄީr˒a5/}wŠXFf2*#١Lco~j@DNVcg]Trq#v3_Ia@d'[,Ab)=d@aXFY91/09t(jpcujLypYJڂV+ бj=K a=0q$<<=gbN ~#M~ ba KQfAxke*< L)JF^:',hڞ->!JYCK ]}<5+?Dmy8E}?L׸~d]:pFޔ7q!K $"{gpb{岖6IGčn!uIgLآ~Oq/Y-Rr*χu0ne=+-mT:4H˺W߭l8I 4ṼˢV֒`?8yaxՑ|#%. 5p|;c;qSIgأJ>J>F m)6^bN l7]) LG.:k Tv;F=󘸈'[66be)B}a݊@,0.trsE2M*EH؟1,Ru\YPau ?C"2>wb&]ZxGV$PS՟?-i`,镢W\n+r'D~|.l(^KOgȊҲ3TpViJ}zDj*R]ZM͝+_/&R Sl'*D~AQU xRKBlR`[^4*Y0撚[WN)]7Hs) +b\9,q !X<2^?׮`@|zdNъ.0 T,k jՐP7a0z($ZjEx '0@jT5K*gP=|? пKd0Vh@YXD.j50 gUKNg= <#y<(O<фܙ2PAp,Ԧe@݁l:Wm 41ńϖLq] :J ƫc>uYP.CHQ"?(6J"A"fK<;-}+7q'AN޵TiSwpw-F^5B !i3^ I:!!iIbcT-hj@}#{LaB|'Zk5ƤyGR-.9LE-sULG+o߭ WB-nVȚ/-EXp{/x~NF~sDĵ N"v׋f5_ bv͝one\or}AIEV!q 3@Ꙅ7τzBn>Gh(rXg W,ƴ']~lӝ/#j;V^5\DO#K #]?Čug}Er.!H#B^Ւdyl4iR)u^1]Tw.Ĕ6.QbrPOGb:t8"3ZeUc7>HN={xArBZq[Nl6/HAN2r놞)P02<.zn{Fnz %k/< ةN }G .i*ks#t.;oLΛzO^юb]|;!]; Za_jF['(G K5[tmZ-{uBZ/ aXJbS~n׿𥌩8 cQbkVq3톿)#(5OgpRЉߵ  ̳6\G3|[tnu3fUaF.s'yק`neS)N Eqnv0zY1ݪ!cs) tR#?@FC>b,$:̺jmQa6ܶs"ˢ/UB=[.He6XjK~&1%TMfU?a128ȉ 9JUE kO Z Z6OM>= QOSfvl-PA,z]į̜q33WZ-ivuhq$Įz\> \稹dw=YUWF * ^9FۮWɭ#GOiUh:I-`O$3`W'@CUqnXv>^?{܊~žx-Q-;&2|Lށ*sM.9( 3jXR3׏IfMn\F!((ʞBcBft^&x s1q+a6("7iȘaK]KQr_|Hk(רCL]]C:̑/4/ym?Schc<2kXP_UL74ע5t_uW$WR?S* 7ĆRwzsP֭:GXLTΤ⃽DP7a} Vf2Qu>s"x8] *se t `iS?: ޺gŇ,=ņ6Vs?f<4ECpGdI|̘W2>@p9Iw9^@& G.E U/?GŐnǥ3˶A E~ɔY]ͳv"a\MM"J)L]wr+Y89&o3: <h{3lTh̙Ƨxo/i U 6#PL=YA) ]~I6aiDW>LFK˖dq1W+۵X҃ QIKFE' L(.]|hr"QxI?\ɟd""f$*$"RH$鈠a ga?:3@&NBaЇQǭ!8%$굹y :2|u9ͪYc)һAAK&]@^҅VY=o_ҝ,_˒b3<_xQX̣`Yԝyܩ&"]K8?@zTы4~^^2V@Ls@5@nKzeggֲRˢepg&I٭R"`Ѭ !gI'[agIhTk`4 >itd)&ULlNW΁@Z2r&b'/n_i ]ӽ}> >,!Ĝ9yU)}\ѪA?ޚ9w*@@`-09a eIO83xqWPt̵dke;t"\t Mm 3Mת~I3 t7Y[ Ԉ<{.K~Jno;lUURv*ܴ2ѴeX`P!5I\[ EkBf/0PW%]'7PPCJL!ڵ0D\o7Z"ÙF)&\r''KbMMt)W"(g "LTE5x}'y]= ݭռvD 61ˊgͺ,ޜJG+I=|htP T1\@YBd״(@R#2RF;幇 cֱ Kn^r@6tU!WVaA_^},(wơq qt =};'SdȞL4"!*qgaBM"w6A A_!-NވT>u2(~Xd34ҨPe iJeHI~F# XuU5? e~ әL[Z"I|3Vu 6pP>0!ʁ~su8.Oj;&J}-B&)0a3Ef:"^:ZB]N'Z<_eץGkIQ#1'NA*m.n zNsDoF&ϱD>mfE"A -bYp#՚ؑ/}៌B)է}=*~QrhU P79`U!#4:d@~ -hW?;l3 !cHcfOׄ,@+Tzƒ|eF_qyc\fwޫ0Abp.XʷDŽVU&+RC5.O3y⣒qx7wII) @ѦsE/89XLi#NCъ} {xi+m=6|m"$Fhg)~y?Д*ܛc?0 ;Pm\kpAe_KO\x-J0rZw{{wV%.˓[2pff} d$6s}@G+v&jXihZtzhKAlؤ4.zP[QjD^TۭQ*ܚ{?$xO\ԩ*]"#O[gg 5D GP>UPaZKw7YS{a4XD@ō