python-rgw-12.1.4+git.1502953626.155adb5253-3.3>t  DH`pY3/=„˧*p^4W]yM9!qT7J@L ck\9K:t#LBlNK0gꚊ6g 3"qp5o#Vx@w?T| ld~f',)Y7#`{y8a,yu)Lf8F`z7r"_lcB{O>Ay}~}2ոECT8*Yܤ܈춚]Qcj .t 6+sQ6Cm916e291a1e1ed67546acc0593187f7d5e8c48ce21 NY3/=„lH@告U}HMEZDv2AdM>t,X-R6JzN_ik2A]Ua ֟dqw,Y>}dnqψ2oV& ~Y`H/$s4}b9n.ͯB3x|+1ďX\{8׉J,=4K[;ajxvLly3 2O)8o(٧hZHpE -Q7 QN2ITcPrp>=?d . 2 [' @]nt|    j p@x()80I9TI: %IBFGH4ILXTY`Z׬[װ\]^Hbةc2dٿefluvwڜxڴy zCpython-rgw12.1.4+git.1502953626.155adb52533.3Python 2 libraries for the RADOS gatewayThis package contains Python 2 libraries for interacting with Cephs RADOS gateway.Y lamb71!openSUSE 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_64GHA큤Y ]Y ]Y ]Y ]Y ]Y 438464bda7ce30c96d2610dbe9bae513bb071c2a7c038629775b217df5cbcca168b329da9893e34099c7d8ad5cb9c9408804be4d1b827ca413a1e6190228fe645011fa4fc64d3099ad513cdb9afb7fb9rootrootrootrootrootrootrootrootrootrootrootrootceph-12.1.4+git.1502953626.155adb5253-3.3.src.rpmpython-rgwpython-rgw(x86-64)rgw.so()(64bit)@@@@@@@@@   libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libpthread.so.0()(64bit)libpython2.7.so.1.0()(64bit)librgw.so.2()(64bit)librgw2python(abi)python-radosrpmlib(CompressedFileNames)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsLzma)12.1.4+git.1502953626.155adb5253-3.32.712.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 SES5python-cephlamb71 150451296412.1.4+git.1502953626.155adb5253-3.312.1.4+git.1502953626.155adb5253-3.312.1.4+git.1502953626.155adb5253-3.3rgw-2.0.0-py2.7.egg-infoPKG-INFOSOURCES.txtdependency_links.txttop_level.txtrgw.so/usr/lib64/python2.7/site-packages//usr/lib64/python2.7/site-packages/rgw-2.0.0-py2.7.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-linuxdirectoryASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=98ba8d162a2c12c477b8b1bbd3316afc20133bf5, stripped PRRRRRRRRR :BB@H]؏r?0] crt:bLL'AYaCtM=Z%KdpDOOy-MoB BجN2Nbʑ8J7Iȱ*Klͷqno:a4m)lQ%HZIs#m87tTc-pż%tUwX%54)  *}=nb棺CMM_@̘S0-yGYfW| WX 5qazfۡ%ܰ7x6߰AbRhg› ˭ޯ@Ep)sc4ON7+pP 2R9TW^`7:wR%-ʶC-)7']u 8 v-SbD*,>wY8pgdZq{>"Uu2eD2x"Wi}7. ocp@2aL\"tF,r2ߧzHy)"dkA|{'ͩ@g4ᡍ繱zKf7:&WNyʿȲî1"e>#kL!ԨD,)KpN˰ TGcFv!=̵[""ts7ychEȕ;;@E$]4sPqQ NUG1/!Ȍgƚ-=/{ZMJ'58YPϷtdk]!CnE=ڕ}5e  /cDtTC>[eT5ʎW})?ۯ9̇U~RO+kl sgH"oJ첊Rlƻt,ye6be߳b+dV@۲H) I͓v-~-E,ykuqq7%x\jAϯ@T= $;7IfKE1g(v_FȭeN U4E@$DmLnc(qhX]BWɥ\@_Q>s(HdvSN^`Axݞb2<*q(ohPɑAV-=ӓldV 7G_:j)vSZ,ez4s’2?'2;?{5z+`EOڷ f 4ֈ_眍F;C%m-M#M"Z2asF!p/VVjaաߍsA팇/;F90H EȪ 9캫ywU! >k!ZGR@Nm@4u)$bݸ&} .ý欖8|ay]Ҙt!TUzYe-5-o{S{.ȏYP]~>4zD񍰯[= N: ImX-t"IV]qi|S01ŃX }=2qMBMڮLOk޿u8cXzMqu )Evȹ/m44-f0iުû.FiZ/Da5VGHo()O[+Ҽfh9]? ;֌*z  HR=#^z -f1@IQ6-EɅIoX )-PT6|zSϚh}1ts:\. Cp6!IpҲP4zQ c))g /m/oXU/h%_ huJ} ;yPgU JoaxJ/  EB \̟pW~72,C swƩwsw =هV{Q>όiy&zY 0Π(]D`̝X~_zvO6̛Z?EKIsnty)O$Jʯt7FY!kJ q#!l7فz @}TXȇ FV,w& <2 XahtٖK1٭fEnBxU$sDoʄ 2|m|ww v4Atai3٭XЉ\*5U*RN&!Nrѽ`p}p1ذkV8 >TK&(& yxM.[{_$<10>ŜAM~xryB;YQR-+~0xohpiNlKԦ67_cVMZ qXšJ*!*ŢRp.eaTDa\D? /(5 Uq].dd̍BS'PY]fdE/ c"7TAq\pxSFmI灷*+~0_,v1mٌk`8yHG$LwЃnڻ&gvmƆ 攦djN- ˱gAv^v3¥~typNaW$"rzAuv4̓iVf~Cm=bYSW'V`Fh^ӜehnCVj(GiֆCx˔ MXMULq OqI9EI2_ źO N G5BrMCД1SɅn Oi Ӄ ; ߈oM8 I[ڏѪ3wKO0A-gcšH91wNK? %1_AD Pr Μ'6C}1𑀄r)ͪn(SłqT~O[}m%b&) Ǻ*Q4_yS)E) 8t0Ʋmz<=L`E^'i$&#-\27 C&w&~+{#hGjeeXoCK&yr;%l~Wiuy-O*\/Q\4%A1믰@#V<;JnN$ o!/k$לuw|^'~ Jkj˄uξ{\N0Ld99So5p{N^ 0< _;)&޹UvVD١~C`}K^sjxsBNwSp{g[;7{{UL=iN ZzF}HO{'Sh[r,I'z @jeΜ2E`by~"mbm?ܷNOGŪMZۇH鵨JIס u5/eI%PŧC9!H17Aѥ0 ysyQ!2k=%x&x;ƠkPscRb@s#] -M=J2Q&IJrNE_F /_ D]5Z%dKƄEbne%,2ͩBeN4!Ҍ?\jڼes2ܡt.S}dwaHC4 x׿D7,""Pz$Os{no'=(MU6D55ӥomBۼt0s?oS4jYpI9 g𫐭*tc‡E)PFS PinTs:Y-y[%%q/g׼/XG84J.Ú%]@->NSs3&%F1Vwϧ<' O)"g\eAoLI<DWdEJ鎞|Gq.DuBk%/&HFm)P̴B6rKF9IKMdC&_},2_!:y^5dT/F輤 sm^+FQx% a>*!GSdf KDSX<>d^AwG1f{H BHfRYlb !icMbK E p}W\;kE j"LH>O.'w vd#e_DH- ys Er!NNwm7cB` jVM䊷l '+9H~% ,U[`1YɝyMU֥n"rbQ2pONF?5y4)*n>̓wިؘ%s%cqȜ^{),&KQhs4ɷ? $/k)fg%IH}v'imQ|$t3y1 ׀\*ex@.]*K5P0' g.6L1 (TEk1ߴLn!:b-Ƒ6wWt:D=NZ)2`yT$ ֽga!u)d\hSt]X)j7)Cr j>w{/uͤ&DR?I`d/{ت?CNEQ`\{'8R3 絓KU>zZAǔxY=a{G e4X&'n@.ix'PFPqhQL$xˎh%t\4,Р:KRy(H$p7,<4Emk}X0JX)˭" S$6Hu;sʧ~SEE6#C2y&in3drxu Q"w7F"Jj*<=UUΤ^GSoӧF'bQyz#k0pI:)sˣíT̹dGI]̝5Tj;$&~pLAlHlG>& +賀$2=, 3)nU>N2 Ї-@YqRsc 'G W:(DÖJZcd,`*,kGbrmNn/6d9tѠ5?+=ȖW+Y$B6Xj d$|6-=ǍL64h"t¹/D/p(CG/'#=V y]0'h(Voɐ9~~>шH5ڎܠ1_0'Y?iX+3!puuY\cJP=/.d 8$YmDm\P]:;7s2&'-x[8E(=ISWxjdy{SpJ0檸 c#0_`YDbB5(tʕ7 ]WVBs3#lc"M%Q {eKJT- ~_88fSz'%%*lDA6 Whx5*N^eq.{ u:|S3 ;W u( u7lyѴ Q68.+{vбutcP+aN`\D&#x)}5qک!,⹷elNh *i` }5Sg7wR\+f,]bw!^|%%ˈnĻ;&.vۭ%G]F/stODw_IbTBXq 6 >%պGr-TZ. .`SBXc _Jh !;{7SOE4-ښCe"}UR::Cdכ5IskLx$63v|W۶x8٨*KFf s;ֿN {i"ր1DxltL *DeG‘tZpd.)`?Kb@_qs-)*41N-*hJS $C̒Ѻu mOe;@2'TT{}A2 hιQ"Nչźto._͎AҽQhfMh:YөXKir,vFU#>#dlİ?+27YQ XVޖk E 9&Gn)J0xFgAТm+wF5~* cHGzW}tΞȇC9}v(C0p(\g!A> @a]q 7:$n+ M&G(6C,e؎ ΢AJ?Sux˼BH{djœI׉0fBdM5ަKAHn#sn MzUTU=xɂ2d-Vs?PtIXLK-W]_)h椭IrDkpDJM狾V|c>waEePd6#]54FkZ{D<2~* x$TX<6]o-fKeHL~'$ZOd^VѲ-M/_~ a[N&*ggB);4{0z?nЂ6݋4<_1 r `SJ'' 9iB_`~{.Vbc'׎1K?y=|,Ai4{j;ϸ^F-r Abw%皟gͲRkd)EgΡYҼ #a@`GƷcĺ2:3 "_)p*N쿂0 ̎2$̛ʟJ;ksȆA>_) zE>XU& B 0hC 5R{DdgfFzq/O[/u} RI8o֘M7 *`4ڐT¶o("SJЀ/+[p7(`Mos83+L0.=u9֔f:rzIf4 ~[x`^*eʝ A+ 7,:'1* A^`*&mKt-㥻Qpc Wɹ+[)Yn7A8KJ9trGRDJ82ey(ͅΩ4- ¬ԸAASגH/wgt/4a&8D"9,n'+Ԃ*-vg_2AP(]#wMř, ɔ] nFOZA ג3)K=V&и@,8=tIK  q;fzxj e,gS ʲDF;/J?wMv )N)H(n{SZq^\{XyyJoԣdkW;[[})FҊvvSnRr~)&kąmUҏ 3_Zyy蓹HQgw^|.󱒏#C;6tʍͥlI>K ,!'iX#~̜S=:Qs Oo8e{2r&{ yr!d3}cectE>wW๜]NMNo-:1UqJxB;.G?U@!xa;'5xx~hʁgH8,̪cXU/o]ls#0qQߎsKؙuI9g`y0'g'愽{^Sk 3w%d?o'tP_\RXqBA̬ꕍowSY㔞kFe}fR ,+nRu3܏͑ "/m{\y͒_q"֦Zf!yƐ+$ڻ޺_\u,Y ܨtlpڦ! de"B$q ?ӟ˗5 0=bt<@9gRd?KRM`̲'w.tFJ>ӛ8N/{[yPFъ =kj%HtU C-1v;Kf +VR29^IQ{6h`$*׉g36=ͩgIpp(6y+ݨ>Gz?P&; /!x댒Q ڼC;lj܆ I#g]rRC@lVPb41AZ@~C3L)4MK2=]sH&=ca)ϯ&V4 5B]-[rf /0>?%PjKf9QaJZMbB+ĕOEa4-a?t݋1U]g_'ž:[x}L9ZN[#\ +=0NDb<1rH42y("VGݛgF!j! uH7"/4/2sGs݀_Ct`ZiApƂCăPVBvSTނ?ܠ'Wbb\4`ԆLp;U$XLn3GF9pËgV9Bň_De|9|?`&6'o DVV~GyhF5R;9ꨝ$dVy=yk'cѥ2ʒWV2eBK-3HX1W*+r`-ёx⦻ BfJSWF}qc,.ɢ8IރA H\IK/1h"E:^5riB1&(Jľ-D8"csR@k1A̢sv ku(X=xJ2HZP6S6-!gؽo60cCm+xŰ~8 JUƍ}ix㇄7ʜtp1h"yz$0a"| Ab & 0%#mѱNćd*R,?9L#:|+%)ӷ:CpѵY, ^vTJWBu% 4WoMpt Lw0$6dgw;%vL\~̐CJ3K !Tthn}Nln9`KpVrONc`26lbnv,iZiٰ֜6#_ĠkS|ȟc)b(g (C^5n]QŐr*^G#ԇ?zK)z[' Ď 6M즞M!õ~/ EaQ_Ǹ߶SO(:Wfӊv`ofkF,%$whM+B8çj:=3ˉ%^ !cb%gGc3 9M<Tcl[~c+`kp>ˠ1c!Rd/ %o(PTB?yX:@Ѭu]CެOT(T#/fc g,L,+&JEJM1SWN_Jf+y%O13_?=>ۅK>X=qo>.n{<p#vqm{y4W!wsD{Dnx5]ۀdvVAo1E9ϡ7"|EM;W4JӀ1wi'u*oEREsEB ZsI=y/-2ݐm*NVM?AǦ1kQp 9 QXܔMk_.$[UqB \K}6؂$qP_m{c8馈(B$re%=6p=j"\*1KBo)LK[i-=]:2E3У D*ՒDH ɷ՚:3Ԓ"< 8YG `h" LL/`ȏ탑t.i@` LO\NU_k|4(CN  bO]ҬrZv{4f!r.3;&Tb}eo]_r{%;6܀?ˢ%;g 'ҭTJӹwQ挣pc@":}*[sgkXc_FR&̛\|(cʄR=Ql}5=PI>+퍷>0= ?;#0 QpQs]Ug[_=vE:6sڞr (ָ-sb:Xn8CvȪ5Ꝯ`kg1>x_?*$?Ôt,,~g}hȏ U@hZ6,Yf>0H#m Co/eAm[jA Aqb5ќUQoI2rpD6hNU YQ%Y'w ޮegpZr#'xB"A2O`bS8 @0O|WY CuǕL:.k"Rj>DJ 2d [u%|:f+ e(S^K] 88*R{R\`KFgYIp*̢0c;R?6t)tNιqK*rJ+J`ⴳ ӊ+#"LiD,2G!\T}3Y؃$[[I =y3PD*p1P,kV)@=5 EД\;$ɦjM 2bY]N0W?mt!e'- ۵qKo[J)A8RiTP| hC:9Ljk7oDK z ~X^GҼ\tF/s< 7S(Op BXiA{ӓ2Z|?Qs!P/GEN1AQ[i#=t4fq5]V$͵RcVcSHڈf &[@HsMu'abKDc M EAKb(յUACt1iJ<߼=[uRzj0q :0: {沏FTuϖE&")eՏD" 7/SQqY*ʰԓ5 7L+qC.m|s,'pbC]jtݪu3>@琑8OK&8IbٱՋt>|VV;٭nEF'zh @b.jhӢW"?tPd5  HaW|`4wY6\RTBYm:06Q@ &n᲌mm18(f;S]V.QA#Y4T>3ph<m}GMs1\o6kͣYP7(VaO`]&}H3/<$SF?B۠\UX:iYl-^lQ,B[^]%,ا\iO|DT2<(ޢA.[WfdMf9=e a>)zcWm8n!bòI͗jD+#a[M|;!D7C]e͜oF_\WfJ1~&g< DɨJ:#,>3oBe,I^Dx38Әu|O'т̹^RA4aDUf5B:"/v y~vpRo#mj*|[0LjF`Z$XGt2Nō7c]N QEsCa\Wˡ JiĽrصQ0؇zY--B4䏅F2 DFOl b%R&It\ny8s,SC_Y_|mc7 pxenK!OB y9g~{wEq,Z"5&l0?\n 4U?k('ioO8ϫ0F_ ¸8l|YlzVGF&ƈJ)%4W䅂ᆬF.5K8:Q/]\MmT Qwo5enɤ$pZҌhdc}̞hj&}϶-Y}ח1K5p@xzkrC&wfhT"t8eE()!8Z}FNz%6FmT}տzR?kd$ 6݂ס@|t޹ KEAy뽞`ɶj ,fIq-N`R",%ĒDq um u\P[]@Sx¼G O.8yͯ=W =t|^yMrb801q(t&g%pL!V4:m66d<{rk6Ӻ31Jh$$WpJ@)xO5^?^aQf D$}ɪ/hɾͮA4Wo/DvguH'v^; eװ9 !Hu' Fˈv鬹*a \I>b4}NMﮝ\׳3E*|T1<ׂ{6rNTh7S)?rJ:vazx9ʫAd58a+ƛP8(y6(+&U)jefQL餣ڂ?0z2 eA[UkG*1SKP05SmvcwwVyCUYYSJQ,xGZxJfqlh.^밽hmbxpS%ۆP0$G {Z77wrU!oe ,ݑ, #{h* ] CD֋Mpm j k\.sJCK+Zy~aw`3#e|u@*'U8p~X$6aȨՌEQ0vB"s*kA9QLMT]"2}RTmK|ܟHऊRI6"o?|=3@BW43hL.t`c}lvTmq܀_MI=wqXe3Z(~ _P:r0w>}O~~TɔܞN {@Eٞr>`F$?ڼ zguD򾑺-bKIӠAʥ?ۍRAGj/:^f?"l JQ$uBS\aކXe7f1@z&ݷ8GEb A֫ *ԟ‘D 5U5AS2gt_U,u\. EcQy'Y;~7e:Q1$kZ+zz E`i856#PRKZ~MB ۣ a ||RM+ClJX9H<'74֕ ;3Zͅ^Pj,jy=r.;-ύ7X}d+a|URH>F+hμ#E G zXn&kZh<CzJރn8ŒQqquZS]0;߸91lMFѤXX5-wr)!~h[\#Xy.ye-@_rv * M-GwQճO6|f3 M/2KJdl"".H5C6sѾ# %5#UQ]IMH7l/'g׫3=wfi%9Dwb㈖u .T">oWYCǚ^L0ȎmaΉ_@'ʇ,[W3 vX~翉JCK(+o-UagiWn%?Mo||6ƍ+e 4n^<ݯi{\_+:x( H\1y ZR&D+s:i]9#~ka#~ u?<񓈆`B }"ͮG<.g? a$ 0EG('Zeeb]*1*2?$u?6Rk]JY4q*[oC`qQRfw !"/nbw*֩z#) S}{FNw3Ηqݨ_|ߊŹh= A:L}U]s9AeЏ4yɻ

xxfx}QyRd~ ۇ"E[D#80$^(Yy @g%l"ke $@}gddy&%ַ $Y_;+.*B_ #P Q臿ƞ$*G V}e\2|a/F*{XiXp]T@7DKLfwx 4/~rhaGh&ݎ Xo!J韃G.=2݁Q8$iLs%touq=dTZy(GUw7Me3ɞ`e%v+X3ٳnuXa-[gJ%>䕬U3|]2@jF6zZp{ǤfN2 I8/g h|GOW dQ>6W:šo &=Wb^(cFaz%]Z&/;| 92̠HY=l/g muxN #!K9ie-K4zvs fk]g-LdɡT&=kR\Ĩ;)3$0 )r^ %Q<^ m^mJHl:ڱQY$MD̴'Ӽf(W+Sڲ"X8HyKϯlnhG8MW0ڠ4*#^Py{SNsȱ6cX5nDu Vl4u˼&*QY!X };/v )Wv>wݹ1z[.X]:ksDYi2 8e Gڛ+kmNĈB¡aZ:}EZ*!jX'PV,Ym$A-ֿ'=`.>e?M}u/)pԦ(q! 6H?kj\Z%*L>vF"NF}Y&6p ]5, pU#eAջQEQU[ҧd m >CgY0GRރ T^Q#<&DIُHΩܺCFiK$@hKBl Q5C;Wԭoq/}x;|v(.=-foͮ.4P 7%bHRYv ~ .K*@v!65Hޤ;M~FGr랅̡zN?PعYIܼaGпp4?*@s3cx>1,ݶ_bnrs` ϼg}M!Қja/I}JTmaP½VQ2vK OTgѥjIL6j W˫"S dVz˔0Q7?ô`'KRc?n Xa#j7e?,USE@È+hWOFo[O=n/E${ۢJ80Jo1ҁ$ev ڬgx<+Y5"H?28ET'g2{phXp2bm–vQ.9csmqv Wi6GT@{{А$eZG[B+Y@E-,5whu] &BRX-7usb(K4fЩfR2v"rvh0sm[YGW@\dz4bM8$u56a҂1gxb/eWQhJG(f;g.A)xSPM C )|=MAWQg`A$Ī2Pgd9EG]3yp >i O6M7Cnw/Z#z9|ĹQV/6="f_-\@`%{N1ABS;P1`C?]KX4*YIYi>}186vB00Vŋd{_О`Ys]4eKY 6Ffi_g|F"A05ֺ.*r$ ^$#?Zv-Qb(DPvOW1ŭ*%3&8Tz$dk~撤V$C!MKt2wu:g>Sok\ON9"'o=D\EaeHP 4UMŏ{N#V()JJ!*#i;vov#K01Asr--.Ѧ>G3q%1( U&xARD ge31ulJ?$e.&[['̬3:v6EsnRc4(C01I96Q~ V}EAT0ILc?8d3V`J]rR87BUNڬt.w*hI^_o*snb酵 AVq멼طGu \0?cViCw爋( 0~9ZR3oyefdz[V5P8yf/b`iNM*PܣS`(ZUijCog)4lj4,(Y6EDN+?it'╂i ztbìnWdRLN_ΓwGR̻.uwvhϳ-~,/:uCO8 4U5hZ3P8*c &*K"@1o48 iHWŦNoI $W = uݯ!h+S?^!̨!Qnȸc828t6M { !`'lp4 %'=ul@.0l+#p 2ѽI@qτGYI-*Rqi2IVEi%ٴ.G4'`]O,s-']Wi{BR&~ ¦OuFu7ce gXՅ6hgF؀Q%ПȮQ>=ʗ98\uV-W%!Wƃe~V5J ypt•$6Dz2p7|ͫxk0y(VI`H5xWȒU8$htjXZK߹Bؾ˘JmGB2&Yg#91")~m[%T+{݌];%$  ):PJuW/a Fs*;L ӣ7;UN.w ׫ۋ1RڢKOw0p _St5yݔY'-<Ѝ uz=97̞զ(~$ջ =ӯ{J> ^X7cSRcVŽSGtN4ڢfa=8mn80)^51'M© ݲ:6r^=,w]p"]uG++Oqrut8HxzZFU,r2 tsoj ?&M]hmwdR.U7?[=#/a@}XWiwwˣ=h@ ܨYb5}b }rm}%ocфK3(^dGIuŻIaXEǫ.lnZ?X9Ztx-Qưl#9LpǀПQrMPl* / p{I'pvn͆U*)A5|L4j*DLkf722^#QRZrQ' J uX}hA/s/mcr4z%S|l(pt qm0.2Ҿ$qĴJ ,gX{ "K Z0?I-`ؽ5],ΣJR!epL3]0/ϾV`|M)nE(ae&!3y&?ǡL5ceLz7:+5}3N=vh-yBw ɕ@\{zxE`i]H~W>Al؏/ara)36R.") {BJu^m ŬTPcc (m1AIzπ%]$,oqh|o#m]Nb7|BϗG!t>|æ/n W}^vPz%,2I ww~"ٳ=RaM;k8+k;|-/b_ ;xXhnvk%N]}6'DzT2HHٔ5S\Z˲h@MȸyHgISY[1U4M(#Ց%DmYU& tL'<扸烏OkͿlsdtJk!rupjEDc<įru! -k:vi 1Qt7EV )L A߳`kk$G.!BFS>Kr< 5O/4W<+PԢ`D%%\?p\5tKqz0w:;:swh)J2(z!`ؔY7fӃb }>+U=H0ˣIq&WFvAޏȼvi!O?d2ךl쇑L5RqءHz=1.>{u^fV3 4 32(bT@K9i\E/fI9f r>FW6WO8Z2Tz,qč0UclW%\*Q —)D6w(Y?e~~_S`B'\m W?/Ijf{C9EOy#0rj#u+)h>Gw%6q/b1ۈCܹtvt񦎵/u myXaNUcq1 vބ/M{oTYg r5e~ޓUzc xsd@wq%]?kU~fgSNt }NWpwCVoh,.4ptB:?{Q"0D bEqȯA+gqiQ1o*ad+G#nekbS&ws(_ F!g vja9mJFk*|/59 2Y1>R=IAO3msS}i`-rN?n.< Pp|0K7]U&9=}vl߮HA^get bIᣫ@E+N)$mGzVZϗć5Jy0$)5Ɩ36t1azRʻ=V] Y]C1DUCuyKmɗ!%n>VӻE*J.J,vcь؋fZyiCspo!ٌ;$TY' kNyXXi Mu=WUQpz-PlYF@+?E;'Y@Ai pNYɺW!5fd`Uε'v l%^ê-:Ms@)y<*Kl*(Ejtϔ8f;n33r]c?D:T]`ú }vhD7Mya0 vohH4w\'Jop;"?-\x%U56X\nEA508?cs8 dyG&qCBn#w=\6T.C>>uCb_36&bkg)Vd}6*Лð-r75ɘ&ȑk"9aa1 8bu >- 4Ƕh"c L@Xיa`CZFoƆ13-~G:#axNYn4Z)N" գAs(k 4K[1w@FLuig3B})ZF rn> ,d^?Fʞ'JJ) {:)TqTt7c.gEZqp%_Xur;oZ"`Cn^$ϺD@"-Y)$djFe"֠WGb sKnt7tcAwFU/xKMV90>DU}+M4z/S&6N-dtri/HmEv[FI{O`?"! p.-?J%Gn >(zWxf7ĚlG]zM =ha8w5IBT?uvr@:n&J/cO,ghUW%IS|_ rxɞ6uVEB;SKPj.n,9֫eچϤqɞ?p50,&QE[C8*T^b8)/=>Չ\F@oyz"^WXg |WҮTR팋}e&Np4 fYBrà@>m.=ʺ2A٩O68I) twdO3Mw Y*G 7͓0N,vͯv ~5NvQdp?Qo'R;VHއS]-]Szqw wpan@ކrS7Eiy2#*kLi"#čYVy FMI;%^ jۤ,_wZ_X8ֺ ? FNf=Ò7Owc(<ˆQh[ӣ5/__dF#[qMX/ \U8)oSo_E|׍Tj jVc|{mnz~icwuv2|I2Ut\y_wŢJ%j7CY*j޹Dqd5.4\LƁp\?fIF1QodߺlXn|Ǐxɜ,|,LKmf^ :{J ԘZ- VDX"dS3y(-XY#_żMv޳2YA~*)$/sX;sz-OJ`5T[ga ה7C"Z$E(SW*i#Zv? P'HV^֮Ś`7U:E%F&o{𪬪XY~e;^C'eLL꼛t$gf= cJ EX &@B`O/Q@'5nDń(f7JƔ>[C ޅR1[pO,%w\Q['uxCj"u0JSMs_4@ (1|wVrGӶmLU +Hy]7UOPelB(AYL,J 6zVsíb{Nn!V͎{*y<ꥫۥe]b'({|0[sO)+q##mQGw䩒"U?牎F a ɟN۰\9t>?Cq eDV4⚷8F3xh[[B2-ͮ# P˭luK3œ:SKڝB95pF>;o"M&r⬲1~G(=F`eE92).N f`TV=Vd ;Rܕcl#:VKaE,:`Kݵ\;#K45pfL,ݱd(o9aE"఑PG&G${6I%e|NV}n+w{rhbI?>!r~57+FW]P=%muC!89֦' ,&'`1h:\ ɒ] KG?Yt㘲$|<WY'ԏ_J#ϐ IABdYU^EokO+^K$թ )&dPn_60יtBy:;#q"9  uU_axm-6iCI<ӏXD*ЕP-YGơ+WM9xmӁï*!1,u {&7 PlnDQ Wbyf2:6DqP,V/p~/Qv9Q)(nsVlo~h L9Aф~mlݘ@m'bVەm)͆;򋦗X 3N5'eƙ_*H1*#?bo 1h}x#Dw0;]P8-wToDZ1ƓO*5Cfj,l9uh0cMAh}WYJf%#s|R7q~6~;3E'H'V>yqq~Sp\ nJfہa_is/_-fH럜{#(0uӼ UaPhO 'kgP@:_SqqbJLV9СD2i `*yɵ^|/f&'f0v~]<H> ĔB.'ee yr=~0&JȞwm;YMĐ .%¨GY<*(bcη^:pypsVT.dpg·ZN졑K2;:.ф"| D GI[Nmpڄ_V&!&c!l$}^eq6DR%MB% 䩏@d>sRu8S+Xa rDiqw": 3L=Y$yv]yZI]oV:f%jHg3%WG7hkˈ4(j:_u$bXǯ$[p:`;52[FT.Aꗞ^)ojELhBHh&2DN-c;}5*qm.Fr8Rxu5okwa`;$E{b9kY"@R}*Q@U^?n>:RĶTf&^)P͓ys .uRU 7|ὗ. *9yj+YƆK׮q܀`}y=Dko6*ik\%լgƋv~}x1Ā$O0dTQ!e8 RA4+@}B kluG0|vR5qFQ-I$v#㢔}[;rv_.V0Ț2*9b?z[󋟾ZSEhƥc_}-\x!ӵ;rR1RٙŽȯd!!zs5\:2mOp+K<śaM>^G_'$Xx鉼+[{s<0-;AvVSVrWxKp;pDJZ O,;`X}Sp`͓KˋSm6q`Oc4{7^7ϏAnkl Y3D (B@L=v[ Z+=X -G}LdbhqH̅^ ; ]W'\ʖ 9nt޿%C() A}(Lv0Zi&ڽF5a \6V?tT4ͰAX@-Ե+0 PfF~z. !~ӱb_99)==W<=cFL$s_Edeq2 $&*a*ِfmoRa/>hb5$o$),vᚈ7G*pBUF^*\ bk{ 5U-.WcM.>a?AsDɝXD#b{N7KlYgTuHu>dR? ?j_ͫ]p)} #/?]IE^37m‡͖Ŏ{(+چ"R`< KP\J"dd׽-2 M)hFuil6L| U'P\z#Ep#j\0C%V10ш]2 EuӿݠY>?i VTH?mt?@-Ȩ}CWpg͊pAn_`2g^d[`) $5VD,/LFl\ P":ojA]U A-0Vv|$}Ք/)kCvV6a. B.,j!&"*ógө' ТTCm_Y9K F 9A˪ƴ< xh}!EDexoomt'|iqր ԪzZRE7W7hpڔJ×$FD"1Gf3bd/}.#3E@ ./Yai 'R% bG/9![8Q.,rl>dp_V"bzbKIX߈4+J Cm׈!.B:r$8Mtှ/q㼆GusBoǞ [ w3ӄO-x~L}Yd5\=q[4{'pb0@ڭ I'lU턢h"5U-rjldURdt&+wc2,7#d:2KT\/ʼn3Q>00^YľC+Es3ř}cR^@JpJG-`6Gs_R,a:6rh6Cc`KT{IhMxͨ2 =`#ɂ=8 d-Qo mic' XO2  xga,; mqEfPmmrD$rX^sUOJ>zd6zM #~4StWvT6RCw8SBL_ZL7%Dqڢ lHςp>$#Sa믳{W2x҇.5rdo%[V~Uۓ|as{F(rx{iIGuK(ExWh/A*2k[v l:Dv (׎XPq&p/FJ7V}c81rvj))I)}0ur&Vo\-WEpcے,-8T_^w}{9fx2<-Aä&Z MjK HWL]{P}trjpU6լ7J$fQ>f+?,+&d(ic+)뢻;o4f  *O "SՂw->LIjf癄 bHvdqG8&b?-&i;pD^|sЂ"UirSLP& Ouhm@) HWOE;e3Bh яldu{HyKQfp%{](c 9D]&lM!?P %sakH:JKx5##f-Pwpc{ UgY)/&Vuq}^`Afvx{ai;e|z#?wI(HrZO{eM-Mu!{\rM#Y=2rV>N.bQ|G@/an5֗Ͱo4 &A}D5E.Wgvq;^gA˨l]k+D Ɉt q!crչri.#"yB ?&Pv4(KTδ]"6Hք`tf5o꼣BS~ DFϤ\fp/^g]]s޲mA, ˮeԔdr?}ې}T=!S_Pij-B*Os0.N8IEȹ(y$/XɟcFm^0Xqf9\s X$N m3WF3\( U4O b h j[`+XXu=ޯ0)Rͦ;oLs/cݭ)s{y-H'!ۮ>|ˮÂtRF/+_.7>Uf죥Qalr!{;~YtS*l/R7 YťDɊ6dELsB 1+w!;>el%IcdVmN\qƾ|hsO->Xf3DxgLdy0M+3Qy >>s*Y*x:5܄iw*ȑYTt^wʁ2&_0  IỲ5ŊsG&wzIP,/B[`ZM8uluSsh"066Rcqfs(,ԳөVdF֭v(O ,LE!\QE8h%+ƎG,EbjDV'6r* =1'$LL:q y"B*5Ox}"%WlKi'(I4\oK Af] \|x#֕utÝr䥞"Qecc^+IY靚 Ql0MUg%Xϩ&6֒)^ [Ռ#j,맑֑8h  'w~i:+,C`G8FAlPssl QTM/yK/q _k>8%}3 vHc1{SN(tjU#iDmfB]mu_ҥkoehAcAF+:u%/^ng`EkUn =<: u{ހ<~"uv v46E40c]ģDbyb啄,_49tmCܸLU9j"`9c+}y_1i|gP+V2JwBDU*S"~>;u{,8"=քdY [R,\L|kbl7960j`evFKM`D˪#]l 4m7t\JKi;2>t%APgRER!+g&տ9ܾ KPM=;N j@GbPX}蚇p~oZbS>BV'#QH &W"Aa‹@; =;vTFa['}+R٭$p8pkx!K?1)Yl[|;⚏F [T486ܪz+n YRD5%*"ІC/DeA'pv"mrPBȏ09,?n-H:uJev yfk pUc_q q·f=tW7C1c"Xtdzҡa}Pעbj]D[(RloT|,z6*2zqZ~ _tx~Ǽ}BO[u@ 89.L2Q WAU@߼[bGMۑ_G}<̭*JߧKXX;JG4 3_zGr+-1)]+ > }2-~1,I.!kz+Hy._Ÿ6ؐJR0yF86و˲m A֪36cS>&-J]u V.!Z|\o(tH!8ҎerqƝ3qiGT^m d(;jD|NiYF H1$M*QS haz@LXɥU'C$}lYqG5q*Ȁ<5hdrhO*(bUG_y;'||j(bUܲ2|c: Dg5VUq4Z29 GX{~8 N]StSU-ʮD<87'ZDY|!įRn!_ګ%}x>g}<~Z%DaSTmJ)+3UˤXZ b)n:}iooCvXgeLnHe*H.⌐\/cS}QB8ز;+o-.DH̷3 rD2Vh,/#ٗkO\Qr'~|AZ LBk7eZ{DY#~vʊ̕ rƵ4(K=23 ` J*dSOKr 䪨"4jJ,/WV?NXE aAe;jRo`?Ju)AkG:~\$R7xtrP5}~sGYP[RO[RuiLjO3|9ܢb $ pmɏpex܉a{\c/e깋;RV!_X*~ ~AmZȳ/֏iAB9{;X~ْFyV">NSʞ]_'ĸWb}- 'P4(C41%{Jn25c{~&T@zX ̌0 *KkU2KSB30cUA`!QRuݼ^yfxҩJ{FnR7v?'ոS*|8;ic"J1 KEfWX'Mp.'ӐڳҸ<@o"`؃~2LИjن!ܫh(3ts?:bȕ4$kqb$aG>RGu( R˸ۿyh~xW5 HEiBRB5F=1M6t L4>F/jhvQJ|pc N8q/7K]‹A%PG .t5^?QĢǒ&Jx4*ǁk:#zRo %\QeI>P?L&QESj ?LNJ?,̃ c4 '*RZȦR;~ ꏌ:䦠ymEGOߍGN-?h}clQ7|ɝE\+ύ|>gb7&$\Έ3;襑d[R\C&rʳ=;[O䧍 VosĨ>!V&Ed$ >xe-?Bo0\%,zE)>5Mq5#/.KgB$#Y&_ШvUϐq›.~a 3?pݷ_LWsṞ.l)xA] chKdG[f;ܛ?Pͨςpdm0m"vIٱ-P%5A~ ]mA\Sİ<}RC*65,v0}hq/ ~ntresZ[/ȍ#Ҕhu?Ou'OOP] K뒡Q!keR o<, :ʀ<=IQvl|y1uI6A vًe+@h_5bJ[X'bIqD 뽎$KtFbW37vUL:{/0~(eOjkCk;Ymk%yJA ^/ B 0Ӏ7,vAe M%fc|O2gwޚ'qM -bu9t!@ڤ3tr >2ָtNwKE%<50 91gDmUh\YgR EJSF9.ejwuү3-R]ŇG+9H2UD(h%'=N3x h( F^Z3gZs#kPmQVߖKlr'R5XK8O#Bc)sfCdG> Z1LNn7^~O4K¿AOΜDIĨYQ$Js8URCy;4,[z1aKsg4 o[A #Y ӍE @T5ºe~_ke!f+Ewq TJ![NB[:֨8s. I]浪[_Pk%`Ay1^.kc '/DL"i|@ }iMk,+^qf6n=`F#.(tml _AR~=DW4nXSHc ^K`_HR\@D6GU9۫\+f"${ob&}0& Qnto~V0+fG4=UgtQuGѶ-aGKI !/)_B/T!N UبQ8AgNfH@H=17#Sdn발P>/A(òi%x&/R@?nJ2R6Ol=h| \Egmj챉Ee a"AQZc_Qn惘@4K|I0&b0䮈/ Kٺ}~gL pԊ("J{D`7̮ ֚m^646$3&lAW<]L;^ "G$/=!gr9*&-7kV`y8:ڧs QmZeT՝J|0Q*PY47D48aב[*5$F.GȜ:sfxD}뛨'ͺnFLA*qYtZ.'@ͩm<ևYt $qUԈݶBSQF)#v)4-X6($Vk L=mnyRiCJSl`"RB7gׅs8ik3R8]/win%sƑxv ƎPU"Vې]7ґ}Ƽoy5K՞DF$1}9h4pb$T"<)h6lY&Fgё~.l&͚^ʒ+j{M8{zRXnl~d/ƺ1?[lNĖ<0ABҞO hz3h$)-x`Ḿ#\jd%?M@6Ḫ[#q,ӛ(X2;Ɩ{8ݽ9d177P$ّron٧{BR8ۇ] g Oc45WaRm!hnX? q"uulSȃIR'^VOZȈ5Ը[rˠV#>( %~N8޸n4.4q^Q:w|@Ǫ@Wy!G,koVʃAۅ{KyU9PVN (=>~:l=uǗ-PHDS+BtIX!Onk7A ׺ P߉EK<0ޅeD'Op=K|`<}@!L$wUb~\7CB|pHsj?*ُE%Br j.T~y刲i*+;uuRd3P԰f}v!qǚ#DMCtjf]*{ ]xmͅo3} b?,r9`l[įM4 BLhԘr W[%χ=J̄㕳ӂƫ77"`ׯ)fDyy/?oqmw3%6.|oL"!:kQ*;\29WEDճewembo>/M.=BPe@vܤ(2? ؼg$qfh0Jqu߱!Z St{]# wY=cK1г) 6lQѺF1jR-mZ۫W j;ρ\3oKKrئ#4,pVH6EZ4) Edhw:W=coi*]S0X1 ?LS"q읳GP WX"ESe?"{+OO#6B6_>7<]֣KA r+rPJ5 wDH$t`w)%aW΢?dɆ dr^厙ox+⤘fN24ꬩ.XjTi7z`]1G>B$%PY,NtqExqlyc=C2T3fD->4š@`/5|-h5ďw)cjT5$*K?Xxw >*aGԨCy%,y鍰R9U? ۂlY] C5]p鉂&XWF"H z(d''+ABn+"-(nr Sx,.o۫Svej&i._M1M -D]kB|%WXw'hHJ}_TOch n+FG] 6- h3Bp?a<^8d|h6\ڐ'u撒hukz HiųZ`t) RsB☭]pK"ArG}C'}p+A%HXǕN5s>#fH˫ϻx(9>mӟEZ'1'R t<_:٭!wL'ޗp,ܜ }fb:9|cYQ:I{6.P<,TiO%"$aX5`y\sϊUKΖ9Cބ6,aHE|>7lJ!1eG< >ja Jw" 6lI3Y!һyϼULTE&~ĵ:% @aĜLqo_qSI^2Hm:7HH<:Hpsڃsm2lΪ /o[.=:P^# Ul %`oZ0F%㄰ɡ|M%,{&Nt_@Dw{QǺIKa  lOP;Z{Ӿ^{9xh%LI.{t*^OR͒ymz5ex`ߺIǃVIlVIes{ I'd Uܿ$mTuttީgldfCϴ~nsvEN~ArJ}uݭ+Hy"ER6+ʇaoɩMpks#zW qڐGpce7vN9)Jt>#Oԕ> Reʃlx0Sdi\a0u7B,$E~pKU4GL0Iz+mYyIb YT RC&ӧ/`cP3M]4K }FL:E jQJJ9kѾj:iae-kc}(hƨЍD80P]`&=r3!DŽ 7PAe"]X?al[&Atj;` .;Foi5qfj]M0:8݌b5M}AU&+ ^y $<9]2QXyP3bRPe8͡ZMVh E 0VS k ``~۝M#JQ q +JVBD俣-Vc]Hنs(5);̞ Wc~y;1Y'R#N*,#G8Pgbv8 ? oTkQMr–)-jV5vbqħJqH{Ә3޳ELHnmo,DIGj,1%]a $e*01D<9zDh&(ceQ_ ZAC3%Ub2qH; x^R}y#wj gugVzfXOpV?IIŅ'YgWppe|DdRT~ V{'{"Mf@z%VUcMsvv.[vDRz6`PNj=퉛|-iֺ6) G W [HmD5s1 YpkO.?avS`ɘ| 3<@<@:eviI]kO0w ,V$($Nz:jWrV(w/OɐcQ|bK f@gdtۥM2b2e +Ď3ޖ>xYrIsz$㹇KQ'8;[[dbJ2d32JdsETЌ $M#=X g< `]VȅՀ1gn cU`-daPv|ls% zִeB@ruU-SCbtg>~PJ+v&GMi>0=<λ{HOUm* Ϙ CZ{G%=.A?6[B"oL %Uox^ωxOtU'"[_xmtoҺ<"S506,pXI<'5v{ֽ. Om 1X=&8E ["٦&kFJ 1+suO4Σ4Rk2OZ[pJ/KUKla+41 [!WFbv4PsJ׫_*aL}=>̅SNT#X gt4?[Q-YE#Rk=DT3[p#&3Ƿ`VA e@w Āi2 ϩOvn#Kf}rYH6LyqYͶ)]$E)<`κ:$\0WuG6PܑY暇ŨK?m'kߞ]@V/IXk:+)|?_^VUr0 c1R%1_5(1s3}0Ѿ7`:3;2F5ET{>[o]5c=s'r*5|r9H`f@8P-|W#8[@CtsgDj_]v5[7YYbSoSN%y \\do$-6ېnZ{CħXw*+h.ʠRQHe~us~dhSV2,xH:7V1ʝQϠR27ڱ>E1GJ.O^/T{ټ'T*)`~@a+'+sh*%P*G*y)uw牴#83],~`Oic|n3hx~<2q`8o:)q!tV`̬UM*6+#jKzK^ lPZʍk!CSA8tE)׊@l#:ˑ,<~2$ Rm/581p)=A]S@a{]Fn^kHBDggL2,qlN+ڸ :mh7T[Z4Q{}KyP2(2ʼ JDoNHF11@1ƹXpiќ,83!w)xM=$aQ1]PFxBܟJd;QnDv^lAD Tgj9ԇ,Z7!W#_i܀!m"9B8TK^}Z|xyTFr;ʈ8]<.%tV<7svʂz?}=X)/JBh0_c {|L$+^Ƿ0d&x~1v`$NC7ƨVg'=(h>{JQ\g#:y jXj@5E-bzG VT7j_TfWzA9]o7q=)eʎ,n&zkVG%I^2E /w3O"^O.k"P3#]L%$@McMn D|jŃ]egY)~n-a_;R3 aX'*GܰPt[EQkUJAH=QUN0kwZS~$y!kNG)RN\ܖY/!JlLujZۣ[Z^CZw(vb8rɶa䦖c~賂@>IUU>87d扛\N{>&q2Thu hD%d*!5X<+!mXY]G]{jZ0;Zq@_b<юO3fJܵݵ A.ZFUQ Z^PUY89YJ,h39 1ivm>l| [,8`;T?Wv7xP-v̰pmםߟG %Iӣ^D]3-vO@%dn8LwߝqV85u܅CkhH__SKt=:S _o;L128r-2PpG|:'Ɛ`\8VA4 5f  C LK8|{_##c,7XZ:Aٮ=ZB0N-q!Iщ5+$4tʏ G+"K\렶e/ii{Y0^)YӻM:&|xe6թ}L'67q=3:Mc|@OfzP6Nsi^ cvNmF֕!{~o" z)sczO'baRTdS||UwX,R[G8X%,n7L5qt҅w. Y)$?'z*L5y}jL= TE q{`e^wf*㠪5"E^F^$3|&zz&`}WN,w cse^5A)bp/a&@וF")!aq#/_Ygޗ_?OZ뱓Dyq[ihPYf$f˥-b'zB"\i0ArJ]0nLacRrb@q}Uh`^dNe <%sǵ~RzfT?[2>NK*EjBA\8y_swׅst}8- 0c\͔B=$nlSQ]'40er}\y%4DDAګURI;m`ۣ.)4MXÂiϽRX,~>='5 ԭVbN,B'rǹGI5 od\.LKTui vx`ulA(納~SG՜vlTT$CƦX=EQ7Oؐ`s,pqiC N '1^i򚶍B2^.C@~XXh,ޣLp6UdQrVQNHf Ǔ 03&IC\ɇCaUgSa 0v)BBw`w3Tp}{?ʞ]"g27T|(c t8QG Wc42 ,1t#=nL=.o*?3z1L: "c&"#;_ »W"[qI|Į,lynҍ&Ctܧwv[̰ ʵ(Ur7̈~e/6: PڋNRLZ&ձ-R?a]~_:ƣ\]ހݽg!5cXu>[.ӝ*U—\:⋱n1p)s H3Cn',1yn| ۨE)wUјkV" tA#YMRqUޡ3ǫ4A`z)RHm&#gb֊ڬԱ{=]2TUf1E+d\\ aGD[h8I\V7 'P5<ڤrs)\2o 9Em- >`*>ˁedCᦪfFY8 tSN  JFƪm_@KJ]\gH9IsIqޙPe ͍ckQ5V]F3 XsM#618$tEgg^ 賎;+.(Hw .>n  7kRC$ϏN7J攍;+.p0P>%( lx\- ({~!Q\zZg72sPD8`I`FzUCYl>'}5 -{ќ+;C@Qs-"D/D=lĮp܊WRԊh :͊_N<@Tm*%|͑tGwQ~3ՓݷGd.vM۞Ukj[*tH $y =yaEjn@)Y"LaD VLtcu!j:9WNDUofbٌw<75r) *i8fQE9R@MUCT`Q/(2_}>̃o,bNޘ_vЀ<? &G'&Z)h}jiS8Fj{Sn$XFx/+laAxsue"͜Y,^ ~/~kt5%RA9ܜ;r̙+2AtBP#*e%Nte#t/ y B+xDa~+?x,9 !KWy4qj4~f0òMYnmAYU0_w MbW@j5K#q*e›zk6񍢬QX@pPTrZFJs(QҺkOnnX/~6(˽TcCKLQ~N}HGUv-"Rhm< 9:3-QH;nVqAX~I) e7vBW%5m!,~lE E])<,:Y118tڸBdF7kjv&"7T؇N\ g99FfU\fjMo ~a /YD QqX*u1e-eai Q52SG 4Á(͝ybuB6}LF{7t-;U0мiiBv&u8){Kɉp⭴YiVJEN%6ՂL'֙A28 ON;Wa:GN:96@<}{dVLɱg]5'ID#)(~~f<)K۞}kqgL [|=n&to1&m9&rƮEZ= O*'.yg3ˠOޣnB(%[։==Jѿ^Y2MtɀtRMĺpPXpkH3s{h1cg:> 0~}w 通=_Viϩ5&Ne1*cQo;8m]-=+@џx2>/xRQy_r xZЃ9@`"tj͎Q:$P=_Ŝr`@Znn= b!mJ%2\mGS~y= y}k~H]zao4 xKQ}:t$[7ZT7 `T[ Cx+eRZRXݙ]Piy.-ƍl9fkOK) .aՊrv0X1::&"SAҮ.E^ qʃ$P@zFa5>.+?[ӽ+!M ;b~*y%]Z`2`ZQ8.9|1K6F(zI)ς%xK%a^d;#S0u9Fng߰bUX͓U651V(jI\,[BjqgFwl_s]oEBU Seƭlo*$n=13HGG8+woXy+T:c ae!z /ЗFtMٍ`Nwu-+03s؂ؘRh*bӟ!ኹdeUh1;wߣ|&|6O7 g$Y}$ ;5"IJ 0$^*AwQln.&wm;Sک' %N;BR7~C *_D|}Kh+"0-BAmPqwԀ?^LGͼ# qyb^br慚 YuOhc>s>Rq- %?kS!41) cGɀśZ\}a|L }oc C?Ȫh8BuAB7qsBt| k9y;Not礹 PNpKnEQ 7Pp~Zv(;hGbr/&w];F=w |0Hl@W\ޞvT7cg<;k?m^q[m0:fBAnAR8_i*jɠ$-n|`ؗz] vJ]~ ޞ^⤎$FۥUIJrwxE9wWz5i7Ci͗yu\ JtׄЩ0*ђN׵]5CV7B B7> ;^:-*@Bh5 6XĿ+,\Jģ {u)Mm/}.NzHO.HwW= D8\ҧοH ^Bެ4x Q=^,ݝ!b E0B{<iſ,v)ӫb$tABp*_pX|F qv/u:xH:"uNG]|aLe0z}6- mP|obG;PUb"MFbK֖agpW{5$\fI:nV2Gzֿ7>k_X[3S8{r*)af|;flM q.Yp6V(Jݤh2{顚C*1uI\v^!sњ55h8-ՔNTWNit .|nX9 X+ UzGj+#m7zwA0Y SoҼ'F_\8tp3wymL OˌE*0oUʆ@z`G ω9gmWh$j\E <h0DF] h2#&Fb5 HChA 0/ tJCJ ^s%RTi^N 9Bf/27v1A 2𽬰mU9ZnnD(*H׃*݋ӊ G  .BN%_{gÅ&4Rdc51֘ IQfjiKΆX(3*zx&ӆCNy55\xGUl֡l['Hi%vcdֿ8mo*,&L5=ܞ5Yx޷l#|#$Ty? f?搁/r#*XͯvK[U=Q‘>;.2 `| f;ݕO~.`xWQ8<;խKl8B3ӊ1l;i>ȽpN ͅkv$_!SEx 3 X*r ^R6л~me5)g\hg5"PT j) afӤXmK̄CmͅGX rg˰qS-i3M^^kv?*P zg .6NHHgS,>ˢ/ հ*gNNHԸc`=VKZF tӧ+EM6ʍvMAe3)fUg$q?%oUFaQ濳}ڀ OԐ ,*;$ծ ^,_=sPFyTBRpOA``5g sjpB5Qz/<8иB}uaO>f`ZQ+}9vu B]B!eQ B}1D/xP-H7Q( 2-+ܲ^#afiUsS m $1Aᅢ!N3܀<-[R])$o~Ɍd 5z&0I)Ie^ *  BSe̗NeqoTҧ&J$' W)\g6hEryVwi "TIg EDL>\˯69P|9*~ 2*@bz3U8C {i`>ܝxpXoЗ9n{UH چme^gp@+.y+)n(d~#eHo1$c]L*ڕЭk+@``ݸWx=À3?M%N^!H1a-܊.LY&LVqLRs{X>`뇝%!Yh@ d[PԹs+Uq!cP8FcW*;-ҽmou5׭MZ7;Q/Z.v2L&TxTJ-,_88p.hn1,n6R"?2SVM@ jd^ R8 %֐_>t*@Dkܲ&L;u;.^ȥK`%YeVb> B,l+d\ XE1VX&:[^R[gNM(WU}=PwX=Ľ Gǭf&J[DΥԮmԺu< n]Ɣ6hkJ$: /IJER ă,vk趝 /ؘtPo4‹E#PTEjR%4z`f(g NJ6g6$ѲtT7s*߿_vbУ,.P ƀb nD 7`“KHa^BFJ"_W_t?_<0:%1ڮiE#z)V.CN~Lq=-7T%G/)=Fa*&01|·uiUf{+p!1~?s_A(ojA ؊o_fQ_ȋmM4:}ȱ2+ R⿖GR8!;3#ݭjp cdb,ﵢF[|#t5lnc*$#pRHt,)h'YЧ;WOb;zml{6=R{$|?C+'|lNemს?&.HC(*f ^ ?orj]09ICr/!Q Ik" ujK[fځQ, jw%ryQ3ف<]#~<}lp=L%AɆvo,!zT!H*NT^9tEmQ@lL氋yT2N׈F*{7}laN.Ɓs)ee*na|pNhFh}s"ư't`9סٝn Xn= TӼ킹Z~J>9 `yJ~aS1#C~]b8@3Eu&a']/NU؂l*[Tr{*-qX59/cNɢ\V0Q"BΟi!L!X`6 Kkx8~:&h2)-TkO̪CZrj] '<{wQq1#Gb㹆kVb"{1؏PR^BƫU=|$wXFoE;Fƚ*_C}D9$s7rR~n7Aߦ'}&K@3 f_ic*κ&Ҝ׾`Cg8I,֭6-:*%6#gE1yp(yXGXҌjpy<ԟ)ڀCBܠUuޏG:WȆ6l}@WH:)&Sq҃i/dp˺Y.&xяcfu.'TOȖj>|lcJ IL[z/q?EH|i@5J1nekPǔNU$hKw[m'RoA_HƐtM ^v/O߭TaI^co`n*hAlK+Ǒҗ/Œ5H !Jpuk'g覟;V 8WBRPCoޙ:ZZ50{X1*-db󬾘`{#U6>i,Ɣs~B;-:/q#]0ONi|6ɱ<_OS_][tᆮ.M;)9 j" @ہY ,toyS!J5hi3GTXtࢾ5v{Ȼhmqzovmu4=>M3ۏ Pnٻl.@ &n uRnE`x=iԁiR ߨӷ|DuPփg3r׆3}'[N|CSeԈj bjАBMx$2-~V>fo܏ToMi'Lo59;^qvȱ`z< y@oOְ1)26̔x@KmLG9 ҇& Mg6_#m*v*O|j(=T0;tz_r%`J)3 Y,QxJq@-D!: ?)!p~B] N4deO /Dsi^ ` {kP;ǯҽH!o@жaTM?zj RE"Љ6i3}zHIMѭY6C]q2!N87}k ]7m~KBj_ F'x1cealB[Xaw -JL3Rn*/H1llVMk3F:ewnb*uX{'> Z{ME36qGi5}BY)ASajO!6+WEIwYf~Uw+} b<\U`kMF tb(Rk ׋GK/gv3?e7VsxFZ:񕠇OrWoQ0 W>S4[2KLq20:c:ſ`iU.Lc qTArvT^DK+y ($CCl(_LGXE)F qhw jÑ@0 &RQx*Xrg9:*J)^cȌ`/( vKf e^_w[W%>@gwe;;/ ÝfY@7@ `N1{p|*]U.I<$7( QioydZzImЏz?XVȨpzԞ~3uxyɨ_jg2)(mp ;PtLa&{'Qj7Xsn6Qɲo (q}a\ǫfFDZ=cb2&'a wxf/cM pcC9EPygG,XX +i&x!OL)R@mjR>xgRSZ*|Th?..7H\ָ h{#%t[a8H˱x1X)˴`ڲrgAX%pu0W0/8mMSqf͒5܍ZCy?sX{tS3^Njqa ۀ:3!+|- ֭ lkP$̿ ԬvYkAڨ[kHvr9oO;!dy+JG *jRvyCN[MȶBg٭b¯%Y*Hb ?Kc]h' Sw+.d۹ws-v\T4t"%!Ic&E"ysYĵgUmGSo8]tKSae\ϔ\φ32Myhy2L*c1Ar&bv1w'Z8CM(lk9E|~8<'(!@΍(q\BFlA h=*k6'H*jSIabOt(6 ;у>=™q xz *T<?+ݬﶌwSU}(cfk:H$\ښ7rRw2iF?&e.v@yPf"/ݒ4]ل x\j&;[DWmA zgTb܉.3= w7egUd!ǻYרut~֍U56elUA {m$u`D ]`ZKϖ\{s|ţ[.ѐCx1s*C*b{ 8>(P}4"HHT0l"55Xh~u)mo8nWvXqi}5J}v-eV0⽬\uكc Kr֏u]&/nk0q]RY66H$3 I)@W X*{L NF>jKҊVs~Dc$qMi ۾F | }vmJ #iɏ#S J`OF߇gXLm|}?QR_*  l¤8q )XX/Z!l'Vla*4):_qY(QO@|7~zUA?P<"y7,#f8+$s4O5H;8|5G>i">5%V Σ&Ԭ%%*; Y7F3)RgmApFE4Z5.X$Ա* OJTx쭘%a(4 dI^?ziT6uW̚)> <ӌ<s3Wv;  yv"&rZ\H&<"]đ 2"iTZ )=.F˅I~o-xݗLY6|X[DaLph"m-!W΅4xD}D۪J8\,Œ $.qu@!͌6ϯQδH<1jc}h9O NjbaX|wǹbnbDUU7k^Ү")9ZMeg kW^qpVl ?I5HT F[||/iXVz *ؿ?6vT*FHY7jBSZNw}㒛mgŜA]K 2STv?L0>״Ъ'^ٻ?[b %oߏo֧4Pp o[$ |`]R#;m%o;8Ek&950Cϴ/pl*^nPdN?[CA4wG꒢T׸*rDoZG6="`'Kg'.^rpɗPD.%Ś#=n5mnțiyѴG_4bTVaσĕB9=e4R!&;o a~Vsdvx/3qW[Wq!lirw4Νݮ$4"skmIB_^)ͽK׿:{`4;8 +>G^s#ɬٛ$)s0ԸU=&4T͋K-_x\Q5yHMNrONMd!$rvmV:h `g hT@QלB77.^(* POHVa?ڻ[ɤjf%Ө96j-M[6: \FQRcJuIfA24 L6{uĊe-Y᳈qIR㲭O]^NQ|/X1%5kj0[i4?U+ }h$YrgsDRv~?c0y,At7Fڈ)yLrm]tGNrz%Fс:%ɂn= jԜQK;o-R4y>Ջ[9 Ѡ [h`u`MɗomV!d^Q[Um? Umjfe(Oz#(q 0{6-";|E̋uJ-6 ϱroکqn_\Iu#MaaMFr'M2AJ/c'T/#諜4nkhVL9ya.W~ 1p5)K(XvaAmVQ RFrs/%8KqЍDMP)prMu+9-$.qK߅̫`0tX/Vj?;Uecqova?H("O9Y+ V^>hD2Xt!:eWx%̕uW.2ӧ ?ؠEkSpf1>* 7~ "8QoL1rCz:AqN=BOhUkT⢽^׏~bZbmv'c4k~~fk8[y qӫ ϐ9׵h!TlO)61NsOm?oos?ld׭ =;'( ǒƀg{bIב ~:[ߚz/YH,|VD8ztFM%94Mfw)VUa..Qg!nd%2AWln6ʆi +%ng=ۢ<OTCxoIn!1ǫ`'K9=|flmf(bl8]ٲb)Q0gY{_đbO`후P>/ៅt sUvT :Ʊf-n4k;=ӋŘXR-}>hy5"oL.$MpEN@Hwf{(>eL^+%O;r{+.H^(%p9ʊ?#&4aIџ6i.Eq?''I1G81@O™RΔ@*]f=pQ.em cM~a}9Х[#z>,_ccW Yz~$w-% 9)ak :X]w`i1d9ܳ}P6T}J̆;`ߖt`hl]1YbFd1/m8{1kx)^uB2l(EnBbcNV/7w@#J JQԠl )(lϚ~0)H aOT57ʣ1`/nd]2q,-PJ3ۚ tO2546{~ֽd! .c~ ?@cb+;+%``coQչZaX&]E،ɩ'"Dx'r/EE$D:.j P*v.k?;n2.IyG:!:4nq6p'$R@#NQtX&[ evn7Yh$hꚢ"F'ҫSG豹}m3Cev*Tv5^*\!&'"ٙ?%YU=aFnG-N ?ZFka(T>=Tu~ P i{oqN ݾdY~:f%-@KLt(hIs}k18|+a@!_+/$\ ‹c2۬oaKfFգ+ԙHJ)+F8a^{]n…2wxϸHwEL\}dDJ*+2B7oXrY-[UD\b̶{ok[:GYBr~ fKWgJuߑF2J1Th֜6ԉo*&w 7ɭr~w`sLH)gHӤ,[̎86F@[˓_[,v[ 2u+K=l(R#.8b\0ӊpaWr/t0e o;|99"u/Aÿ2$σk龧+bb'Dg^DS,i}4b\*JQesgekZskNQӝcfʮ0,&xl.>ԉyح0sFjBn ZWS`)IMgAChF vvc&:ܡā:e:?+`SeZ'$)۬C^Oq>=ܼ#bmND/c 1)ڊH.֡߯TL Ek.J-ֺzV/rIB+FzY=>bi {`lbZۮA4o7 WN=JTw=3`o/:GUǍG_ݰ]K7#͐Ny $U:efx I|79Ý!RDKqA^(<8'KW.V0