python3-cephfs-12.2.0+git.1504118058.706f78da1a-6.1>t  DH`pZV Ը/=„K,4KT,f4  ֐׮Uƞ\jh|]: ;"!h q/D%;|8yDG1:-NTqy_ A՚7QnOP^Bxٍk/X5^PnӆCeg/eLͳPv_Mp.ؑxCJVOq }3dPꡟ/c8 B%2Ԧd`DWǦqh\mؓ:"_k.P:"LwF762f161021116c4fa4c720a4ac00137f5b8a7e1aYZV Ը/=„Z gNCOWI$s \=ir`%;>:gWWbf7&fo"dLbfr6(;%kra 4$}Yˍ'<Ӽb`}YWjO 1rgU+ [b'(v@>vW3y?6AORh|ggؕ=7^k U!تm6%Mُq" fpB:M+{kquHU"?+"?Esv|M((X>:?޼d2 6 j? Xu     ,T  2 (8K9K: KFGHIXY(\t]ڔ^6bcsdef l u v@wDxdyބ zެCpython3-cephfs12.2.0+git.1504118058.706f78da1a6.1Python 3 libraries for Ceph distributed file systemThis package contains Python 3 libraries for interacting with Cephs distributed file system.ZVnlamb69openSUSE 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큤ZVY~ZVZVZVZVZVZVKbfa8660fd4a22f86d7bf657555b5b5e61f0a3e73e1e1e14ed1ebc18f14bc7090541f49a1c32b5d7eaef7d117030408c9522ddb9d5bcaa571b8a642e858c4310668b329da9893e34099c7d8ad5cb9c9403bb5a4ba518c6bf5b663e2cfc4dc5d3fd8b49b6c5043332deb242120fb90e5derootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootceph-12.2.0+git.1504118058.706f78da1a-6.1.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.2.0+git.1504118058.706f78da1a-6.13.412.2.0+git.1504118058.706f78da1a-6.13.0.4-14.0-14.4.6-14.11.2YYW@Y@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.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.2.0+git.1504118058.706f78da1a: + fix ceph --version to say "stable" instead of "rc" + spec file: add python-numpy-devel build dependency for SUSE + bsc#1053836 * Revert "osd: adjust osd_min_pg_log_entries" * osd/PGLog: write only changed dup entries- Update to version 12.2.0+git.1504013812.01ea30bcc9: + upstream Luminous v12.2.0 (first stable) release * increment version number to 12.2.0 + spec file * edge mem_per_process upward after seeing some OOM-esque build failures * package ceph-volume man pages- 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 SES5lamb69 151558692612.2.0+git.1504118058.706f78da1a-6.112.2.0+git.1504118058.706f78da1a-6.1ceph_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:7651/openSUSE_Leap_42.3_Update/bbb3ebd764fc3038a278d3fe4f7b12ae-ceph.openSUSE_Leap_42.3_Updatecpiolzma5x86_64-suse-linuxpython 3.4 byte-compiledPython script, ASCII text executabledirectoryASCII text, with very long linesASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=554ad6fb7e4bd0dcf2bc3af6ada2d13e3e6ef2af, strippedRRPRRRRRRRO$z[.v?`] crv(vX0zaDn' @*/ҒaGa\&e{CY*veq&GHh~gf/i/C1-9[P2^멱M5Rِ#ꠣ#{Y"AAal0;{7:) twB|w`ܺQ.reTP>,>9QJ%# 6^WـܡN։ Ge{Em4Yy%hʱPkgHngJuFŢrr 񈿚/)8α"Un~}y3+uσOlnhՄ!MWF2kL.s>*3We}fG BHe&ux_a"(;X+p4&\!7!fӰxƫDh3f&7B9m\f dyHk Sm̓l/""ڄK;M fDǒN,91=僃iT"gn:Rb]6d3\⹂7Eļ6kD:4Vm+{/.N7n^y[?*.{.0Kp$ Ewh.bzOI,ݐSvzv2@cf蛸pC>x^Q6Oά 1޽^Ħ(G,\P]*JZ6Unjh[=߭("K&V/thA•kI o]p`K3p-4b?@ۣ̿ZXu߰*(*kvyh)%lq:&ߡpwP xtnu~=ݺ"B^A43O|Јv=y1aV~xQi]?ԾomӋxU:hޖ⍅` *qFMnD Bd_~ Me6I&/tDG +*I>kKrusͮi*Dҭ2 Oܘo 3 {H[שR0]x +WO7?{B+Um2`C6"dnúq$wn17>+82Yص^]fT:z2?^+- $TUbe  Y$ .{Hva̧8/n Ylמ/wB}.~ CɘĒ{1X Nirx±,Ӓӣb,;FtPlĊ0MAp;14pob^ ߜReȐ@) \LB p+og,!4ɯ0~q"xtufzuh7sVn2/]EJ P~c4j5˔5=b=EcBawW\Y{2,lT= (g$)*s|ɤVW淇iopu#ihEүubԗī˒-uAGGadg~Ǜf{770[~%8,k9AMʾxY>0W_y=6UZ%7&W˗#)j,]J?$`С*K^7(F)OU3:>oBc0cImi'-Qn>~@F:@Ӽs\\F602_ PdPY`[P9^b)2fD%tV!oۏCb(KfCq-fЭO1DjU]_1tRBƚY12 ee+~ d^X/{1rP vOufn W<{5D55$1, a$a zx}PøQe䷊lKyE rX]։GL )kei7Ñ5 $Pyv3z07n!$'^I7܍+` *&!?PG;Dl|g=Rlׇ 1)At6̈~> [vg6o]AQsMs QңnA"po]ƓkRD`@uQOA됙.  1Gu6ÆgsI9 K>h+AgLNVy(~1}򛛖1Iv2!-5$7qWҠK1Gh~5Cӭ2OT`|tL_{8faنmɈQYQ@Ipeb5ȅsZ*fG&o)K0xYܐ\5s`Ũ*ggd=ȃ5J+n@#8M-ȉUA$ߺTONӘgiuY{JQ_$ݪA쒲֘sp"&u$l`WD7hq!Mh$NS\KJAb28QNNnd:+jƠ \0ijW"̤*2߭AnZW2h@[5a_yh R-P߼NFBɏ">d^~1:ːgVU!Yb &{ * X?.i%G 'sXt`jmZ_~,JbBJg½̽,94{& k4u;C3^i5B8;]4<0 ~2^ftXdg>Z܋>=ۦf#9ڪNmܨj=/yvp i2F׮`!-ZkxLw+<8U f3݊:9BD5ZNjv3p&4ky kn,̷`n-z 0~odi)"&tzy>55t6SEK=cD'b#ulL)d*v)%;f$9hcSc2$7)VBereX Jد63'\$V]Vv _}GL9zT0Fpjb*PA[d!}0ձk20MWSfod)0ڌwk^YG3ҍvVԊ7PTS4c'RSJ(7XT(Il $Doѕ&ŷs, TkϴRBs_Gh"E}q{Į We;,,]e/+TuBnGW44ٌl H9owu49UzĿd 垞RLJo2\#ē{J2l\|W ۗs?_(>X_r^zn` E$X1~R*OƬvcMgڇ偷Ӌr2Bg~\D*ޒ8ZO1¬šFoTG"101%Z]q΢c\x94z !wӥ9oD&nݳ13صToJGuyY0nKD=(D/V➔6W'5-;|DC5]j ;yNr6 C.D4`FF'CD 3$o9e? VN*l着#W5cm5<cp~8/ᓪ0y6WVF's_(G,1:~ 39nE}=|Cjud j'nlPn6M ,gF>wBPkw.$Dc? P J؉*HJ15CI+xMPMk›!zJ˝؁htrtL˹BL>P3S]Xg/QiYQ]?ϸV>0:j<•ڜئcLSpזDٽ-EuڼYh+ 1P/b0ݿzL$ 6:_xT#Y]=P -ӎ%?z:T,",T ʵQ9oHPp[@ygtn`jtg%J0d2NxSHep@1c1|i iQasHtf$,]0/D/1s\bdyt&"`G07EXfebwBKGvEd6rjDu>:.*Ķ,qc#ݧWMdj}{7+qq`>g+aŠg-*P6W7|qD ү'i>_w ֖چ\_^Ԧ%eflYH~I`CbP'flcvcK/Thف|]hgfXs/hm503lէKiI\yV8حJ0zKh25P%I0N]J ɖ@LDU2wF|:8/\㧇-ICn==au uZq|Ztk+JZʀXAس$NeIoP&Q&ZHh1^o&*f &ld ^ V<CRmY ?|m}He _xN}a}&O,je10(-p5)sCxy#/ک)7u3 yl=E ЯDŽ8/h{\-6YR{u^3,Ke ml+﯀(uF=X,x A8Nwu9*(y"{txMk^13Yd-QMPH%%2m偖ڱ]b06.7]LOHrι::XI;v$O}ߐprP 2 jK$qhcW|uWxdňS%r/`r;/sx}·Hb$w]887j˦Bo8K w5 H_JӰca&[US}c6LW)`CBkC4d/ I <~-VU"RYwBvOJ$N R.ьX*Ў׃u>rlI}M1cJ3{/0Bhb]k!)UD}ۻ_nx݃_VIo,l:BMCu"7q!m|H{5ap2\z/|сL$s@9گu 7 Ħ?^&B"1+w& 3bV߫Ņb=QZpHr`ZϬyZK@ol'/()_;W^{Ap9aa٩߂V(6QLnf^?C|&Jݶ`#GLfxnJJzO8 /NfTu6Xt/ɛ=ʬTVC>~}'a`ZPLLp>3p7i==S-RWzFDhgL1B?x?n뚢WM9'ʹ⹋L+ubJ"һ/+T,LqyJ*OǻJZER5_h<"& v0Ն`()T*raB o'"j@@:!: 8sQ?DKڸ p~`U}1F't68x&س,2㎯GA=Nz%6+G"yOrqBugd}ϭ~{bq"$jtRb#<Ap/RC-OQ$Y\jK"iruT1z`MpGDc8* M& ͔0D.rj!K ÒMЦJ6hGMĢ]FOWO?|6Elc  ޅ-_O~!(jo5>6b0p%f`T#걐QX2SԇޘbAADN-ϭ2;+JY-mnjES4W@OK]6Ѝ9'NVuCSr9Az׍ ?FOMMMEx=E^1?ߒ2j S~QF+ Rk/=n%{n.Iy[<gv,~6F܄?]1!x,){B:S[1f~_&<iTAj0FfQ2k'}[ ۬.XS cR$%;7m]!&=035u?!>mNHJ<$k!W'B>rB#P${)M/ANAi( z}ra(t3AB./5d<OvEzD+_1̚`zuGA.2L} ܚ0}Mh CݎE(M/xbm}q4L%Nj%l -EKt Ύ^(^l1>S3h8J-l_QJW I|! rJ]N8Ciq.jwhS@sK -VFȌFp@l{zn H|er$NO\ZxS As"\k9LgUaIOsxU 5Phj)O{2]Т7|Y(gɯ) ـU\7Оg䴏5$zb\D\2m۷}UcĚ9,ۘlĒ羰T 2C+!x+:L؄s9o.gr\lIKwkDEg>[C@Ft/ Ӵ{[Fh㿷?,%,l4KUfc^hӂჰE4Euy ]u&.hƿL'</=cvlf* L4Yp)oYfHx`ZVRqo-Wi7r nJs1M΅Ә ?'Hû$y(ITDo w[#T+7f+{ha|+M1VL+T>+WF F-)kaVk e6[k!>1Jﱏl97s=/2?J^y=}۶o&.ȼm.bT5/Q8 B"׋9.3S㈜[c?֎Ms6%3L)<:#TTH7Y*axHޜ_ATqS[V>KqU8MG  jSLq|hq葕9_zpA}.l^b苌V?ie`з,Vj_zm(dzCmxP_Pe:p=A{ S(]8)8 ǣ+usx ;-*(\"E\};8%95\yjz)Hapi- B\YQȼO)ﬦnݿ4[Gkt{gzMaz;׆ #GyӞc6FL&^u@G5hQ6 [߀7\.uXcǘZLL5΅!\ISp4V0'D*ECT] V `@ƖUxIW7ǒƲIU"WD5HlZ="z1sPu&Z]x+Vy9Ycw Pe?@4Cc!˄ne~g2t6Vm9Ct LZ0fCC74UY'1a*'1Z*a2_UPDXoQwsYI!I|K;2פCkGcYJpvZĦ #2YT 1q u$ѦGq`e$,< 8e}3.ӿx1C'm~>'!?'M{uTovX"DgImaM/~*Py<f! M[|/zʉ d)|{#(8EBCJW'UM~h'tY}!K6Mq +u8>ғN\u7dRΗͫ$7;n>>XF/7?Z)V!|,Q0f*O|(s28m &Ra}@ ?<:Fhۘ(%W<\r?^ޯ._iwWAs; I{M.mYsWWTMTdE=-ᶃ_zKI}xmK(pI2ODRͫ@;\eӄRS !a"AMz>fidRK=~M6\yD-ϟOLْΡ 3KZ C:c"ĭln"_ѻ[$<(ʅ5dg$ x 3J`c`V|zP̕pO݂*xt?#4&kpo|vyr`&|42?'+EBMo\J$JM+GKj:P_F%!ۨUHjϏ  }ؠrr:TeEv/ 1RZ4d$;@Tc^ !f b( gOMKIHZtm'vº*XSh3[iZHS@lj tA>^) +(WF}'yCXa UɒZ: 56)=F'd3CL'?S4F̂tb/-Im؝77#d|Eo(Ȕ{؏^V$FN0Zf4H6qw_@Unls^린Q*xahcZ`@SsqL6 )B۹ Fflɝ /q@w@s}D&w0S3RՆ?4K/5P򃖙Ƽ3r@{]u,=ԌF4%^ʵw8eCo++%n~ bxˆ>`o9Ľ/aJLP,>;"x@ &`\ Uk?k >1w}W=y2r1^KF3hm"&g7hʥ^3|Œ˵o mXV@5Ww^!us`x*FY3&71lEdO=AA,@ӏ:ߦt$-s5\<2qc\RC=~4}#.nKQif&5foX8LHcjx.>9BQ\ v'm rQXK Ә'dc)L3SH/4aj1BqZJ,=^۔]8?U<\8|/J}_+ sLn>]`Fz>F&ꗿ9i~> dDxZX *~* $arD8Tݦ >u qJ~%s;!C ėEO~e'!Ri0eXV.!y= 6rKc(M~ xTHBm &W8, J I\BX06ؒ2x{mRKD@ddT=bAtOI}c _l&i6i݀|@9/jvI\ ئ 6>1h[>̟L,8$Y9{ڋ9\\Uw!df*UkǸ+;4A00|pC%܆*5bV`=3e?eDtEyl@aƙ4Z ı ph\ w Z[H[2 q ଉZe-eОS('PT@'q Y+OC#[:Yaec8|*IqMNJMbqE`uQ4C|<XhHd׋SB3EH応u9CyD`[F{8O G5XshݝO$gQu9ӃF8\sBh#!6Io,l/α{m”IRϢ#O&3{Dp*L~.[?QVV myM3zOtwX-G%-AYb>م~VV4Ҭ8/ZaܱK2>dA‡Rs^iJЧG"YT/&1BC'&ZIA3GO yQz {zCV _M>+L1Pei&ҷ Y@ ~2oA:)l1UwɁ! Aoll#sHtMc0ת["w9Lˤw3J7a\ ֣SkN((t-]Y ,3 sc-mh4lj>7=<`䥕JL_k!_IlvD sZؚO|K!Ÿh%<,hpGm{4!;g˚Cq4%(LC@wcp\g'DU·OM>*A q ^A;wrN:́J|`&|[n9L㮾"b*LbdV|CMDڃ",1z\@(%]lϽ{iM&}ХAKcM%$;"=tC<O׍ {l]3lԠȞ[j6q7)"qfD㺌c~8+eG֩ /BCgkWo-6Fߧ S&_ɔl a~8:AƓff'AUw %^]x}%xeĒPb.Crƺ=#4F4'TIpePB=D@>m4,]]dssOs>f8kZSk w4,%[7hzAŞ{̋b5 P@xbw*N_:?skMtE/&=FtWP{)=vOhҩ ,4uT|΄r/F_rQEO%Qs ~gbu:Jz W"DdU$^-R6YRfG1(Ep[y= \}I:(3xvT@+bF+Ħ9yg~@eD 6nWWer%AocM]5Br +yP.>+^/s sv-`2^=n6=Ulhc̺:^+2xA4湭ֽQQ| Àج(\=0#yz;ˆtQ宜Mk7$k㎂Lԃ/gj _FT&>ߨXC8v<C~ʷ=~$jPv HqKkΥqʟ")?1ƒG݉\|ql~QZ|A t7HGu6*l#ʐYڑguhc_ {wFDYDMtOнq^| b,I9׈.dc%Ibx[?A5Y=RF{ $!Q8UzGQźħ ?_DoƦiݧ3ph2~92Ȥ$Hxp(\ćj Z!D;&ho̅kr'& :mee4= @^_3p\b ۴. %̩qiHZ/(X#nҦM& iĥnp*vhPUpX?L֞4LAR(ßgUF,~48*i mAU@mhbߤ%𚲖3P윁%&E1T탴] U7%uiq,<,0topyi8͂W3D*eH~`nJ@sWjA b')شqPke{d:X" 7`h:ވض({ #]K,Ñ~E!P-|R،wB+$ ܴ .2(L I`DwM$2l8t_fc9&`4޳"-Rqag]PAo- T[1#G:*ʼnX3\ 5;PXRne*K:1fmWU^p=IH>mKE@}(_\m{MM-qcRUḞ&K$M$8ǀ+j+~2g?jБ)m'( y2O9*|w\ln/@.򑏦1;w4HQ3cq Ɗgr  r1.Z}eKHW^7-q@ huM&C)#dE׽ xzD]X٠W`~ Q Ji(1(gipsb+'槧 VyīF`rAF\ͱID7 4,3H*hfw qd6dv3Uʰ><99X#5av%3i 3=1kc6['{ʼ}nr)@=2{hؼq&kVL( %)6pdӱmٵ7P&.h$\+bh솃I%U>4Vy$&LTneItﻒ~?i`ςx@9k|TRRA`v8 1D`7QEmڱ : Xf|_xXR%G1JQ!"bKS QvjR1u8ΝmK$qg |dІ⧤/k1 +3@ݬVbMTS$ 2'G(աm)>t`QT:|9؞t[$,2³21׫w:\t2hY<*FO@}S2^Cu۽_Ô2w c[rW5 ]}7Iٸu~+F{Rlrpbu@`K JEgO4J)˶mp.9NW DypH #RcRE o0xik="`xiwgi/@C3kqL֯Xi)5XX=)a74]cm6bLM"5y}~=1rϘ7^أ2%8w08mĦpj3ޫ&ZamD&˟MTm4@ͅ?9>H3GWdh<N: 4Ŏ]fIB7̗?!z}+߱?C'U.pPI%E)-_y^~TIzc'K!smjC.seO 82Ȼbe~pe5u8:YWΤM b%-kZC#݄^ A7)`tk[+Ri# SKH(t󑸢xʡucb0Wmh?F^Qˋ@6AD=܎1!syǟQpi7^wvC/ 04ŕ_bMmYM/r-vjO=-R"1*X֋p}Z0'f[XXތaӲ,G~6s(2CAb Xb-O.$#q cKNCzİ i4 k3N 1";@9zjTWV&\-2GH^\y~EKs.fSGtsVg]Pgy2Ps@hs|Mj?NP)hnEd ,7ĀA%}/%W="+Pg*hQ5p,vوPGHO0n& iD?憘{qP8I+aZ]*P/rк^u*kp3@GLXkψӋ9d_l,jE ##2kB7o2:Cwu\^j V7b0T*eYwА4&Q s (٤T0IyRw!#Y1NĞ|4|.>Mb{sLk nWunxTgmO}&Oxvgn+lb)ɠ=%αkjfY(fA㡴YͮEp)'@A_?\m3xHщtR1}<ѵwEƋjVR刈js+]s`! ,[_R~_+ZTognPG)D3)ܳH@PT,1p16,M652㠟h֞`%ghh'ԕokImb("rAgnVpZ,j~\<F1 ɒ0y!WpKOeoЮ_KsK̛H}O\CoLuq |yd40>Q[nzι@?G[.h)H"b.'F ;K:?_4)jo@Oo6; [-yw]k<, y;9)AXPS'ؠ `E4`2Dd\ɔ$m&Q Hd/@D~yY PX'q |ІJc%x)J(}4AWU}1ٸ."@| Lnpz7@@PRU cj]CAJujӉgޤǗ3)6s|~a_e #o}2#\xD(֏\Qs\E-?L$@VԔSZ^fJIl >08|{w>x9gf:\Ռ牛tE2;gJ+Ҭ_?^/If1b9ˊ .|Nh,WILO`_ yĒ-/e,9 Fz}ҼbjTQ9Wo%wh^5*然BvP zXW>.z o[6er|Q|tr;. 2訿~Z˚䊗AS̚X) y2 t&~x> +:Q[`YdSt. ̓+dUdvA ȩD f&4,`yASR[ Ӡ,Ȳ@:ץ䜤PJ]нWjy&cHBn^oIL"P޷n^U)fAK }~D+ZM;6ڳb(i_Xd)Z2Q3+@R†.ʩ"n   H$ <,lvPFo%Zv'.XR>2,3[&axpi>P9Z9RClwDwؠ8it@_©Tk< #.M'**˩ y>bvu=(jcj ^^Rn7_HN޲.S6{Ix5vGA%S'eu y9ZD`-WݵC}K'Znʫp"'/*MX5mZAQ1ca"7y'K:kt3z& G=U|ׁ,gMT}gPN0O"ߔ\yhʟhšcxtRP2b~_vZ4,vy;5ˬҰ"ޡ~-xfٽypj@M< b;񹦼sl K[:g}Ө_h1-[Uo.(g o|Z,zK.q|h :Gخf7t$b|Dܔߣ/݇gĜPQa,K%t&Ԑe~~^1V8wL5ďG+O!~ ` ey1?Z9E(3 O/H\[#<2Ѯ@K7{BPChڵuRVg .Z)|`)Q,0#z*x}mե -b!8kqĬ)$D Cx1Ϣ1ȍ}ѾOJ+VYN?#u݅[: 3Ș2+nuK]vŋ'9@ўdwmqnD8v>&W 7ѝV* Xy\]wq;.ŗɞLSWPlզb.tvCIɃ2qQWـt0$]Y$iǨ1rLX6wbar D3m$ ٻ5bR/Em =y\!+K_vs9cXL`X9GC1:iy2Kߪ1mRhF-XS.jpZ4W/!8^9M1킭%dy +KzAv;L Br`;}(0R{WqG*h~SE)i?1o5-A|.-/s4VTΗ! pJIʕ JHl=ՖmpBhD"ieU_b,AD}dr{/HyhPHZ\z_/c{M-m9J>jQ `aOa&.p@t^!6܀[cYb2/BwJlk){d0Z+p/R^RKuY>\l iAc H_i_;Y9$1p/^ZFD~Ft%U~p#঩~q.IPOWhá*&(g120B?[]Q?#E)Fja i8nʃ_ZhX/Q}"6%_f&C`&l@9Kgkx)~ۨF=z܇R G_oolP4;G%U锝ֹDI͇_yR~En->W]Ue7q?wN|P.+ӔC /y2baTs#%\0dϵS5pH0yp$~ S\ bluKL[%AstV@mmnt+y4@PQnjs=)(7Rtr( VdVb9!l'QX/|xAgQ Y~猧!bЫ]#ҨZɴ7(>CjNVNQbO_/Π`2 q ǜ>vZyg< <,Hy6녧k4-ey#LIlUx*ln %,wDUHKX&G'/|33x`N.xpy*)cl^ į)3','~ϰFMնDe&92pR솖ȞGUy1-7 U`XS__[ [gԦxtApÎmbﯹs̷_^ҋ#xL.u9CKrcNlh1Qt3A+UIL { qwo+\$T i--2uGɪ K(ۨặWQ|=|Y F7{D%ul! ՒN_6807RkVX\rZAd)H,nX)H9!~u%;GVBkĻ 箢L=BLc -sd$1e?$Ov* a%xRMƂn岱'h53iHKy'BK &`>-`Җ̩Ҝ0ua&iFʫ2#ܦ#c. 9Ȇ>le3-2Cg{9hl JR'.@̻0Re cCdд><ħ[$Ks23 x]Y@L;gk 2ͮs g>#;‡OG%q;fˏ['czp-7KH= )Jd.Qp>;Ͽ5!רv:6?x x+ԝ(^rX_>i׸  ,`;eeѩߞć !w#8f!7~/h$8;U G2 ҕ (88py H9 #u1.6ޢ;;3M~FZXOQM*;v" Cǭql9 ߶ԯk쩹͊z8!U%33u݅x=vVn]zzwA\f9Y  V ]ig,h}^ݔdw 1RNhxKM 2s9/}1Rή<~(Uka'dnWd˚{/rQ +/I7xH[ êx4A*f<6Sv0c~x>lf-qJ#e`'r'ʼnv$sG3u&_13w{,b` (qG]1,rfSYR2h'aY>06!o'ri:{Sw LQz;x칓Y$¼/>xrK)IW{ q2- ˵%a7.Xs þIOsΖDN$ - Y3,5ۏNG\r* Ly|+}(_Ix,Rft]I(A]&V2|D7H 6 `fC" 4)$MڷVrIfl2DIjm/FNG:xPZDQyP\Z1k(MW(қ>"ʂ ]ވC>zitq (@l_^nͱޢ$X2 ]maZ EKRZpElu"m7xu*Ԭ8"8_o8_5ҾmI@\$9Z:df"MIJMsbqɷD ƿswpUR}uF~= itPoS8Z=Z>旱{q9N2*#ϓF^|SڈՐj}1t'R9gC`WBaaUQgpI;C-ڷ]SRĊAyK -YA3\X($Ynר{F7x%zՍ~ ;"߾L C5" 4ǂsN0/]&@J--2tum^`,^p\_|M􎧎7`I.sN_q3\b[!M*RW$IVk{±vJ4%N-Ύ!dC;(xʜn[L}o8nnJx++SR_o.7J'棓,hqHE}|"?:OF;bAkU]I˟|n:'HDA_'PQntk-E=\@5lk0SyzƺRE ~PIgHb 3__n+^[PqYaO^l&Jم#  +1/D4˷}*`8g+wnig[n[h}`pZ] <2D58'd&чR~?c.)]$o2HݶlKo T nHX<ЮTM'-XvkLz-z Ȝly=/C|Tg[ =YZ)rm:}ۃX#/ns:Y³}լg^6soZ0,7oXkѬҎxР/Js?(ϱChJZx 1B&|@_A7s_+S[3i3'x,{{ǃ2=@kя>aM# (ƿV[ [>IiN۟l YŬ4?'P&@w\(Z{#S"Tf [޻$q`lDu';(E]͖xsz\7=U`=@/VJ> }R;>+f!%i1WPRAK&;KBf% 8Њ(@leʯ2I21$'[vz/]+/6vYWT؇'f9[= %.t c ]d7A7Ԍ}ˡ ':*uw VeAYӦdu]EڤE_OTzG?wb" zѫBG203g"O]akavd B 1B`F<ߢ!&J씵@]zf.@fGK RR܀)PXF)e^[)^t__u+1=Î~Jnq-=Ʝ  ت&.:K]~=󣸚9=$BT6zZ5`ƹC5N*pjI介c۟ Ё(}jC D)k'@̆o )74)KPGfٰ84ZbdE]^I$Ds潙\C}+ kmB7̓!.1O_MNY4SrY A6'-9pX&;i+AtvNPiyϷw7֬u:Ƀ.. :&- gv'XdMM`{~ {_B0r4Z7à Ɲc ݯ&؞{6qڋ]ȝk6G#r(#a %fH2|HJl2~DSʻV0vZZ *տJHdN2u@F TB En@ 5hvXjmGUdFP^nY|(X}u@НƧm0oϲC[f1%\"`|D!n[l46=Qy @Lc(ָ<`ggNۡg^Oh>՗rq*%V[ 5-ΥVcnT^!;|~eC#~YndrJi6zñ/8nٺl^E_‘wa=6X2igk1l_TNiVGd(T9DEuT2*k{K+"sUU'=QNg%bpÓkAk qBny3LgxS9fr0)vmG볍@K2_:Y͉Ų8ft$ c1 o 8i فHX3IHi^KƆ՟%g;{m| G| ͔{.%rZRLRU>b)l%NwpD ^$8ߜ'\R:VzW*ĽtY[sgS*W骦t2!3, k/~&k[ hV%խ9*ݪgD1CYv`9GӨCIzCe&=k8P^tqq6 Bc[Š φHKkAg'wzfǢlVS= sv%l8;ʧ?28bq*H;F@`*~DAcwTJz Ky6ՠ/ؒ<86?1 `}9S9<,$ ɍ{IN{{K GG5 NrB*>ݽkŨ 6!^۝BNAi2zAOkn}҇<,:?V,HJǗ*|]tW6Lj ]Gy3 bൟCyMΘq ZWX$2&g]}%aiܻ)rڮHЇk Uez=r}(g0uآ)ڊ̇>j.3)ClxGJS)/(oInu#) ȟpY dvi`Ԑ[n+ Mj/.⇟sdnLgň$~yqk8 %CArtk9#Ol(w=4nWbڹ h߅e|=0UyEr+;XVn0HEWϛܯgCx<%߽%,5JԷ@ M)b.Cz[\J,ݮ @8TC(A3lq)kh#(mF@^?aWu5(',8w1 qŮa{*;>芑?9vz*0^,&likaWPS~RwHvm|Ql&8FYp ؃]TS1V (w^ 6_nֲeJ{B CI; B.@Џ*NyT ,bPFod+ʧ<xt0f."(0}LT: X#N]%b)MA4NWy{xWd OtUR;Bk}1[<Ԁ ~VU "#Ys`Uy&KIr c1"Ok [lJ٫}~ё8fjCm@`ب,>`u(^ ࿟a$̞a5",#v|ϪϮ75;#FGL WG[B.r`ip0uJ+ŷ'K3XǦΨwDmXRчwz@h[MʎEl7Bj<8 7;$=Pj|q*_^KQ>q- E@s#ܵjIygvJ@*;31zhA}G;nkFցtِ8 aۋջ KH(Ug|n*"tuź~yF xxCJZS gU@HWL eIaG^΅h _-h9:?!1pȔOR[q^gH&z"׭a7DSaoTfwWdHg* U H|I_W)m@4P'I=UypQ9oºcS6O\|2߄9u_BB?gA=]F9KNUMg)'ѐ D.%@b 9 tAVpD]2Kz%F@Ks.XՕJŌg#(-+lUbnm!$͠iU7u. m.ܣ04aB}VtE`z#focfhln2~&+Rx~~*PKHX2bl3jm->&=WbsG]_⵫kh2[|-'?a2kF۴9f2Hi5m{o${'I6M`Tt#vYzZ1G&􂘉 1b5ߑt^c'u2rȋhCSު,z嶓*z$ ;qP%Ϛtm|WG`ԣ cBtI݅T:cBɃ*,RS$y1`:cK0RAxoG襑ѝ `c"}Y7٧yjSvMBڔ$2WǗʠ'#peIQIk4 dse_/Vl-}4`EzdXs׷`ǴC!DžnGc@3>< Z^5E'2 7v2ؖMw FU3h` \$SP&/w?PC*7T8PD ПnZ@ȾRxfcтa`q@{g5savjT "۪l@\Ď:_])Zo,1ig횢x0A7(!#SY 2ਐe׾9^|#( Sn-T}#rjs\h~c3U醧;N%ݼ`iVt8)+KgP/G,/Ï @zq#s x2#Ya ts$` ཇX6[[e5|2ff?׼D}Սidu jgQu7*OU?2:/uwR-r>$J}B%ohv.H!"9R:[@z+IOO0|7DT ;B(l/W{y i4q8 OT;}xylo.Vs#|;NgVb;ҩ VU+1%jncB%!C\%7}vvvG%3.h]-_h?y`5W[_~[B#)zFT}ŰiOFEyuJ2&14nX Zv Xc_FnR=hb4iJ~3j/G@v ,qcy!+5/T?$C9Hdc9Hh!2Z;]#cP]z1\`s~L.᏶Yc3FiD snwl_bgxUWfljLyH#FJ{.%PKe`I[`2^ۋ{by׭.!"D~(ͿZ=P.CˏpQՎJ@ױ^\%:fFו)1%1uZ_[_ULjVoޯ!lLNx?EK97Miil+B<|6M_zecY.`7dK!|Sau6zƸFB/c "$a޲ 6:pkd>ӺK`~Zkm/۟՚mwl=LBx$u#BzEtxIi7p!QD$K=GTR<\5KHV`}/96YY$Ilj#F5:޴pzv^#`L bKc{'Z?/R9?xq_E)\mn^)ͫEe$.~kػ)+ ಠ|;W쿻$U-dYo}D%nc@4)Vlro;CC򠗇L&:0|PЋUX@Yξ)!Qgcm8gXIGGQQUi yRհ?(<X| L?JB 4i)]̷EIUdMP!ktnhJ@5+9bc/- *jkiA|)-`^B<^C I'KCPF_ ĜӀ.uf:~}_3nH lJTa &]$yo"jkvwc$#ҋJ_W"M4.,`{!R@з(b|ZhT 1·e6YMtӒ?*s`vMwh͢ Fޘ40j ,q 'cP_ (1Թ|̽Z6o6TmtEY~~Zb(E訿Zƕ:_P>[ ƴtEפM#FXT8O,XޭUݺpS&m`&]UP!-a_b !>S @?rZwPCyIL%g+NV0&G(Ps1u \a${{LIb], B/"^ q.l7cC 7R 7{Q܃cAؗ+UD9}.L}Hxu^ᇲ\EX7:K!pNCoGISZ ,A#w206 2δUG&WԥcZom :Q>' @awv{"Zo n,cgӡKZ#S}zk  4-9G'VcPU:߅5%*h"@ ѿB3^Xk jyV/`nXįn\ۃn0󂷂|n<& zjc V{jHH'&g_rT ~fKF^n~S5D̛yfx ;Sj/cKO=ReeWY=bf|d&ܱ ėfO4XqfcKa2#$q)bku#L0WZmʡ6Ђwˇi=7z gaoX)MדBq ]\˜[st+0iĊ쁬&[cp^*.M ;ؗPuET4t`nTMw1ObfjUeaD܌~0wo/-1͏{ђŧzmv;z->@ЉS l?tYN]~s&"I3wf]9)9N~KLBHT!_SWzmw-;ʇfKJ|x<Ht1zr"Qpd[,c_MhЃh!wYOG4dcXX@?:7ۅzI2ɸ(&/|Iu~N3^ʏ)@󥱸lP.EF*&Խ@GYb}!aK$11 H[b͌oc b-7qr?p?'HWڝxuYY*^qw-uk$侺ve8Dw1c]O5?=X%S ڌ՟.e$0-K1gT ̃d~em؄~Lw4>X7D5'C,l oW(_l8~m^{f]R:.'|tn~/({2jAMFZ6v}٥xD/EڿHݥ^‚0U&f|F ;B\+ܻrZ|Ҹ\h=#5(ݺCNQ V>rN>bv"\q'aGmP(Pi=tm?("kg1@ 5>@@˻J!mc Q*s,i}^VJe@8'_t8?fvB˒BP@.ۡ?꯱ )q[:,ɉXeJY ?a4~,6k߿7u_3j% Cft֨hUPN7*\{~$&4W4L/2* l;5=Br xDCzkJSz|NwR/E{n-8:| <]]f Ⱥ|nH}[*T h,TmcuAxCP[[V3d.*^Mc:qARYk]>QnB_Iߋ2?8Jk}"<Λ$WZa2|P"aufv椩~՘@yoGH5 Ѿ͞C?z(^2WC8hi4uN(e$e!(tMDmƝȫW)byq:#{r/m4見^V=>b d?_Z>םsԎF ҤaIDoB8pB"}W-X_MMNl~Rox\K$ A:5q&?l*Tx^M"#M~| jr7$ t=ؑ3%: l+7AA9fϡF6 Y6R֙YM. 8V )<ZDCd[Lo4g`Vև*?a퐞a.`U(z=_ c9M4x+n)pwd 5gstBf:<1 e~=%C,~.ih1d$X\_x,l%2YLb0H!Z/KoI*-,ԐLAԖ*K 7cR̭Meqਘm&;\l$$@5}Svu D5y&yj+ܳ0B{BxﯕsyasnfR*4 JCjq:;V3#'Վy it\j|Ewו^eS( $Y+  bOD0G2҄>,o҇5ע%R=Uj*D\Ј1)ܟ)H2m}+Ji iPH `BO--mGg'&I pRIoeOo:+ceSd$fgH0yZTeVLj"Gw9/[3Hhz>]ȿWwelEҗS6GNǢmB %Aַ= t'jߣdb䃌Q\=t`+7tGfs2X 5F_d\8 0Uie!e$e!h A\B(>oȑB}kx+a+X>a<@=q$J XXV3~݄3-1: P&ݕe._Z'/p["{4R%EꆥSFgh.j|&l$8>rR?7qS]?Pa7ITc:QQi|ԅ_S2(QD+%^/ f扲vic ڴH N6=Љ} G=CsX;9^(X޼\ı# ;) 3OL3Bזu8Pf*[Wχ\ĤT7„6*!S;.4DӚp_;_D#3X-i($+`fӫ, 2˂ܠoPE=*ro^ ~ahYcj\cՒ߉Z35_ma7Dx|ioFb12G0zĤ%D/[ՅNxǻs'K`r.LQ}k˯WƮHu*-xh[ ]W`7 %uA%``g3g/ А!JH|WHLp6Wp6ihgĵk3ܕ=ĵ@.R/2{5GN+M\{Ve\M>^CeL+NkD̷}V%]yy>udLE^Nί-Dߕ=0/ vG~;C\1b]KB@ `He>&&8[Z}(Kqt\XQ$WCmuPE^' ]ѝV@f[1]6(^@V |̡B%%KRm ʪ}ݛx)`@G9TJ;= &:;d'E1`(ΨdM#A< 5!u2w({@,tqWDk5to:K%\ AosFbЗ%a%ϒT%wr5\q,|v4ԵNj4|G+gHC/2!STW흼~I0c /A7lP"51֍ShGhmN_|z[//kFٷB ;FSU*є4! icM@~ۥě[J- +]}wYӷIIOѐ+bMa0߉mX:g,hn*_XIfl2&9n@WFCq^˃9B6 .\*` Pհnv,e8 to8o:mKϡ䒴ڌx,;M %ue L1$,P}}dzRGC]y/қ,wPm W#8F/ 7_[J;"O9^+:["(MylK9=$nvuv; kLžDrypmaRexmKF1w(aN͠sO\*َC+pg*|+l3vD8G$73ڬPl7>eRHLTyuqP{'aW2.gJBGk, lɩ/,Ya jV?*rµ93nzikIMT'F(*? WcokWt0t͠1/hktE랰vD ׺+@(}BCjt\U9?`=U.Ȥa {‘4E .p@Kv6\.&Km e!WE~)ƵY示'@\osK]6aXM{6P88"`aᠢYSn) u c2 )ZE+LHØV{mZ̙oHfj-;e45yF%N \YqkOxQm,ּfᏓ*p]*tc["Ku6*$ MjvN!r1t;҂(,OӋIS. N\cxDe:h]j~EIGvk5 cihDP u5Y |~ΗYzI7,qu.{Ic'1in|YtY1|iڛQ,W  gM(uAl. 4~6y캃}cp5v1|ި*PVu V:/mW(Ԯv.c-CEjbi'(}JB6ZbVvVVn~5Ehq`}U;w̬c{![cѪb+(E"G!DcI*xGe43填xw:( Ws+cylTHSgTpu?XGFJ-w, %{iQ+)\q^|.z)n"V#Ăk$y`cR` W 3SiY4c-YhQ pG?Yys>^W24u>ΔBl<Ax(M nN ;},롚yͮNw'tԑmt#op|M,1΄2(Gaq>g2O%ĺbQM#E<`!@x;{ y;yT4aLPc;by˳ tj7(DކXMqa@N+a9}pq _nfaΐAB z9+Y ҸM+̽~B|1a ydEUΣ=tD@pW ?$⮕K}|f|^h H{m .wf Sԧ!l$p؁>oUYmTD7F@»Ě{ʿ4c7 lv%iNYU54sϥ>XJ9EEioCg:MLY`ϡ&_OG";G*ř1H>=Iq+]Q/Yd/_*ZH(6g,Mkͼ .\= dĩ=]lQrg'O:t[Y0 lݱBR5H)$d㟬S*KKȳ!5z4ȑ f[R|-iX$iIvϋ,ɪ:˜֊ (``+UCb^ TƝ~!<F.7gmTN=aBO[4yL).t4r6 %|JVӪSD8 # ^Q%t]7~ıȐS ܰ^+3ny(ha=^(vY#A5/B=RpN9> +<],++k&|q*wDgy[9W$lž Px~QݝOȐW6B/7kݝ%2ýJ0 f; 熀V2#F7zWL%^ɥqʠڄ5a F.o5!Cwװ%E.<숳֗Y'?E˨˃\Q=4v9ti9 [JH"klCKl gۢ&wq1g,q9UP./Lv3oU.4M_ ~ʥ{`߸AVp]17+*k'P_z)UcWY֗F+kP a^WNSY$^?\+|Q<RurL\e rh^iVåPB%JM'*XުQMP0K,Sdeiyc7Ѹ24oϪ_~YIT/>V$I;hH8DBx<6dTx-^Tt )ӳcu qK_JWr@Q0;C;Ǚ&OY7UN(T!N͚ԮC۸2F )VڏW4yv`zYZ2E޸@?:ƬaXSF;×x}.'ֆj)ef_S";6rH+6Uղ6w\7ֿ8 ?ul>?>B_a~Ch23:yz)z|a/pė_s5TTZ gB>ELfź6}ܦܒ:i# u,ЮF#$(,Mx{ew費+w?nS:_ KkvpQ=SL,sdq jvˌ}I}TiGPδ~ܤ g iS>qū&|WL}es\z NQ5*H\wXU+H  i,g;QQWi3sFWP_cE+wܐ,L Lh:ӍʯTm_),XN? MJ % #^vl'|ɘJ(ڨ'PHZ1^KrI:yˍj]?wn; +UG]im ҿ?Cvs5 6k_e@n *gu36Dsaj?H['zUm;w*MU-s'f-N45!~]:$PJNHh՘:tHtϽZ5&EazX(\A^ynr- ^M4TN%3lWo3=hԿ.0~`gT)Zܲ˨VwnBtM;EKsj{)0oFXG88i=,Uw)mxij,tbEye"N&$>0ވi (`B3f"F[DĬ8$w 3a12&UFbN _h:Z7=0r58ТZ,/W$݅^4,aMI0; 'ڀD3C;zvn(~LA` ĵQZro|塊Ct3aJ.q񔏩l8NE=8f0!_qDa< +j 냿dƐsN< Kc07$GsmQ ,;f4Zx N2Z@e.[\82_nWב<~qU_;CH?YQ|rXVy<5YWzhظ+ؘ=W+l{ys_8UM7/ Sg̤QTӘ׀44♫Hwx?nE_T!mN%!u?sMCYl(!"WΞPW u٘I&I(HJ.;f娮"nVUYi!i3Y!D&K|D}7zopEńkpܽCd1AZZ6s$|6E97L߬!s'u3G>;<^'$f_vŖhUS8+2'3xmi+2g#Ŕ#j5b|psJ WY^;qavP1lt潝Ј7b8tvu[hwL?>:P;bIH_괕fET?zRNQHP*v5I)`YUۑE:vVD}MLY<5p{|nID nf1Έ"Ixm2/<=S_`^LI"LPDuI̸ZԆ4*vi{mhEV΢6ْgzIb2^ʶ2|ɒ&"h]:XrAǸYEhvD2ru$]Z"9X Jj{=BE:9?I [zVQ"_`aT:[EF'+_+$(DpkhIl LXӞ8O+F;~!4E*N 4R~QUk.Kd7e) kZ|]~~ac?%(/#"6>Xgtvq2t2/WQRD={X<sVH)MJ4/?qNjv_'8reg<m|CrڙL)m]m *s4!?&]pjhmsxf9C҃'8"p?&h̒8}u攵R&׫lT˙dLNGCBee>0a4懀bNI-O+goٵYuۨLGK>@mل/M&P)khy)בtH'AxamԀy^-.1^qFB_ys + C#N @UR(S 4@[wJ$Tڹ qt@'#[ mY$hi%k8M|ꩋՕ|"Cx%Opք`׉㻽ϴ?\Jc+%Nlz u4'8{5KZ_V8="vlBw1ěF:b(92MXI1QA^t˃R[Ӵ{05No)zzzP[܄b*nc+ J0ye3"Ij.|CFm}*vJju䠑E S*k~+I2>;|^Xwu&/ 8( ၿ\- jo6d#b< cH '>%q;ksS*a)xۢ Ap,{V†C&S.C27gI= #55H{˘C@b)I58$9j}}sש_9Mro4(A] pʣn3Ku{ l`eKL~%:%JDO{7k a,?eC kl;@l_|@Zwewfl- fab6+:$}%vL:wܛSBa).%1hLLwyK'9 Rl,FP3*2Dre2arX˸~wL`{y^>,E'0rWDm潻o,A!x0E;l^#mS_Z4vmh*G*|3M,%J`}S^,mQ9v#jUЫPw/a wD\ޯ4>9*&O `>}0'Sa{O {!Ldzl4PY:v(ް-v #f? (ؠg`DBzaf|S7M!=kTtNC]KXR%zY37W墷M?O$CNAxkM ^8m`t߆វ-c=BVMPi܌-. >pQOюҬ[ڽIiΏϩL|1`p5vW N Z&>0^O=flzzסS҂Yh1ݻiǟ8+,dG)τCuz|,0@9r$3a=,O|5Fb}޶;&nPKGu ͙YŒFVo_f]ؒ/4+J>MhRGXx~Ny:%8X1vL.a^) tY-L]Y,8V *ĩG4g\QQ\;D~{FAomC:ÿmֶ\-TPlrUmzH8> >^@ |5f?RCގ{V2xѥ` v'd 9g2dR.{%be̋| GCm{P\Y< ndZ:"`_KE?AZ#oɌZqLY_h $>EN4x;Y qFj ,ܠA6ջww!Nύ$AUB~rKKc:RAy$n`n`rĽ%|\D]LMAÊ"αvHq|ܩuF\#Hmzmۃm*P5 eB~ pNȑ`!tp`8o&xi IocfcjS_M9fZUsLz :^r"(4 0VŔ廾 G%̯GYϑw>8 pVP*W>lUO[v&(ڮ} 4"zE 3 e>ګPǃQ-t%D鋍zkgܳ1Q{QSDQ{W-*A~"1sUNػj hݒ3avVTF0 $BP[kw|\ֺ`. S}"3~^)` %/Pdk{oJ*ILYi7{}Tfn3CE+ň8nN(jI@Ќ@ J 9t:Q4P 0 S+|~/^Xqf.mjf5K~3u q>ɼ v>d;)CQӌqV_a%RXfc"~暌4Iչ0xԵ?0B/DZ:^i8݁.#gASSz6疺;d 8Aed,{LhRѳϗk0ϫ,A~T 6_g-\7ݵlTLFG I]1hrǑ `DNܝ+Y*;(ТeSیcn_ryӥ9瀾Pi<\(= "Q!ٺO67%WTyAO?Sً<r3gɵF݂Nb[&_g$n7א$]/L\ު3puBC@1fs?n"6v3ivo-2d>7Y4L1zkOr1(v{Ml@0 X-p?D&0b\1u%e#UIi}ZzMxT9cOOҔlq]S,2-ʳ(H~M3q' ^G!|gNFp۲A29ߏ2ґɵx!wY G//m~r2`O1 Z0:G>֥áa"U;l$,d19݋YiD[572sMޚ'>+oIm"E)eaLȵ^fc|E74/)+h>JC-^=vR_ \L 7[q%9f؝;lzg!هfMfaY o|^X3L25CN>3o&P`cC9%@pIAyi2_2Ɏ & uMSxMZ[q&^*YKӠ:0\ݗ4#AoBG,(ʞ'DOr^{$un`YNu?Nd.m-y/O_؎=YZǏߛ!K-m.+-D}7|ZmCri7*BkqC>8HnQqmd JZye敯C-?V# Da&֛S*uW Ҍ%=BoJOѨO)UsP[0G}dJ*?PSGt8XeIvN'kJ97??pVbƟ$L Wtuv!}Tsut $C-)9”PZMjvy=4y P;;(3 :kC( m6;~I;7N۫=J{T:T2.X^7eGjxTvvֵ# .P$dGɦ jʽz0Oi`7 ~X/+r4,noxWA&BSNȴW=$>ĘsdG-I  r!,7 oBP \_2#`1N׈oVct@vX#Q$GO ض4yog_)l+[ U"(q]x[{M,&$NH[ۇ_^.p Wf#Q2ыLsgp$+iH=暱0y"WϒV/p^R?IӐ.Fa;{4 ?c0LbWB,}{x<%ڑ6x |Dt- &m ZGNҙlJo.eGU ]/x`s(#W2Kmr[MC*B_5[N:%/?lY.=*=H5vXo]񥕪 >|CKT42D|ݛN\ rY,(PƉki55]ift-mY5c͹ paj:h,Ht ,6C&],(Th#Tv0vy蝏UۣY ? Q\^H²H`. i%h~vp~l^X,(Fo񚒾F&j"-82W'Z, 5O%OpMMΙ&ZN0Ӿ7u8%\r8Z`3oqͦO38eQڌN)([#ZphőPi=SQ d( wZ2W 8;}ҥSr_)ztHBA,jo.Īiȅ4.&.ƒ+UBJ{^12fJsU u$ꩱgkc@l{\W*;{,M4^*U΋ b"a\Gs3jfsD;{RF'Սc|Y,ZP/cqŞ8mF&1jo2D$`Sʈ_?E_ZSfEvdGk'+0whPsi~|xa \`t ՜9r˗ YN>\:N4睅z'In?LV,UF*mIl-T4;/`R_G,,t3*Ԁ\XxRf2r/eo`l 6|okz,zIZzI焤C CĮE7N+᳊$`=XiE=5iX0eGO!\U {s.3"r^LA?_e֬"`Ch+q{w M#EY@޴Zl9+ xdJ{uBkQ;b@y(xTmKNXc[SFA >O&"nWxEy:jJ(0k(jn@WFLIUky[DV:Kv%y9k``bDZ1 OIL?uK{=P;[ǰ ]k%w-83Y f ^槚C4:)w`h eޣ1zvQR8"DfE#盳P "0q#_-z̤37Xgv|S%!#X*XۿAsGn^~˛[;¼% Q*oK Ni+Dy샋?/2]vrL6]  } 2n}ÝA](a8G͸(3[+^$H#~36Kꂔ$F[!L0Apc-BuVmD/^3cO bg8UAh YRT|o׎U/lhXsfh F7vQ/N|TYLolS| 0YJd[ߤ{#5Bk~4$܁eC;b6J߼QV`+L+a=%8~Y0S/-@dO{<:T棇R)GZ=z_α L:l?Vݓm`=FE2=$gH~i 1,s?xdegCe,p4{ng\Q~d}zʦȈ]Nu㷮/DA[-ǽ^rtwGPf p0-&YJDHsE%ֵ . w1]7Z dbf35H[Aau`JEo 2 ;y0îrs:k[Z9~Z N]l:WQZB%#.z,ryڵ o(HGScacIJH|$<):(j2?^u^lD-[NQ[VCY,&\xmOL/$VxKġUxǮ0?ui?/,y2]qQo,Hˢ٣Z?$֔jM4;Ӟt$-wWՠ3;iJuz4ߢeO+yjqoU@͙0폵@޿cH/1; $*>wULHgLXy ;vDYL))4#U&0R'$)$ ĐR/cwe9gS;Z)B̷1v_hƠ\SS]>fnC~$'s+_K\Dw۠92 J(hnOˬ6  g Bv8wA;(lASi3=U]h/F/4yBA,WSZwf|_xUpTxLzڀC֭q l|DZzjy·b%n-(R ĺE}/ K¯f*Û}Xfmf"RTc4{vUtͦ?u;YRW ?y=a,]8o煥s4>/Fz)f#[HOab$N#ANᱚAN02ڙHɢO28N"rVSwf+-Z&0YHYĮcHdƦ⾬AG)ĺy|#9FsS|芡yg:w GxVT{a+hK*_ހ|-~!Μ?Ř[`^RDxfKCF+ )؁$jzsCFVW0gFP{˙ h|# d Jгh>1RY/ ֡ J5,L{~ F0M]Zjp2)'+cb?G|ZӊJ]_rJ`˗w _2Mdp[PnJ[0)?AA0@g\Xo%sD]q ݱy Uه/Mhg>C蘤χQ%Կ A?yK4jDtZ16[ w5c\T`~Y9Ar]$R(W%}$anC@ۊNITէJu+4 Mؽ<;!7qː¹J'ޏH4 xi}>d#3B( M0/7KpQRYXf7}F^V*n~3j*^.JA (H|ڡi7IwLv?jCuG%T0}`1!=FbPƵ"-Gqsf[Lx $j@)!( <~ۘEGY2kiyPAwm2pUV#}B|XsI ɝ/_V";::v㗻{E4&o:x92I0oNMgh#OJ?pW6t~YrhsĹ#8"lJ߅ A\uR{o9K 5ҟ6FYmXXT(yL4܏z[J6t\Ʋ(d2-7z طu39gPk_iveU$_+7bz]aS &*"dt"E˖k*&A{E81 g5L#jRJ*/ w .͙0(y;2  PREa:8]hIB4F_acr@Gxf߮(=@0}Bݐ7u!Dt/с B V_=襄&@/p)+WaAuy%.A#J]aQOj電Dɥ"|R߷ ,Yű]$A|KZJFv`!W>߉(۽^,n{R unmrGwawUJ8ŋ@ PPVYߐU~aW#ŜvGfECUh7 kdP x/~aZj]٥}BK:9379UۧD̵(b]4QwMaeǵO&1F~lZB5B`U_f1_cjZ)zS+t ؿBxﺩ4m%s#T /Q_4Acٛ?6lÉz]զ䮧:OXkwoszFF\ wa_5FsArag3D( ܗы#v )3Q;.>!QcUISRoBbTYrEm=M Miu\(5*'wDGt.q wsr~0EVV,hs1c_gߢ]ˣaxZ1[ae~`-+a_=Lj&]}'(,/D' 5Y(2 nP皗ēo !b3^cGpqjv4zd]XkJϨt 72[r`Z{UB߶?Ě߂j(nM.<2/a)~Of]M. *w#:ӵ]řu?@Wt6gxD+te>eY`0~(k{9-LC|]P MHQ XПLsk9/pfCdbgyo,='͔jn[0lqijaλs 9_3ᷩFMn3K,YJ'+vF3 )IS¨~בN$a˱ʫJ99oiHHL*p97S&Pn}n7G 8bn8BC~&|3P P#2>.9QZBPCV4{F>@Tc|ATPR Ff *6mQx\MlLD.j#l*JjDO n>n6iT)K$mzm8/C ƀ́up U}v'vѿ "frFзR+*Ch8{; P(g#V VN9*lYlX. UxT2\ӎB:jg;e? FV>Mo䷨6 H?gԻOV/֩D8xW/ \(3N8j,tSt <*rۧƬ;mB:ܟHUdFei.I^Q@0̉Dr i|} WM94>BA~ruEQQg=Hz;0c1i  O6>m:80!WfپdtpQ/iTUMp }@>r]5D:KXJnI/YI-${t՟v=mS~D 摢B.[Lk~x S! Ktwk:tc@Ћz&4R}G s 4o8kza$MEiڏV2(i nж?;{SgYS3(|P~C-kCHj٘XPTXσW6~+ T/=gRm ]E"և>!|אͻY QY}dPF<5Li^H=hTx+P^*'+X2D"Bkd^ٰd* uP9>ՂhFf<eKΞuH?Qŕҧ[F5SJi1L~ϭf0HJUJ,8Jr6|$Yl82+6ij.I(>ԡ1cwĎ~Sm8gBa[~d|նSxWUzVGqĞ= 3ɘ\Jtu f>`ZH3Hё}V?uQ1bc}Tyhn"ٶ3_$e?PW ϫ,X%s0 䁊MWx\W9h{^=y@e,w N^K :D'* <`×g麄FHQ!mƎP.dRF}&тCj~:8g3he ;{)R<#x 撑[ 3m'`@2}v-s+YEZh~s&0o@MBRlᅂDd;!xv>"3]6'@(i+^FGik@F!kkq 'u0pf@e봌.@8WGF SI9lMw?EYMj>4r0?cIbt'Dobzh'<|Ԇ 2=TI3rgZ)>U '¼rA&Lt+Lֆ(UL8Lf$HZ|AVpa Vri-bdU b.WL!rҺdܚ:Œ܀.q^U+ ;1};`uK3Gv,ahFWȰl%A/kQ5w?wej@RL2m ȶF 2|ƨAd`H[tD4V;E=mg쫖RaXqVTU혺&ig Jt1/M}aA]!pb5X% ̖bY}9fI5)_gEwGZZ/<D`MoVL0S"8."#:D[em'g;S~>A~N5{%ù߁g1K3Vv10m Dv e^G]NTԫ%"14R'G\ uU㎷ Zr)ۆyEc2\d_׍ :^K GCzk"Wx2Hc{ۮ=A_bd\ߗx@}fg&g 2@+T.dv zdW+Y'yK^ha|\]oǟ,(Lvwq@+eVc * s5[)6?;jޘՉ:ψ" TWGp rLkTE 'k, d,Spd ̌9?]]MJg~&Wdrs&Å{, ;E.^ِ$SCګƍEG\ZDȝYB=6>ygΑJtmLfݣ9ю?769 A .l0?ͨ ^Yy̅rU 2hO+>v0!&IV`&ED$ǯ"٢QvnVL{tq t .JQOӃ|Zsb!L["a!V `fIv" v_*"| @.0:fv@'PNK O9I fZ`ltA c_0X)9b[-"CIA ثu;RVX\̀:jdUW. ܲJ R1yQ/W(0+> ݵ4Rx oqmޘ|Zz Ecv۝:O!BD*Vi+Z#0=W֝G*ɨd73eY6/h:38C )}sdPM|AaiHi6+}d?\j޷0j"t`'aj: {..g6=5a 9H,ĵT+tj#]ڒBsFj՜ބT}?CauhUͷ1p$֘^_:WZ_/jҶ u&dCJ o]. üP@]O0M2@d*HT W=A=[+ZȺww0Jx#&AX#ӌY D KYt!Ŷ."{Rzc >\)~gFb`D" 0nq"<.Nb>M/(O!a3ӣ$%Hv1s]ѮVUŗ_AI6Xu_vCיlm0 dFl~d`^h6@_žs4D:|{21{-h^1׀9S-w1xXxͱM$(*S GU28*AP/B_5-}pxq􇡱ҡq<πڊC09YydtZvk Ҷ.wO -P߼ G@|U}B8VPo4uJQdmٺFn"Vst  0ySsAWoy@IJ_'Ul$U滰޾[C)Lwe}t v2}5pH-d\TKMV}3 xNpJOnIQbH d5K$_0ճFnur4#zFJu0j%㈉!` sR aotv[kŽ]hI00||r7+L̇}^Tܓ Sn)}F*hRŠon@ f?\=8VB$5*+ xt9>(v:F bR4ÄBp.ț9 'XQJ4u3cY&iD,r f[g3M"V[;Wd4"gYUI/-Zs#rMm\6H˟@*!(br.1\ϖCDe0~U%wQv"PI;:T: FSj[(wiXl$EЍxQsY0j3}ޱZ؀6®\_I? Nt(2ubUbe`qA DRr¢Iin !xlIq9bGZcG@P9}\rr. mC=?O6Y"tՓO~CZ_dd_whSK(ׯѨU|:zyT &v @+KS{+'RxbL4Įm Ž4̈,Rtb t48Up-L?^V$>\E"'ɇoGr ?.>'6( R;'LyeCZ/ߙdOO|quH֛옞+1n!)8 ]wp ki|=ۗ90/E|i%ڄÓ#=y:.S-J( slTt-6%UVu ōusz"M292IJj܅X4/`-rA?)O.\B8\x4i i*E$` 5W^cNRеyQŻ) h9*Vo q LʙaCn^/- EeHXY6Ճ&|8a.|Nq~;4XV ;X =OΗb289[FJ,y*W%TH%s؊*u*/݌nI gu5!^Cgª@ȃTk\$[lz`Rױ%}0C'+sW4% -z*;iFJ؇qF'S%YlxQڅРYъ_7=r,nEz Jj̸3^㲇D񋸢2kt̓Gg 5-˙*4G#s2 h$$37yVL3Ks]`OȦE/6[h3ÍexKXv3Vv~N3F4mY2q^ I}-Ҙ0Xxgbm>gbd 61O1`6!yg/xv0R˼ޯؔ&=%%,Spݏ!.xb C0:6d/פּ0Q fQdhƂ^-Z2cdQI\TU 9D0[fHKzXGL03M,ک2@Nb:`!`(%E̞Gq2}zxe(np 7t ADpQecpnA1y@!;_F=/ 2dg2h>CuHԅZ1 LP^u݌JԬܶSxD6i3[Uƹ߂s#zܔ€͜QʓPP*24.! t&(1#H @SXn~dApTJW4|j*PF.nXb: kIo TǔP'nbku퉙5Al([lGhHq^3=zj!5S^Ha\.e/JuW@nM~dr,6_`|g Vѿuw0dokK.$5ˬ&C崡p'~WMr 5QѰUܾ-۠L -Y`.άxVB B b+'=ZB wPݸb=K00 lIZ#dCI.%kWT\yM087pNzE+*d=Kx$c̴nW }xL!BmG(_5@{zUTN9]W8SU1z;"^+X)Jg`nlv;*Zg[sZuɉ'+Q|^jGHWm_fYj]m `g$[Dv ^3}b7jrd%{8X %BxۜoD+ȠM/P`3%SP:gF X|+0ۊEc@r?5*w M)b57cr zfܼ*_R WbG5:U/:!vēwcEA z58rsNJ8Oj2rbtΓ9ʉoo4\5IaD(w\ 䖈^.5Z\ zPw|zsvWh&_Sέu9Z}Pۼ300=gc\5ZE^[K)qs\M9Γ]`ɶ'i` 3[{!Dz沞vO1_sU +ЪT|Pa:'c䭆P,'b2wE 6WKa#Q  +U06Փ@ş-wT-+W!# aCHQGM,4 l[SO:̏$dKTa6O'67B-9Nl Ź.``$l_WR4h=掴9d\~z#X_ nSvOBF''@"Rq6 F~h'cF"h Qkz;y? {"[9'Geoԯ茡vx47w]L ~.(NBZ" m dj0dR}*YfۻQ˴Hmx-OlELJi>}xppE! !xXvrƲ`bgvB/R1%B`aXW bV@ =iL+لyT0@?;edh'r&GsH hZpd%GTmX/F5#1 xKef*ُy[zvN|$'_|ed_q'ǘ!2j*HTZ˟z:- "kaPwG +f&`=ϒ>mVf;ToeDOMB{)Bv#{F~,~Hk8G *vV/"(> ?DeaJ 1t97%4T#^Jni@H"jﶯ>Z 0g˙<9UPF]XZ+rVæ/(c١LƎ-\z){Uor;ГV ]wC4^uw5{_BA]jlṠ8qon%Ur|:q% 2FYUuӍ;>:ͭR-Lu`F0wz.־$b|F&NP̧W+SLJpT/M't:W><>X]~DºrD؃WE>z"/;GKj&3G=w+0Ad@x |c /P<+ fI4-D/8B&}QT$7#}QSmsvJS0 i Ҩ7,X_"½URO\,#gdhL;}Wi Rlo2y9k/x%[N%KHEw\E4|+l cpCrI.Nuu}릕̔IN-Z6HUs?nzhv6]r^WlG⵻]#*y` n?"a)ӝJ;lьE($ "n/3UϘWp}%jcm& "$Rz dXy*$6 FL*Tp/A6Lff :j xlg70̸}pW ʎ.6 H~90_z^OX4]Vg y+tt: mn'5wWٗ*JA!#Yi 3=A.tXho2E 0ȨG0DI0d!)tc"09—Oe *X7ov*Tw=cr=(!8A+F'Xُy=ĖIk7B N] YS^hy D4THgQCB T thlEݡ6Ц4o?KD+)-ԥ BfOv6}+3vyRǝ+m?NoކDC&YUWm0Z6a<#O~r 1 6jI,b 'cW~Z' cI$iV-AaIQ^ iZD>g^9,+{~zm#N `0Vt#fHHK7w2AR0jC9Cap+?]G/c$oO17iQ/PԘ oeO;\sIarͳ1t#f1TŌ !5 6*te`R }%6Ld߶!r v{-~ɰ;hJW9IԛәZ#$@MP-L|:LZq߀d ڷ>L?|l!8:/xOyc gƸKyG$l"FdBliK՛:@ٍ/΋,K<|qa O̧T0:b!KgQ@MɴBDyrH9mC[6nYn{ϻUEB5 7h|U~?p1}O'X$G0b)Ϟ؏"ǐ2btXЃ]#gtWߊ#/ZtYK (&~̃݀_?f'3=<${8ɍCkP:KcxH6Rߐ{r%Hq7H-Qqɦlz's} |} ]D1nXf__Sў !ߩ:4FNe%H9NzjͶX[aQBFZ`G<\g &NS!x*,sR @U=%ڧv[' gxK:ڗ(N]pS>,lb57F?@LZUa\͸"=eq,3}ͼy!!6C\765fW[wTg$B6/DZkv~ '?;ro}@gb"/z׊krdť<4%/ G^%yD d+ƲEAFuT!j iĪaq,qkGr 4Uf *[g͢Gz==>(M_%HZL]@sڧ"nh Iׇ\R\D8-ȤC",\aTsN {._ͧ;+{+bN]Os=Y| \gӳ83О8D/ߖp[dJ}ʼn+<di+K&H\zm$ZיG ٵ;eV#|P ⯺"ax,Hxvx[mK>_wDpXjQsb P!8[\&L 0m;rd܎u6]~( j:㺊к1~vNuG#< $aВ~.>"E! LG?d s*C~]nzS9zQP⫅<_rT-@j4fs1LB~H[s}Z@?IzK >m *7vc{Q lPH>~+df.HܸW8l+SVsLh|7}czΝQsm(ydA կ{{0U&VTvaJzJ.umկf~{u(%FSoyx#Pcԉv~|dG;(ڕUԞlV_ű)xGXr$we%U#bC3cG5Y=QStYG GKyR*۾2h}"v& t!'IoL铪0j&=3'bJr &2)cKpge X-b,9hXsw 1Oq~"T`۟'$MiEE>I{RU8:o@#0շy`vKL$:cbέj^kɮgkL+XnMhX}˻b-뚕GLl&eH76XK9܄J9cd~;U b:c55NL~<(,]QZ𦜷{rt3!2g|I\kkp=uH 4`s0Q tSGʹ7#0:Wgxe*ԍ2; zB(n MݵUrH):;(⤔ 7U;#M1q* c,hMD/e&,/rpfAkglݚrd|=ƱbU?ZnJpWѣM4b5 a.USxDۻdM O~ ᒡvd(z.ruh Xa@ˠҺjH&*iep&^cyWԞlJ۰A%s@5jnUnmgn2A]\T Y l& >]$B1_O'WYȪ]TE2=(E*|PbТա[] _dN.(qLV4+yU!+[\#֎UĵWVW[dX$;Xx?|ؚ!dp>Cs?sP$Q&Ok>ڮa?F3{&;O}=|ܿ봨.SŰ +o|[sto },[Ml e_=5 B 3-hN h~Sbӓ1 Ccr{'rHv`fE枦IZg{Lzq %1 |?l1C-YܱYJY%.gF$8}J - H QA+އ5/3,Zeb"AijDU쬯-eOY0l'3q;3L-UIJ9QQR׊?AØ<߻LJ%ޥN97ƤGaQ%Z?u*0i\Bz濰't0(Q1%98SoWh^сAZ%o Q@dR&WKJ}3i0zi8&5L,w$ʢƚ)MYxf*}?"^7pTLȥ5|KM}o&ZԨHY}7Ѓ{$s!#{0)͏GN`)J Թ0]ΈeI DOBUkc _~~p[{,b"g 9WV'.9_>$vc2.O>,]:8Q漻%;E7%G9 Tdo_e0KFDܓɻE%.͇$dA1?6T$Go4d}s!wMa0eͨF]qN$bc'+-,uQc'Lt~8싔 FtQgyBB{蚣lBs)tf?8Je|s #]HrOc*99|x`s"j= W!5s'ֹÃ(LNdp@ıNu/A{0EAgױ{e'9N KTK2 =*nŶ/G\z.1)%eXJ \Z;B[ox[%u齎c(ԴC'd4H Qw:nEwfiG7"#΅ cqGHJ=ǽM4?滉7Q55ڋE_iR`n2cie0'̚1ӎҶ/P:f#o<4+/5N~#?cQz{Ec?&>t3jEֵUGdb Vԧ@qZ-f^R>JN pVdPH|czt={T?()s۴mxpm^CC]!3{jff'g{#^uf/M I*P~>ƼC> Y YV@ 6eV<sb(r/y:pO[QCHGƂAw#2}Ǿf\<͒'NTذ4=7{紪3?~`Ќ?=Q71^ J!XA2N&w7 b[ó*цBXOyQvyv*)RziHe1D1G"s%1:OPݎ*ݤWe@.<z+"; *(x;B^,ߺ]B|E׌(uX޶ Ysh sA{}N} PyeOP acI@QJqlX$E~>~%gʥ<܅4ث5=6L6˗dGo&Tv>kkv/ZI-dY̤@s" za ́ D9K M})W (]O])r͉̦cv.xHAKOF0Rr}fAm%.طiq0@Cm{ np격ف }垩TfSiK~E 5/凶ct_}-qYTH [E=o[bz?Rje ?4Hz^n߿: JA@>T[6@=WoHNj Џ-C?QRO?gߊ3* k(mKB_GY_9 Tepe)[*dgaB9Ҥs x*&cgUhS[7:%xrr]=C~F2c8p~ͩD`:c:uuD4m #wB୫PsH "z$XS2Er:zg]m+pݵHMYL='FIdK[Q݅Fc0V7z8`DO.>I0$5S+{Ϥ3;ARմAS &TcDn͸q)-zf\Ni~wO^4]y}h97gYV8,F``IU`#@4P0hf'{Rx*4 b u'.b)l؜5KԨmnMR#S_ *HW ȏdžINfR-{9@XJd|zgǐE/\\Qa% 0J3{|]J.~~ 7D%Uq+<%E_:öeQdA9eG `TS:4d-FWSl#$R3]92XleT3m6d&([BzN)aD5Snht5x7d7́b[XRKg[1 w_+3H (T03bDѿ;5Eeq@OZ Lkd7'Ơys45(ꭆ;Hj-@WsvK2I=%sqŹ塉sMM]vVc|R6!@xPȆv@^kZ'lGD.uR"Wfj o mfP\ tt1>&Č)uc1FwE!>9FKFQUYa+ǻ#spk]b+{O.]pQ*6=Ո50pĆj9)+SlK!yqRוթIvSS:2NYCok{~{ <lyS ]"SX(Kev|a)+hfshWT&¬%dثrm ?I:C8.V ;,LM?^:Gk2K+۝;CV*--W r^@Yl7)\-]Ȼg*I>RE}&YVLh (t_Vޛ&aT>R`g4.P `d΢0ml;_ Rc_r]_H1tU5ݏ )aǡ?z-eI݂X[mz`PN:#Z?vn~h<^XiU_%N5nB gpa<^x@$Wo+0m-@C ݌3ak?eI(Q~$&ByOS t>P{[˨IPA~"C CT}SPb N+L*ɾ׿Qh7f{[0W,> a͸@bbu5PRP(MND'=xNUP٭ЧDڄX3vN["H' 7;sR~tTE% Q_Tz4o #*c=Ϭ3+m)QZ!ݟ1:iw2Ÿ=Cp!~ ZY?/w{SJ#Fmz{mY`!Wm#rbP%_(={p*$1iMiӇN5 1qh$D9/uc1t>uĎv:Z@ăñ!ɱkzv[Ft3>p~yBc }q[3KLD*|CBӤX֨&K=uYC?|, FÐ1Ut/q^ .2  ̞,,a9Ūb9ZH+gbQ5OeQ@iJ1WeG?T;h Z`!bpn6U }B)H<8AWX(2"ZKHwCM6ß/P, Y¢BTzBq@;nA{S|4eMs(vD fby|=^`'2PbVJ*wp8̵=:ЧIUe rp)YNc6V [png//ݧ Ƿ.>chc@w ף'E2@"+FA$̩3'5%`PMLL(습<^$yh>2/IU*QĒ? ^&`t :@w;_(ɼ&8ﱭeB-?&sh׆\DLI1$!R^qKnDKO3U(#k,񤊆*qO-db:3ޗ2.vwD0&LE<51{dk z军N?X5uB8*8|KΠaw5 IQRnrMשgmJZ = !/TÇ"p~2 YI(%]JRќ=fr9 {q.M.MnXX#_G笧EVK!tUT@1p|/ "ɞnR=ƇtP=Bh>)FP9bn3̀#+mOs).\ep2 h%Wbo5ԃU .õQo\:pH0IVuT6ߦB b}2vi9ى{:E ھ)T6CrFHhqCZsF<F~5K{ O;V. o*BjD9,`KX5g ζɵ^)q:İ{mf!zen L#?ȇaX`kUIBdJLX]B,t;YlS= o7\@B(v4??_^ݭBNNnRKA=L칥ӄ@S #U;E)72~C yɄZjT g[iuiNV!;MM?[aCGLu w>5ޫӂ]#-@ 2_Ԣs`s{U3Th;nB|mS uE6~M;ND1_yn4]9wůxrRgzR1N D Cc[QI~rr<~S"z5-JKbJ 8\N' CHBYuD8,y'2smw{-NnNݙ rE'$ؿ!Ul{ey"k:.EG*~3Bܔ;\55rRbt;Tœ %2mMɠ'BTf ns\HbOpΡGCMLvs}j18B--y'w%:OCŪ DfξΫ)X^'Vuj[tX"$=mE8`aфiͩ1UVPܯYGKm-h`#p}$6}@=d91A.׃pz/0 e'OඝUftixm6 s%_QO[ߪc ۏ7`|bβד/7FC'_hyJz2r5wCϘy7ߍAҳ pHOLnlF`^{q|#}-VVU딞ׁU 8:IN&̺f,($F>(l]heHNX HIy:Y_Jlup:bw1cemq>b>i6~f3;wwfQH|Z7?lCΩY3tw8, ;#A숳!XB:Y0!P3Tkj]/t&mUn 4cKe9'! oW*wXiFu>Ǿ~KC3߷̫DX~JLͅblo1YpvѶ !zM=#)0F'f`ѥ^Hko<7kkPKrr@zRO!ٝ 84ꑔt&; ;9}4z}tHt} 3/`JX!l ޱ6e+!+Xָu+.G<[XX2EPEZ{عGҿS6pTf6ޙhlD񣫖?S(a`&YLLfAiE_vªqP2oQ ||f>e)9ɏqԉSW_fj򶑐wk+AƸ 57W{Tfo^L'IjHиYp+{\o:Uε^:g&Fr?(},F2Ki"w0H '0|&^ێCـعIj@0 %BHgWI}&)<"*&@|P$@C BìN'ֲ'aSzbklڡR)rک%81J›Fy^C nhCIJ \a/ &dImүO=Cgg%snTiK*H>MaC`LzәN}:O5RTrZ{,ྡw֍HfWt˼hyt,NUbHt[ON.k[TXƺvM\R[Z\igbc ;zW~J$òQ[^M~tOaRS0 sߨX)_jA9%:j wVgT=j6貙$+XzwPW ni//i3ɣS⿽O c9xW։73Wx/^6 CX-(~:Wr0dJTs=6׈Of &MvmW"xD\eA\aoQE,{rIʚ;K6P9*>_n*< gVxpsХx0R wSL2//SSCfB3>QG/⶟c]9}?Rw%8 Il&m<>,²g:?!\c.MC)ُO2{r LT5 h,bWH}Bڅat<`\K$wg~: HYd-](ȕ@`?Mi2UA:%:_AW+8gTcP {[WgSS_B/R69qNPNqP$@,o;>/ƚ>C"YگLF#Kj_ckC9nENH=y?ar[O)NxIߐʉNi|/qbWt e m\ 5e.1c ɖ9 ˷jG\͆ v=>pǏɀo*alhŸj8\#QD 3=2+].DA7N;~[5U>[ U )kkv*Mh;XS{16"uH"Dۓ{/qDp1d jcS8U'E GWC(۞WA6AfREY5~1l[GUC[Ś`/RyTAbUW´ R":NГ#hm32:_I90%'jgKEc 8d ۯ/,Ξ须 jѷLF'<_F8S͔}<a=}.LaJuJ-oqn#Qxf-pjL<57:`ˎ^ɊKkPKM0qmD,+MF0aY,]qعِjX /Jϴ1ϒ8SX/ZݨJ<CH% <]I jI9 !  v} xQAqMfdV\yQ:P1Ow"r-cM)y̆>Cx= ;S`wFřHt =Rsu| a^#?7empa%