libstorage-ng-python3-4.2.78-lp152.2.15.1<>,R$ar/=„a2I.+ih iD\"RaXL\c+'-"dd͎wa0UYApJA˯vb0oJ{\x!0ɞG$IF+&9ćgӋR.>/Ŗo2??Ggde{W;ݧ84Щd? S/_I8); ?AK,/Jw)Z)K,@ϱfL |,ۺ%>Ap?pd , N (0 4 8 @   H(>8H9,:~BlSFleGl|HlIlXlYlZl[l\l]l^lbm-cmdnmenrfnulnwunvnwoLxoTyo\zoooopClibstorage-ng-python34.2.78lp152.2.15.1Python bindings for libstorage-ngThis package contains Python bindings for libstorage-ng.arcloud106cTdopenSUSE Leap 15.2openSUSEGPL-2.0-onlyhttp://bugs.opensuse.orgSystem/Librarieshttp://github.com/openSUSE/libstorage-nglinuxx86_64L\9acad6a1871cb5f64653d3ae702cab5a0005484228e1a88874525f4b7b60823b689b105314dcfb065be4c710bad370c9684d8db89b5aff0f0624cf379d5781d55306rootrootrootrootlibstorage-ng-4.2.78-lp152.2.15.1.src.rpmlibstorage-ng-python3libstorage-ng-python3(x86-64)@@@@@@@@@@@@@@@@@    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)libgcc_s.so.1()(64bit)libgcc_s.so.1(GCC_3.0)(64bit)libpython3.6m.so.1.0()(64bit)libstdc++.so.6()(64bit)libstdc++.so.6(CXXABI_1.3)(64bit)libstdc++.so.6(CXXABI_1.3.9)(64bit)libstdc++.so.6(GLIBCXX_3.4)(64bit)libstdc++.so.6(GLIBCXX_3.4.11)(64bit)libstdc++.so.6(GLIBCXX_3.4.21)(64bit)libstdc++.so.6(GLIBCXX_3.4.9)(64bit)libstorage-ng.so.1()(64bit)libstorage-ng1python(abi)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)4.2.783.63.0.4-14.6.0-14.0-15.2-14.14.1ac`^^@^^@^@^{G^{G^{G^ku^ku^`^Nt^M#@^M#@^J@^I.^B@^;^:@^:@^8 @^%@^!^ P@^^@^@^@^@^@^[^[^[^^^^@^r^,]f@]] @]+]+]]@]@]N@]]]@]߶]e@]]]@]]ƪ@]X]@]µ]µ]d@]]@]@]@]n]@]@]@]w@]v>]rJ@]p]o@]o@]o@]o@]o@]o@]o@]m@]bx@]_@]_@]W@]J@]@1@]>]:@]%@]#0@]@]]@]R]]^@] ] ] ] \@\@\]@\ \@\\@\9\@\@\\8\\\@\@\@\f\f\@\\r@\,@\C@\\\\\\\\\\\\\\\\\|\@\\\@\@\~d\w@\v{\s\s\mA@\mA@\j@\b@\ac\ac\\\Yz\U@\T4\R@\R@\Q\J@\HW@\E@\A\/J\2\U@\ @\\\@\@\&@[@[@[[=@[=@[=@[[[[[[[[H[H[_[_[@[[@[@[@[@[v[%@[@[ݍ[<@[ٙ@[ٙ@[ٙ@[ٙ@[ٙ@[ٙ@[@[@[^[ @[@[u[[[@[R@[R@[R@[][][@[t[#@[[@[@[E[Q@[Q@[@[@[\[\[[@[[9@[@[~[}P@[}P@[{[r@[qr[qr[qr[m~@[l,[l,[l,[j@[j@[j@[j@[j@[j@[j@[i[i[i[i[i[i[i[f[`O@[`O@[U@[L[H@[D[CN@[CN@[2*[*A['[[[@[@[@[@[@[)[)[)[)[)[)[)[)[)[)[)[5@[[@[W[@[c@[c@Z@Z@Z@ZnZnZnZnZnZnZnZnZZZZz@Zz@Zz@ZZ4@ZZZ@ZZK@ZZZ@Z@Z@Z@Zb@Zb@ZZZZZZ@ZmZ@Z@ZZZZZZZZZZy@Z'Z'Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z؄Z؄Z؄Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@Z3@ZZZԐ@ZԐ@ZԐ@ZJ@Z̧@Z̧@Za@ZZľ@ZlZlZZZ@ZI@ZZZ@ZZZZ`@ZZ@ZkZw@Z@Z@ZZ1@Z1@ZZZZH@ZH@ZH@Z@Z@ZSZ@Z@ZZZZ_@Z_@Z Z Z@ZZZv@Zv@Zv@Z$Z$Z@ZZ}@Z}@Z}@Z}@Z}@Z|;Z|;Z|;Zz@Zz@ZyZyZxG@ZxG@Zu@ZtRZtRZtRZtRZtRZs@Zs@ZqZqZqZp^@Zp^@Zp^@Zp^@Zp^@Zp^@Zp^@Zo Zm@Zk@Zk@Zk@Zk@Zk@ZiZiZiZiZiZiZiZiZiZiZiZiZiZhu@Zhu@Zhu@Zhu@Zhu@Zhu@Zg#Zg#Zg#Zg#Ze@Zc/@Zc/@ZaZ`@Z_:Z_:Z_:Z[F@ZTZTZOhZF.@Z@Y>@Y>@Y:Y:Y9<@Y6@Y6@Y6@Y5GY1S@Y0Y0Y.@Y-^Y%uY%uY"Y"Y@YY;@YR@YY]Y i@Y i@Y Y @Y @YtYtYtY.Y.Y@XXXX@X@XXQ@XX@X@X@X@XXX9@XDX@XۡXۡXP@XP@XXX @XӸXӸXXX@X@X@X@XXXX~@X~@X~@XCXXXf@XXXX@X@XX@XBXBX@X@XYX|@X@X|XwoX[@XOXF@XEVX<@X.@X-X&X@X=X=XXXI@X X @XX@X@Ww@W@W@WW@W@WW_@W_@W@Wv@WWW@W֘W^@Wu@WW@W@WQW@W@W@W@Wt@W9WE@W@W W@W@W~WW~D@W|Wv[@Wu Wu Ws@Wj}Wi,@Wi,@Wi,@WbWaC@W_W^@W^@WZWZWYZ@WYZ@WXWQq@WPWN@WM|WH6WDB@W#LW#LW!@W!@W!@W WW4W4W @VbVn@VV@V@V@VJVJV@V@V@VaV@V@V޾V޾V޾Vm@Vm@Vm@V'@VՄ@V2V2VVV͛@V͛@VIVVŲ@VŲ@VV<@V<@VVV@VVV@VzVy;@Vy;@VwVpVpVpVn@Vn@VhVf@VetVa@Va@V`.V\:@V\:@V\:@VV@VV@VUVTQ@VRVO @VMVMVLh@VKVKVI@VD@VD@VA@VA@VA@V@V@V@V(V'~@V V@V@V@V@V@V@VU/@UT@T@TTTTE@TE@TE@TTTTT@T@T@T@T!T@Tء@TԬTԬTԬTԬTԬTԬT[@T[@T[@T[@T[@T[@T[@T[@T T T T T T T T T T T T T T Tи@Tи@Tи@Tи@Tи@Tи@Tи@Tи@Tи@TfTfTfTfTfTfTfTr@Tr@Tr@Tr@Tr@Tr@T T T T T T T T@T@T@T@T@T@T@T}T}T}T}T}T}T,@T,@T,@T,@T,@T7T7T7T7T7T7T7T7T7T7T@T@T@T@T@T@T@TTTTT@T@T@T@T@T@TTTTTTTZ@TZ@TZ@TZ@TZ@TZ@TZ@TZ@TZ@TTTTTTTTTTT@T@T@T@T@T@T@T@T@T@TTTTTTTTq@Tq@Tq@Tq@Tq@TTTTTTTTTT|T|T@T@T@T@T@T@T@T@T@T@T@T@TMTMTMTMTMTMTMTMTMTMTMTY@TY@TTTTTTTTTp@Tp@Tp@Tp@TTT@T@T@TT@T@T@T@T@T5T5T5T5T5T5T5T5T5T5T5T5T5T5T5T5T5T@T@T@T@TTTTTT@T@T@T@T@T@T@T@T@TLTLTLTLTLTLTLT~@T~@T}T}T}T}T}T|X@T|X@T|X@TxcTxcTxcTw@Tw@TuTuTuTuTto@Tto@Tto@Tto@Tto@Tto@Tto@Tto@Tto@Tto@TsTl@Tl@Tk4Tk4Tg@@TJ?@TJ?@TJ?@TJ?@TJ?@TJ?@TJ?@THTHTHTHTHTHTHTHTG@TG@TG@TG@aschnell@suse.deaschnell@suse.deaschnell@suse.comaschnell@suse.comwfeldt@opensuse.orgwfeldt@opensuse.orgaschnell@suse.comwfeldt@opensuse.organcor@suse.dewfeldt@opensuse.orgwfeldt@opensuse.orgwfeldt@opensuse.orgjlopez@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comaschnell@suse.comaschnell@suse.comjlopez@suse.comaschnell@suse.comopensuse-packaging@opensuse.orgaschnell@suse.comopensuse-packaging@opensuse.orgjlopez@suse.comopensuse-packaging@opensuse.orgaschnell@suse.comopensuse-packaging@opensuse.orgfreek@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comjlopez@suse.comaschnell@suse.comjlopez@suse.comjlopez@suse.comaschnell@suse.comaschnell@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comjlopez@suse.comaschnell@suse.comaschnell@suse.comaschnell@suse.comaschnell@suse.comopensuse-packaging@opensuse.orgaschnell@suse.comaschnell@suse.comaschnell@suse.comopensuse-packaging@opensuse.orgaschnell@suse.comjlopez@suse.comancor@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comopensuse-packaging@opensuse.organcor@suse.deopensuse-packaging@opensuse.orgaschnell@suse.comaschnell@suse.comjlopez@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comaschnell@suse.comaschnell@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgfreek@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comaschnell@suse.comaschnell@suse.comopensuse-packaging@opensuse.orgwfeldt@opensuse.orgjlopez@suse.comopensuse-packaging@opensuse.organtoine.belvire@opensuse.orgmedwin@opensuse.orgaschnell@suse.comaschnell@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgfreek@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.comaschnell@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.dejlopez@suse.comjlopez@suse.comaschnell@suse.comweblate-noreply@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.comaschnell@suse.deaschnell@suse.delslezak@suse.czweblate-noreply@opensuse.orgaschnell@suse.comaschnell@suse.comaschnell@suse.comaschnell@suse.comaschnell@suse.comaschnell@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgweblate-noreply@opensuse.orgaschnell@suse.comopensuse-packaging@opensuse.orgsbrabec@suse.czschubi@suse.deaschnell@suse.comaschnell@suse.comaschnell@suse.comaschnell@suse.comaschnell@suse.comaschnell@suse.comaschnell@suse.comjreidinger@suse.czaschnell@suse.comopensuse-packaging@opensuse.orgaschnell@suse.comweblate-noreply@opensuse.orgopensuse-packaging@opensuse.orgweblate-noreply@opensuse.orgopensuse-packaging@opensuse.orgweblate-noreply@opensuse.orgaschnell@suse.comaschnell@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgschubi@suse.deweblate-noreply@opensuse.orgopensuse-packaging@opensuse.orgVojtech.Zeisek@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.organtoine.belvire@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgfreek@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comaschnell@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comaschnell@suse.comaschnell@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comVojtech.Zeisek@opensuse.organtoine.belvire@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgshundhammer@suse.deshundhammer@suse.deaschnell@suse.comaschnell@suse.comaschnell@suse.comshundhammer@suse.deaschnell@suse.comjreidinger@suse.czopensuse-packaging@opensuse.orgshundhammer@suse.defreek@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgjreidinger@suse.czaschnell@suse.comopensuse-packaging@opensuse.orgjreidinger@suse.czfreek@opensuse.orglslezak@suse.czopensuse-packaging@opensuse.orglslezak@suse.czopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comjreidinger@suse.czaschnell@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comaschnell@suse.comaschnell@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgwfeldt@opensuse.orgwfeldt@opensuse.orgjreidinger@suse.czschubi@suse.demvidner@suse.czopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgfreek@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.delslezak@suse.czopensuse-packaging@opensuse.orgaschnell@suse.dewfeldt@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.dewfeldt@opensuse.orgwfeldt@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.dejlopez@suse.comaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.organcor@suse.deopensuse-packaging@opensuse.orgjlopez@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgVojtech.Zeisek@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgfreek@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.dejlopez@suse.comaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgVojtech.Zeisek@opensuse.orgfreek@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deshundhammer@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deigonzalezsosa@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgfisiu@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgfreek@opensuse.orgopensuse-packaging@opensuse.orgfreek@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.organtoine.belvire@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgweblate-noreply@opensuse.orgwfeldt@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgfreek@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgfreek@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deancor@suse.deancor@suse.dejlopez@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deshundhammer@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.dejlopez@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deshundhammer@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deshundhammer@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.dewfeldt@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgshundhammer@suse.deaschnell@suse.deaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.comaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgmvidner@suse.czopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.comopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgwfeldt@opensuse.orgaschnell@suse.deshundhammer@suse.deaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.dejlopez@suse.comaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.dewfeldt@opensuse.orgaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deweblate-noreply@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deweblate-noreply@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgigonzalezsosa@suse.comopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgaschnell@suse.deigonzalezsosa@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deVojtech.Zeisek@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgfreek@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.delslezak@suse.czaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgshundhammer@suse.deopensuse-packaging@opensuse.orgaschnell@suse.comopensuse-packaging@opensuse.orgaschnell@suse.deopensuse-packaging@opensuse.orgfreek@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deshundhammer@suse.dewfeldt@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.dewfeldt@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.dejlopez@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.dejlopez@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.detchvatal@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.dejlopez@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.dejlopez@suse.comjlopez@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgshundhammer@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deshundhammer@suse.deaschnell@suse.deaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.dejlopez@suse.comshundhammer@suse.deaschnell@suse.deshundhammer@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.dejlopez@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.delslezak@suse.czaschnell@suse.deshundhammer@suse.deaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deshundhammer@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.dejsrain@suse.czaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.comancor@suse.deaschnell@suse.comaschnell@suse.comshundhammer@suse.deancor@suse.dewfeldt@opensuse.orgaschnell@suse.dewfeldt@opensuse.orgaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.deopensuse-packaging@opensuse.orgaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deancor@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deshundhammer@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.detgoettlicher@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deshundhammer@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.degs@suse.deshundhammer@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.demvidner@suse.czmvidner@suse.czaschnell@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.comaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.deaschnell@suse.de- prefer file system over empty MS-DOS partition table (bsc#1186823) - 4.2.78- remove double mount options (see bsc#1186298) - 4.2.77- merge gh#openSUSE/libstorage-ng#754 - added UsedFeature for NVMe disks (for bsc#1172866) - 4.2.76- merge gh#openSUSE/libstorage-ng#734 - merge gh#openSUSE/libstorage-ng#732 - merge gh#openSUSE/libstorage-ng#717 - merge gh#openSUSE/libstorage-ng#715 - track device block size when creating an Md RAID (bsc#1164295) - simplify combining disks with different block sizes into RAID (bsc#1164295) - add block_size check for Md::add_device() - update doc on RAID block size - ignore clusterd VGs also in vgchange command (bsc#1161775) - ignore umount/swapoff failure if it looks inactive already (bsc#1168615) - fixed typo - 4.2.75- merge gh#openSUSE/libstorage-ng#719 - document device block size handling (RAID, LVM, BTRFS) - document device block size handling (BCACHE) - clarify LV block size remark - 4.2.74- merge gh#openSUSE/libstorage-ng#720 - fix unit test - 4.2.73- merge gh#openSUSE/libstorage-ng#718 - allow control over environment variables - query number of partition slots from parted - respect number of partition slots reported by parted for GPT (bsc#1161783) - run travis with "--privileged" to avoid permissions error - 4.2.72- merge gh#openSUSE/libstorage-ng#714 - simplify combining disks with different block sizes into RAID (bsc#1164295) - Revert "add tests for adjust_block_size()" - Revert "add adjust_block_size() method to Region class (bsc#1164295)" - update doc - 4.2.71- merge gh#openSUSE/libstorage-ng#713 - Make BlkDevice::possible_mount_bys public (for bsc#1166096) - Increase minor so version - 4.2.70- merge gh#openSUSE/libstorage-ng#712 - update doc on RAID block size - 4.2.69- merge gh#openSUSE/libstorage-ng#711 - increase minor so version - 4.2.68- merge gh#openSUSE/libstorage-ng#709 - add adjust_block_size() method to Region class (bsc#1164295) - track device block size when creating an Md RAID (bsc#1164295) - add tests for adjust_block_size() - add block_size check for Md::add_device() - 4.2.67- merge gh#openSUSE/libstorage-ng#708 - merge gh#openSUSE/libstorage-ng#707 - Translated using Weblate (Finnish) (bsc#1149754) - Add option for ignoring clustered LVM - Update lib version - Ignore clustered LVM - Revert "Add option for ignoring clustered LVM" - Revert "Update lib version" - Revert "Translated using Weblate (Finnish)" (bsc#1149754) - Sync branches (SLE-15-SP1) - 4.2.66- Translated using Weblate (Spanish) (bsc#1149754) - 4.2.65- Translated using Weblate (Italian) (bsc#1149754) - 4.2.64- Translated using Weblate (French) (bsc#1149754)- Translated using Weblate (Chinese (Taiwan)) (bsc#1149754) - 4.2.63- Translated using Weblate (Chinese (China)) (bsc#1149754) - 4.2.62- merge gh#openSUSE/libstorage-ng#706 - added support for btrfs RAID1C{3,4} - increase minor so version - 4.2.61- merge gh#openSUSE/libstorage-ng#705 - fixed failure message - 4.2.60- merge gh#openSUSE/libstorage-ng#704 - added being and end function to ProbeCallbacks - extended documentation - 4.2.59- merge gh#openSUSE/libstorage-ng#703 - Remove OutputProcessor class- merge gh#openSUSE/libstorage-ng#702 - added callback for missing commands during probing - added unit tests - improved readability of defines for external commands - simplyfied code - fixed typo - added probing callback for missing commands - 4.2.58- Translated using Weblate (Portuguese (Brazil)) (bsc#1149754) - 4.2.57- merge gh#openSUSE/libstorage-ng#701 - check for existence of lvm vg before using it (bsc#1161191) - 4.2.56- Translated using Weblate (Finnish) (bsc#1149754) - 4.2.55- merge gh#openSUSE/libstorage-ng#700 - merge gh#openSUSE/libstorage-ng#699 - Unmount when mount point was active - Mount when mount point is active - Bump version - Add comments - Fix mount and unmount (forward port) - 4.2.54- Translated using Weblate (Slovak) (bsc#1149754) - 4.2.53- merge gh#openSUSE/libstorage-ng#698 - remove default option '-m crc=1' for mkfs.xfs - use udevadm from /usr/bin instead of /sbin (bsc#1160890) - 4.2.52- Translated using Weblate (German) (bsc#1149754) - 4.2.51- Translated using Weblate (Dutch) (bsc#1149754)- Translated using Weblate (Catalan) (bsc#1149754)- Translated using Weblate (Portuguese (Brazil)) (bsc#1149754) - 4.2.50- Translated using Weblate (Japanese) (bsc#1149754)- Translated using Weblate (Czech) (bsc#1149754)- merge gh#openSUSE/libstorage-ng#696 - updated pot and po files - 4.2.49- merge gh#openSUSE/libstorage-ng#697 - merge gh#openSUSE/libstorage-ng#693 - Translated using Weblate (Estonian) (bsc#1149754) - Translated using Weblate (Finnish) (bsc#1149754) - Add unit tests - Bump version - Ensure default to 0 for optional columns - Improve test - Revert "Translated using Weblate (Finnish)" (bsc#1149754) - Revert "Translated using Weblate (Estonian)" (bsc#1149754) - Allow optional fstab columns (merge SLE-15-SP1) - 4.2.48- merge gh#openSUSE/libstorage-ng#695 - added probing of BitLocker (bsc#1159318) - added unit test - fixed message - add minimal support for BitLocker - 4.2.47- merge gh#openSUSE/libstorage-ng#694 - Fix partition id when creating partition - Bump version - 4.2.46- merge gh#openSUSE/libstorage-ng#691 - Add method to get partition id name - Bump version - Add note - Partition Id names - 4.2.45- merge gh#openSUSE/libstorage-ng#692 - improved sort-key for block devices (for bsc#1140018) - extended documentation - 4.2.44- merge gh#openSUSE/libstorage-ng#690 - provide sort-key for device name (for bsc#1140018) - adapted utility programs to changes in networkx 2.4 - removed obsolete variable - 4.2.43- Translated using Weblate (Finnish) (bsc#1149754) - 4.2.42- Translated using Weblate (German) (bsc#1149754) - 4.2.41- merge gh#openSUSE/libstorage-ng#689 - use ranks in graphviz output to ease readability (bsc#1149154) - reduce test devicegraph to required information - 4.2.40- merge gh#openSUSE/libstorage-ng#688 - Add new callbacks for LUKS activation - Bump version - Add specialized Luks callbacks - 4.2.39- merge gh#openSUSE/libstorage-ng#687 - use correct size for btrfs resize command during shrink (bsc#1157762) - 4.2.38- merge gh#openSUSE/libstorage-ng#686 - extended some testcases to also check executed commands - merged testsuite/actions into testsuite/dependencies - added tests for shrinking btrfs - extended tests - extended and added testcases - 4.2.37- merge gh#openSUSE/libstorage-ng#685 - added testcases for growing btrfs - check that all command and file mockups are used - added testcases for growing and shrinking ext4 - added testcases for resizing filesystems - 4.2.36- merge gh#openSUSE/libstorage-ng#684 - list all devices in subvolume actions (bsc#1152523) - consistent list of block devices in compound actions - removed unneeded use of c_str - updated explanations for translators - show all block devices for action texts of btrfs subvolumes - 4.2.35- Translated using Weblate (Estonian) (bsc#1149754) - 4.2.34- merge gh#openSUSE/libstorage-ng#683 - extended unit test (bsc#1135341) - updated documentation (bsc#1149148) - added internal check - fixed typo - 4.2.33- merge gh#openSUSE/libstorage-ng#682 - merge gh#openSUSE/libstorage-ng#681 - Translated using Weblate (Danish) (bsc#1149754) - Translated using Weblate (Estonian) (bsc#1149754) - fixed handling of btrfs subvolumes with special (regex control) characters in the path (bsc#1135341) - 4.2.32- merge gh#openSUSE/libstorage-ng#680 - fixed escaping of graphviz escString (bsc#1157916) - 4.2.31- Translated using Weblate (Estonian) (bsc#1149754) - 4.2.30- merge gh#openSUSE/libstorage-ng#679 - use estimation from resize2fs for min size of ext4 (bsc#1149148) - use 64bit feature forr max size of ext4 - separated parser for ntfsresize output - added example programs - added unit tests - extended exception logging - cleanup - consistent naming of example programs - changed path of resize2fs to /usr/sbin - improved calculation of resize information - 4.2.29- merge gh#openSUSE/libstorage-ng#678 - Only join entries when path matches - Select the most reasonable mount point - Add unit tests - Update version - Bind mount workaround - 4.2.28- merge gh#openSUSE/libstorage-ng#677 - Make default mount_options public (needed for jsc#SLE-7687) - Bump version - Rename Mountable::Impl#get_default_mount_options - Split MountPoint#set_default_mount_options into pieces (needed for jsc#SLE-7687) - 4.2.27- Translated using Weblate (Estonian) (bsc#1149754) - 4.2.26- Translated using Weblate (Estonian) (bsc#1149754) - 4.2.25- Translated using Weblate (Estonian) (bsc#1149754) - 4.2.24- Translated using Weblate (Estonian) (bsc#1149754) - 4.2.23- Translated using Weblate (Estonian) (bsc#1149754) - 4.2.22- Translated using Weblate (Estonian) (bsc#1149754) - 4.2.21- Translated using Weblate (Estonian) (bsc#1149754) - 4.2.20- merge gh#openSUSE/libstorage-ng#676 - handle is_permanent() in possible_mount_bys() (bsc#1155566) - simplified code - 4.2.19- Translated using Weblate (Estonian) (bsc#1149754) - 4.2.18- merge gh#openSUSE/libstorage-ng#675 - Log messages about the mount_by fallback are just warnings (related to bsc#1151075) - 4.2.17- Translated using Weblate (Chinese (Taiwan)) (bsc#1149754) - 4.2.16- merge gh#openSUSE/libstorage-ng#674 - cache luks activation information (for bsc#1129496) - use password from LUKS activation for resize (bsc#1153871) - extended integration test - fixed typos - 4.2.15- merge gh#openSUSE/libstorage-ng#673 - parse cipher and key size in cryptsetup output - added cipher and key size to Encryption (for jsc#SLE-7376) - probe sector size for Encryption - extended documentation - added sanity check - coding style - added test case for paes cipher - handle cipher and key size for encryption - 4.2.14- merge gh#openSUSE/libstorage-ng#672 - Add open_options - Bump version - Extra options to open encryption - 4.2.13- Translated using Weblate (Danish) (bsc#1149754) - 4.2.12- Translated using Weblate (Catalan) (bsc#1149754) - 4.2.11- merge gh#openSUSE/libstorage-ng#671 - added integration test - 4.2.10- merge gh#openSUSE/libstorage-ng#670 - added notes - 4.2.9- merge gh#openSUSE/libstorage-ng#668 - removed unneeded code - cleanup integration tests - code cleanup - 4.2.8- Translated using Weblate (Japanese) - 4.2.7- Translated using Weblate (Slovak) - 4.2.6- Translated using Weblate (Portuguese (Brazil))- Translated using Weblate (Dutch)- Translated using Weblate (Czech)- merge gh#openSUSE/libstorage-ng#667 - update pot and po files - 4.2.5- merge gh#openSUSE/libstorage-ng#666 - added note - use dev_t to save major and minor numbers - improved unit test - coding style - consistent function name - added support for plain encryption (bsc#1088641) - added unit test - added integration tests - 4.2.4- merge gh#openSUSE/libstorage-ng#665 - extended documentation - 4.2.3- Translated using Weblate (Chinese (China)) - 4.2.2- merge gh#openSUSE/libstorage-ng#663 - update packaging documentation - 4.2.1- merge gh#openSUSE/libstorage-ng#662 - merge gh#openSUSE/libstorage-ng#661 - Adapt Dockerfile for SLE-15-SP1 - Translated using Weblate (Slovak) - Translated using Weblate (Catalan) - Translated using Weblate (Czech) - Translated using Weblate (Japanese) - Translated using Weblate (Arabic) - Translated using Weblate (Chinese (China)) - Translated using Weblate (Chinese (Taiwan)) - Translated using Weblate (Dutch) - Translated using Weblate (French) - Translated using Weblate (German) - Translated using Weblate (Hungarian) - Translated using Weblate (Italian) - Translated using Weblate (Korean) - Translated using Weblate (Polish) - Translated using Weblate (Russian) - Translated using Weblate (Spanish) - Translated using Weblate (Swedish) - Translated using Weblate (Portuguese (Brazil)) - Translated using Weblate (Finnish) - Fix dectection of surrounding region (bsc#1146686) - Bump lib version - Fix surrounding detection - Revert "Translated using Weblate (Catalan)" - Revert "Translated using Weblate (Finnish)" - Revert "Translated using Weblate (Dutch)" - Revert "Translated using Weblate (Portuguese (Brazil))" - Revert "Translated using Weblate (Swedish)" - Revert "Translated using Weblate (Spanish)" - Revert "Translated using Weblate (Russian)" - Revert "Translated using Weblate (Polish)" - Revert "Translated using Weblate (Korean)" - Revert "Translated using Weblate (Italian)" - Revert "Translated using Weblate (Hungarian)" - Revert "Translated using Weblate (German)" - Revert "Translated using Weblate (French)" - Revert "Translated using Weblate (Chinese (Taiwan))" - Revert "Translated using Weblate (Chinese (China))" - Revert "Translated using Weblate (Arabic)" - Revert "Translated using Weblate (Japanese)" - Revert "Translated using Weblate (Czech)" - Revert "Translated using Weblate (Slovak)" - Revert "Adapt Dockerfile for SLE-15-SP1" - Merge SLE-15-SP1 - 4.2.0- Translated using Weblate (Chinese (China)) - 4.1.145- Translated using Weblate (French) - 4.1.144- Translated using Weblate (Indonesian) - 4.1.143- merge gh#openSUSE/libstorage-ng#660 - added functions to query existance of holders - 4.1.142- merge gh#openSUSE/libstorage-ng#659 - added parser for 'cryptsetup luksDump' - added example - added support for LUKS2 - extended documentation - coding style - extended integration tests - fixed documentation - fixed typo - relaxed parser for whitespace changes - LUKS2 support - 4.1.141- merge gh#openSUSE/libstorage-ng#658 - probe zone model for disks - added unit test - avoid compiler warning - coding style - 4.1.140- merge gh#openSUSE/libstorage-ng#657 - extended documentation - 4.1.139- merge gh#openSUSE/libstorage-ng#656 - improve sorting of pmem devices - 4.1.138- Translated using Weblate (German) - 4.1.137- Translated using Weblate (Portuguese (Brazil)) - 4.1.136- Translated using Weblate (Chinese (China)) - 4.1.135- Translated using Weblate (Slovak) - 4.1.134- Translated using Weblate (Dutch) - 4.1.133- Translated using Weblate (Japanese) - 4.1.132- Translated using Weblate (Czech) - 4.1.131- Translated using Weblate (Catalan) - 4.1.130- merge gh#openSUSE/libstorage-ng#655 - allow to customize style of graphviz output - use new style api - added examples for style api usage - coding style - added unit test - 4.1.129- merge gh#openSUSE/libstorage-ng#654 - updated pot and po files - 4.1.128- merge gh#openSUSE/libstorage-ng#653 - improve filesystem related commit action messages - added unit test - added integration test - removed unneeded include statement- merge gh#openSUSE/libstorage-ng#652 - added unit test for LVM over MD - 4.1.127- merge gh#openSUSE/libstorage-ng#651 - extended fstab handling for multiple devices btrfs - added unit test - fixed documentation - 4.1.126- merge gh#openSUSE/libstorage-ng#650 - sort block devices when creating btrfs (needed in testsuite) - 4.1.125- merge gh#openSUSE/libstorage-ng#649 - use devid from devicegraph when resizing btrfs - extended integration test - added note - fix resizing btrfs on e.g. LVM - 4.1.124- merge gh#openSUSE/libstorage-ng#648 - allow to reuse commands and files in mockup files - read sub uuid in blkid output - updated devicegraphs - add id to FilesystemUser - removed obsolete setenv calls to enable multiple devices btrfs - work on btrfs multiple device support - 4.1.123- merge gh#openSUSE/libstorage-ng#647 - Enable multi-device Btrfs probing by default - Bump lib version - Enable multi-device Btrfs by default - 4.1.122- merge gh#openSUSE/libstorage-ng#646 - Initial changes - Rename auxiliary struct - Block shrink multi-device Btrfs - Adapt action text when growing multi-device Btrfs - Add integration test - Bump lib version - Resize multi-device Btrfs - 4.1.121- merge gh#openSUSE/libstorage-ng#645 - extended documentation - 4.1.120- Translated using Weblate (Dutch) - Translated using Weblate (Finnish) - 4.1.119- merge gh#openSUSE/libstorage-ng#644 - added unit test - added integration tests - removed unneeded virtual specifier - wait for block device - moved integration tests - added note - allow to add devices to existing btrfs (for jsd#SLE-3877) - 4.1.118- merge gh#openSUSE/libstorage-ng#643 - extended documentation - 4.1.117- merge gh#openSUSE/libstorage-ng#642 - added documentation about multiple devices btrfs - added example - 4.1.116- merge gh#openSUSE/libstorage-ng#641 - handle mixed mode in output of 'btrfs filesystem df' - 4.1.115- merge gh#openSUSE/libstorage-ng#640 - parse UUID in output of mkfs.btrfs - fixed exception message - 4.1.114- merge gh#openSUSE/libstorage-ng#639 - Use the Docker image from OBS - 4.1.113- Translated using Weblate (Indonesian) - 4.1.112- merge gh#openSUSE/libstorage-ng#638 - parse devid in output of 'btrfs filesystem show' - reuse predefined regex - 4.1.111- merge gh#openSUSE/libstorage-ng#637 - extended documentation - changed wording - 4.1.110- merge gh#openSUSE/libstorage-ng#636 - handle btrfs raid levels during create - added unit test - fixed typo - 4.1.109- merge gh#openSUSE/libstorage-ng#635 - handle multiple devices for btrfs subvolumes - 4.1.108- merge gh#openSUSE/libstorage-ng#634 - added parser for 'btrfs filesystem df' - probe btrfs with multiple devices - updated unit test - added unit test - added integration tests - extended documentation - added pre-check for btrfs - added checks for nullptr - renamed variable (that really ties the function together) - simplyfied interface - coding style and cleanup - work on btrfs with multiple devices - 4.1.107- merge gh#openSUSE/libstorage-ng#633 - make get_displayname available (to_s is overridden by use_ostream) - added unit tests - coding style - fixed class names - make get_displayname() available in ruby - 4.1.106- Translated using Weblate (Portuguese (Brazil)) - 4.1.105- Translated using Weblate (Swedish) - 4.1.104- Translated using Weblate (Spanish)- Translated using Weblate (Slovak)- Translated using Weblate (Russian)- Translated using Weblate (Polish)- Translated using Weblate (Korean)- Translated using Weblate (Italian)- Translated using Weblate (Hungarian)- Translated using Weblate (German)- Translated using Weblate (Dutch)- Translated using Weblate (Czech)- Translated using Weblate (Catalan)- Translated using Weblate (Arabic)- Translated using Weblate (Arabic)- Translated using Weblate (Arabic) - Translated using Weblate (Catalan) - Translated using Weblate (Chinese (China)) - Translated using Weblate (Chinese (Taiwan)) - Translated using Weblate (Czech) - Translated using Weblate (Dutch) - Translated using Weblate (French) - Translated using Weblate (German) - Translated using Weblate (Hungarian) - Translated using Weblate (Italian) - Translated using Weblate (Japanese) - Translated using Weblate (Korean) - Translated using Weblate (Polish) - Translated using Weblate (Portuguese (Brazil)) - Translated using Weblate (Russian) - Translated using Weblate (Slovak) - Translated using Weblate (Spanish) - Translated using Weblate (Swedish) - 4.1.103- merge gh#openSUSE/libstorage-ng#630 - fix compilation with -O0 - 4.1.102- Translated using Weblate (Slovak) - 4.1.101- Translated using Weblate (Galician) - Translated using Weblate (Portuguese (Brazil)) - Translated using Weblate (German) - Translated using Weblate (Polish) - 4.1.100- Unifying name Bcache/bcache to bcache (#629) - 4.1.99- merge gh#openSUSE/libstorage-ng#628 - handle topology for Partition and Luks - added unit test for bsc#1121129 - improved calculation of usable size for LVM PVs (bsc#1121129) - 4.1.98- merge gh#openSUSE/libstorage-ng#625 - moved topology from PartitionableImpl to BlkDeviceImpl - added get_sysfs_file to BlkDeviceImpl - use new get_sysfs_file - added save_to_string to XmlFile (for debugging) - read pe_start from pvs command - coding style - enable logging - added pe_start to LvmPvImpl - added get_usable_size() to LvmPv - added unit test for LvmPv::get_usable_size() - updated hyper link - added documentation - preparations for bsc#1121129 - 4.1.97- merge gh#openSUSE/libstorage-ng#621 - handle entries in crypttab whose block device do not exist (bsc#1123342) - added unit test - added documentation - added explanation - renamed variable - 4.1.96- merge gh#openSUSE/libstorage-ng#620 - extended documentation - 4.1.95- merge gh#openSUSE/libstorage-ng#619 - disable parted-sector-bug workaround on virtio-blk DASDs (bsc#1112037) - avoid empty nodes in mockup files - extended testsuite helper TsCmpActiongraph - added unit tests - throw exception based on Exception class - enable verbose output of checks during build - 4.1.94- merge gh#openSUSE/libstorage-ng#618 - updated pot and po files - 4.1.93- merge gh#openSUSE/libstorage-ng#617 - extended parser for lvs command - added function to join Texts - added unit tests - use callback to report unsupported logical volumes (bsc#1099744) - coding style - allow to ignore errors during in probe utility - consistent message style - added function to join names of block devices - improved messages for creating volume groups and mds - consistent naming style - use new join function in message about deleting filesystems - fixed typo - 4.1.92- merge gh#openSUSE/libstorage-ng#615 - Workaround upgrade with multiple mout points per block device (bsc#1118865) - 4.1.91- merge gh#openSUSE/libstorage-ng#616 - added debugging code - extended unit test - 4.1.90- merge gh#openSUSE/libstorage-ng#613 - Rename method - Add method for removing a bcache cset - Add actions to modify an existing bcache - Increase minor version - Fix error messages - Small fixes - Allow to modify Bcache devices - 4.1.89- merge gh#openSUSE/libstorage-ng#614 - detect DASDs using virtio-blk (bsc#1112037) - added unit test - avoid copying objects - 4.1.88- Translated using Weblate (Dutch) - Translated using Weblate (Slovak) - 4.1.87- merge gh#openSUSE/libstorage-ng#612 - Fix dead links to old libstorage in the documentation- Translated using Weblate (Catalan) - Translated using Weblate (Chinese (China)) - Translated using Weblate (Czech) - Translated using Weblate (Danish) - Translated using Weblate (Japanese) - Translated using Weblate (Russian) - Translated using Weblate (Slovak) - Translated using Weblate (Spanish) - 4.1.86- merge gh#openSUSE/libstorage-ng#611 - Remove setters for non-permanent stored values - Extend Bcache API with helper methods - Use bcache command - Increase minor version - 4.1.85- Translated using Weblate (Swedish) - Translated using Weblate (Chinese (Taiwan)) - Translated using Weblate (Arabic) - Translated using Weblate (Dutch) - Translated using Weblate (French) - Translated using Weblate (German) - Translated using Weblate (Hungarian) - Translated using Weblate (Korean) - Translated using Weblate (Polish) - Translated using Weblate (Russian) - 4.1.84- merge gh#openSUSE/libstorage-ng#610 - check for some storage signatures next to partition tables (bsc#1115807) - added unit test - increase patchlevel - updated pot and po files - 4.1.83- merge gh#openSUSE/libstorage-ng#609 - added roles to class MdadmDetail - probe devices order for MD RAIDs (bsc#1083542) - extended documentation - check for duplicate entries in mockup files - updated pot and po files - added callback recorder for probe callbacks - probe sort-key for device of MD RAIDs - 4.1.82- merge gh#openSUSE/libstorage-ng#608 - Throw better exceptions - 4.1.81- merge gh#openSUSE/libstorage-ng#607 - Add support for probing Flash-only bcache - Adapt testsuite - Add test for Flash-only bcache probing - CompoundAction: add helper method - Adapt bcache formatter - Add tests - Add bcache doc - Update lib version - Add support for flash-only bcache (with ABI compatibility) - 4.1.80- Translated using Weblate (Spanish) - 4.1.79- merge gh#openSUSE/libstorage-ng#606 - Evaluating correct block size for DASD devices. (Workaround for a parted bug). (bsc#1089554) - 4.1.78- Translated using Weblate (Indonesian) - Translated using Weblate (Spanish) - 4.1.77- merge gh#openSUSE/libstorage-ng#605 - merge gh#openSUSE/libstorage-ng#604 - Relax check for luks correctness bsc#1120070, bsc#1101870 - Unit tests for the fix of bsc#1120070, bsc#1101870 - Merge to master: Relax check for luks correctness bsc#1120070, bsc#1101870 - 4.1.76- Translated using Weblate (Czech) - 4.1.75- Translated using Weblate (Portuguese (Brazil)) - 4.1.74- merge gh#openSUSE/libstorage-ng#602 - merge gh#openSUSE/libstorage-ng#601 - merge gh#openSUSE/libstorage-ng#600 - merge gh#openSUSE/libstorage-ng#599 - use exceptions to handle errors - Create crypttab with proper permissions (bsc#1059972) - Create lock with proper permissions (bsc#1059972) - Create log file with proper permissions (bsc#1059972) - Add missing quoting (bsc#1059972) - Improvements from review - Backport: Fix audit issues - avoid thread unsafe strerror function - Backport: avoid thread unsafe strerror function - Merge SLE-15-GA - 4.1.73- Translated using Weblate (German) - 4.1.72- merge gh#openSUSE/libstorage-ng#598 - avoid thread unsafe strerror function - 4.1.71- merge gh#openSUSE/libstorage-ng#597 - Create crypttab with proper permissions (bsc#1059972) - Create lock with proper permissions (bsc#1059972) - Create log file with proper permissions (bsc#1059972) - Add missing quoting (bsc#1059972) - Improvements from review - Fix audit issues - 4.1.70- Translated using Weblate (Finnish) - 4.1.69- Translated using Weblate (Chinese (China)) - 4.1.68- Translated using Weblate (Spanish) - 4.1.67- Translated using Weblate (Italian) - 4.1.66- Translated using Weblate (Italian) - 4.1.65- Translated using Weblate (Slovak) - 4.1.64- Translated using Weblate (Slovak) - 4.1.63- Translated using Weblate (French) - 4.1.62- Translated using Weblate (Czech)- Translated using Weblate (Japanese) - 4.1.61- Translated using Weblate (Dutch) - 4.1.60- Translated using Weblate (Portuguese (Brazil)) - 4.1.59- Translated using Weblate (Catalan) - 4.1.58- merge gh#openSUSE/libstorage-ng#596 - updated pot and po files- merge gh#openSUSE/libstorage-ng#595 - improved sformat to be type safe and handle Text properly - properly translate partition type texts - properly translate devices size texts - removed now obsolete c_str calls - added comment for translators - reduce format warning level - fixed typo - 4.1.57- Translated using Weblate (Portuguese (Brazil))- Translated using Weblate (Italian) - 4.1.56- Translated using Weblate (Italian)- Translated using Weblate (German)- merge gh#openSUSE/libstorage-ng#594 - use exceptions to handle errors- merge gh#openSUSE/libstorage-ng#593 - added support to create udf (fate#312911) - added integration test - increased so patch number - handle block size in max_size for udf- merge gh#openSUSE/libstorage-ng#592 - added comments for translators- Translated using Weblate (Slovak)- Translated using Weblate (Slovak)- Translated using Weblate (Slovak)- Translated using Weblate (Slovak)- merge gh#openSUSE/libstorage-ng#591 - extended documentation- Translated using Weblate (Czech)- Translated using Weblate (French) - 4.1.55- Translated using Weblate (Chinese (China)) - 4.1.54- merge gh#openSUSE/libstorage-ng#589 - Add method Luks#get_uuid- Translated using Weblate (Czech)- Translated using Weblate (Japanese) - 4.1.53- Translated using Weblate (Italian) - 4.1.52- Translated using Weblate (Catalan) - 4.1.51- merge gh#openSUSE/libstorage-ng#588 - Regenerated potfiles - 4.1.50- merge gh#openSUSE/libstorage-ng#585 - Fixed broken autobuild environment - Support for StrayBlkDevices in CompoundActions (bsc#1085134) - Moved predicates to base class - New unit test for Bcache compound actions - Use new check from superclass - Removed unnecessary include - Support for Bcache in CompoundActions - First (incomplete) CompoundAction formatter for Bcache - Fixed broken English - Use inherited methods - Use actual output for translator examples - Use multiple lines, not one neverending line - First complete CompoundAction formatter for Bcache - First unit test for MD-RAID compound actions - Added CompoundActions formatter for MD-RAIDs - More test cases for MD-RAID - User sanity check - Coding style cleanup - Updated year in useless legalese - Added missing sformat parameter - Added missing parameter doc in translator comment - Fixed translator comments - Moved device list formatting out to separate common function - Use better comparision function - Use existing constants - New CompoundActions- merge gh#openSUSE/libstorage-ng#587 - extended documentation - ported check from snapper - minor improvements - 4.1.49- merge gh#openSUSE/libstorage-ng#586 - mark AUTHORS as %doc- merge gh#openSUSE/libstorage-ng#584 - mark LICENSE file as license - 4.1.48- merge gh#openSUSE/libstorage-ng#583 - Use predicates to make the code much better readable - Added missing return - Use speaking function names for getters - Moved methods to base class - Use predicates and speaking getters to make the code much better readable (bsc#1085134) - 4.1.47- merge gh#openSUSE/libstorage-ng#582 - make format of po files consistent with gettext - 4.1.46- merge gh#openSUSE/libstorage-ng#580 - add bcache attributes (fate#325346) - [RFC] add bcache attributes (fate#325346) - 4.1.45- Translated using Weblate (Chinese (China)) - 4.1.44- merge gh#openSUSE/libstorage-ng#581 - Added test case for weird UUID (bsc#1102572) - Whitespace - Fixed blkid output parser to honor escaped quotes (bsc#1102572) - Fixed blkid output parser to honor escaped quotes - 4.1.43- Translated using Weblate (Dutch) - 4.1.42- Translated using Weblate (Indonesian) - 4.1.41- Translated using Weblate (Indonesian)- merge gh#openSUSE/libstorage-ng#579 - Use for bcache cset as display name string "bcache cache" (fate#325346) - 4.1.40- merge gh#openSUSE/libstorage-ng#578 - use predefined constants - 4.1.39- Translated using Weblate (Russian) - 4.1.38- merge gh#openSUSE/libstorage-ng#577 - implement searching for free name for bcache (fate#325346) - 4.1.37- Translated using Weblate (Dutch) - 4.1.36- merge gh#openSUSE/libstorage-ng#576 - Added Travis ccache documentation - Added Travis ccache documentation and cache cleanup - 4.1.35- Translated using Weblate (Chinese (China)) - 4.1.34- merge gh#openSUSE/libstorage-ng#575 - Use ccache in Travis builds - Use ccache in Travis builds (up to 4x faster) - 4.1.33- merge gh#openSUSE/libstorage-ng#574 - Allow to set Md uuid for testing - 4.1.32- Translated using Weblate (Danish) - 4.1.31- merge gh#openSUSE/libstorage-ng#573 - extended documentation - 4.1.30- merge gh#openSUSE/libstorage-ng#572 - Allow bcache to have partitions (fate#325346) - Allow bcache to have partitions - 4.1.29- merge gh#openSUSE/libstorage-ng#571 - do not translate snapshot description (bsc#1092757) - updated pot und po files - 4.1.28- Translated using Weblate (German) - 4.1.27- Translated using Weblate (Portuguese (Brazil)) - 4.1.26- merge gh#openSUSE/libstorage-ng#570 - merge gh#openSUSE/libstorage-ng#569 - fixed variable scope to fix temporary mounting (bsc#1099144) - added unit test - 4.1.25- merge gh#openSUSE/libstorage-ng#568 - avoid setenv after fork (bsc#1107403) - added unit test - 4.1.24- merge gh#openSUSE/libstorage-ng#567 - added luks label to blkid parser - added unit test - 4.1.23- Translated using Weblate (Czech) - 4.1.22- merge gh#openSUSE/libstorage-ng#566 - merge branch SLE-15-GA - merge gh#openSUSE/libstorage-ng#554 - merge gh#openSUSE/libstorage-ng#565 - merge gh#openSUSE/libstorage-ng#560 - merge gh#openSUSE/libstorage-ng#564 - merge gh#openSUSE/libstorage-ng#562 - detect correctly whether a file system is currently mounted (bsc#1105227) - adjust multipath parser to accept nvme related output (bsc#1089353) - Added some class descriptions - MdLinks: make it work also when even /dev/md does not exist - Avoid exceptions for inactive RAIDs (bsc#1090010) - Fixed the existing tests - test inactive noncontainer - detect raid containers differently - Mark inactive RAID in the BlkDevice attribute - A common way to configure the indentation style - Inactive raid - Merge SLE-15-GA into master - 4.1.21- merge gh#openSUSE/libstorage-ng#560 - adjust multipath parser to accept nvme related output (bsc#1089353) - try to make multipath parser more robust - add unit tests - 4.1.20- merge gh#openSUSE/libstorage-ng#562 - detect correctly whether a file system is currently mounted (bsc#1105227) - add unit tests - add spaces - 4.1.19- merge gh#openSUSE/libstorage-ng#563 - do not crash when parsing docker devices (bsc#1104899) - 4.1.18- merge gh#openSUSE/libstorage-ng#561 - Changed licence to GPL-2.0-only. - 4.1.17- merge gh#openSUSE/libstorage-ng#548 - RAID: states of operation - RAID docs: nicer formatting for the older notes - autodocs: ignore Doxygen search data - Don't surprise myself. - 4.1.16- Translated using Weblate (Catalan) - 4.1.15- Translated using Weblate (Czech) - 4.1.14- Translated using Weblate (Chinese (Taiwan)) - 4.1.13- Translated using Weblate (Italian) - 4.1.12- Translated using Weblate (Slovak) - 4.1.11- Translated using Weblate (Dutch) - 4.1.10- Translated using Weblate (Slovak) - 4.1.9- Translated using Weblate (Japanese) - 4.1.8- Translated using Weblate (Slovak)- updated pot and po files- changed pretty name- added documentation- Translated using Weblate (Japanese)- Translated using Weblate (Czech)- merge branch master - Translated using Weblate (German)- merge gh#openSUSE/libstorage-ng#558 - updated pot and po files - 4.1.7- Translated using Weblate (Japanese) - 4.1.6- extended NameSchema class - added StrayBlkDevice class (bsc#1085134) - extended unit tests - added unit test for probing xen xvd devices - cleanup - updated pot and po files - extended documentation - 4.1.5- merge gh#openSUSE/libstorage-ng#557 - Update the "build_dependencies:*" tasks to read the alternative spec file - README.md: libjson-c-devel is needed as well - Added pkgconfig check for the libjson-c library - Do not crash when displaying summary for an encrypted but not mounted disk (bsc#1099181) - Added unit test - Fixed a typo- Translated using Weblate (German) - 4.1.4- merge gh#openSUSE/libstorage-ng#555 - fix build with glibc 2.28 - 4.1.3- merge gh#openSUSE/libstorage-ng#556 - update git2log script to latest version - 4.1.2- Translated using Weblate (Chinese (China)) - 4.1.1- added special handling when creating udev ids starting with dm-uuid for partitions on multipath (bsc#1099394) - use strlen- merge gh#openSUSE/libstorage-ng#550 - document package version scheme- merge gh#openSUSE/libstorage-ng#546 - document package version scheme - 4.1.0- merge gh#openSUSE/libstorage-ng#545 - added document for limits - 3.3.317- merge gh#openSUSE/libstorage-ng#544 - work on creating and deleting bcaches - updated swig catches - added unit tests - added integration tests - reuse code - cleanup - 3.3.316- merge gh#openSUSE/libstorage-ng#543 - use sysfs path in find_by_any_name() - 3.3.315- merge gh#openSUSE/libstorage-ng#542 - added support for f2fs (fate#325755) - added integration test - removed unused code - removed obsolete documentation - 3.3.314- merge gh#openSUSE/libstorage-ng#541 - handle Intel Rapid Start Technology Partition ID (fate#325885) - extended documentation - coding style - 3.3.313- merge gh#openSUSE/libstorage-ng#540 - do not use deprecated header file - coding style - 3.3.312- merge gh#openSUSE/libstorage-ng#539 - handle device type attribute of udevadm info output - removed unused and obsolete file - do not try to activate LUKS on devices used by multipath (bsc#1089699) - improved explanation - 3.3.311- merge gh#openSUSE/libstorage-ng#538 - Add method BlkDevice#is_active - 3.3.310- merge gh#openSUSE/libstorage-ng#537 - updated unit test - extended unit test - fixed exception logging - 3.3.309- Translated using Weblate (Indonesian) - 3.3.308- Translated using Weblate (Russian) - 3.3.307- Translated using Weblate (French) - 3.3.306- merge gh#openSUSE/libstorage-ng#536 - Expose Device#devicegraph (needed for bsc#1094157) - Encryption#set_dm_table_name adjusts #name (for bsc#1094157 and bsc#1094963) - Code improvement from code review - More code improvements from code review - 3.3.305- Translated using Weblate (Chinese (Taiwan))- merge gh#openSUSE/libstorage-ng#535 - Return better exception (related to bsc#1094963) - Fix project name- Translated using Weblate (Portuguese (Brazil))- Translated using Weblate (Spanish)- Translated using Weblate (Slovak) - 3.3.304- Translated using Weblate (Czech) - 3.3.303- Translated using Weblate (Italian) - 3.3.302- Translated using Weblate (Catalan) - 3.3.301- Translated using Weblate (Dutch) - 3.3.300- merge gh#openSUSE/libstorage-ng#534 - handle exception (see bsc#1073633) - 3.3.299- Translated using Weblate (Japanese) - 3.3.298- merge gh#openSUSE/libstorage-ng#533 - merged po files - 3.3.297- merge gh#openSUSE/libstorage-ng#532 - improved error handling during probing partitions (see bsc#1095168) - 3.3.296- Translated using Weblate (Italian) - 3.3.295- Translated using Weblate (Russian) - 3.3.294- Translated using Weblate (Slovak) - 3.3.293- Translated using Weblate (Slovak) - 3.3.292- Translated using Weblate (Spanish) - 3.3.291- Translated using Weblate (Chinese (Taiwan)) - 3.3.290- Translated using Weblate (Chinese (Taiwan)) - 3.3.289- merge gh#openSUSE/libstorage-ng#531 - added helper functions - place repair action before partition actions - insert action to repair GPTs if needed (bsc#1092193) - added unit test - 3.3.288- merge gh#openSUSE/libstorage-ng#530 - Add conflict with old libdmraid (bsc#1088570) - 3.3.287- merge gh#openSUSE/libstorage-ng#529 - fix probing of certain nvme systems (bsc#1093684) - 3.3.286- Translated using Weblate (Portuguese (Brazil)) - 3.3.285- Translated using Weblate (French) - 3.3.284- Translated using Weblate (Italian) - 3.3.283- Translated using Weblate (Czech) - 3.3.282- Translated using Weblate (Dutch) - 3.3.281- Translated using Weblate (Japanese) - 3.3.280- Translated using Weblate (Catalan) - 3.3.279- merge gh#openSUSE/libstorage-ng#528 - added action to fix undersized GPT - updated pot file - merged po files - 3.3.278- merge gh#openSUSE/libstorage-ng#527 - Use stricter NTFS max label size (bsc#1084867) - 3.3.277- Translated using Weblate (Hungarian) - 3.3.276- merge gh#openSUSE/libstorage-ng#526 - improved error message (see bsc#1089554) - 3.3.275- merge gh#openSUSE/libstorage-ng#525 - Fix lt translation - 3.3.274- Translated using Weblate (Chinese (Taiwan))- Translated using Weblate (Korean)- Translated using Weblate (Chinese (China))- Translated using Weblate (Lithuanian) - 3.3.273- Translated using Weblate (Polish) - 3.3.272- Translated using Weblate (Slovak) - 3.3.271- Translated using Weblate (Greek) - 3.3.270- Translated using Weblate (German) - 3.3.269- Translated using Weblate (French) - 3.3.268- Translated using Weblate (Portuguese (Brazil)) - 3.3.267- merge gh#openSUSE/libstorage-ng#524 - fixed probing of NTFS (in special cases) (bsc#1091585) - added unit test - 3.3.266- Translated using Weblate (Catalan) - 3.3.265- Translated using Weblate (Catalan) - 3.3.264- Translated using Weblate (Slovak) - 3.3.263- Translated using Weblate (Italian) - 3.3.262- Translated using Weblate (Spanish) - 3.3.261- Translated using Weblate (Spanish) - 3.3.260- Translated using Weblate (Czech) - 3.3.259- Translated using Weblate (Dutch) - 3.3.258- Translated using Weblate (Japanese) - 3.3.257- Translated using Weblate (Dutch) - 3.3.256- merge gh#openSUSE/libstorage-ng#523 - merged po files - 3.3.255- merge gh#openSUSE/libstorage-ng#522 - centralized reading /sys/block - added function light_probe (for bsc#1090753) - added integration test - 3.3.254- merge gh#openSUSE/libstorage-ng#521 - added stand-alone functions to read fstab and crypttab - added integration tests - removed unneeded include - 3.3.253- Translated using Weblate (Portuguese (Brazil)) - 3.3.252- Translated using Weblate (Swedish) - 3.3.251- Translated using Weblate (Swedish) - 3.3.250- merge gh#openSUSE/libstorage-ng#520 - fixed probing of active flag (bsc#1090520) - improved error handling - 3.3.249- Translated using Weblate (Polish) - 3.3.248- Translated using Weblate (Russian) - 3.3.247- Translated using Weblate (German) - 3.3.246- Translated using Weblate (French) - 3.3.245- Translated using Weblate (French) - 3.3.244- Translated using Weblate (Chinese (Taiwan))- Translated using Weblate (Chinese (China))- Translated using Weblate (Russian) - 3.3.243- Translated using Weblate (German) - 3.3.242- Translated using Weblate (German) - 3.3.241- Translated using Weblate (French) - 3.3.240- Translated using Weblate (French) - 3.3.239- merge gh#openSUSE/libstorage-ng#518 - added function to query allowed MD parities (see bsc#1090182) - 3.3.238- Translated using Weblate (French)- 3.3.237- merge gh#openSUSE/libstorage-ng#519 - update git2log script to avoid identical timestamps in changelog - 3.3.236- Translated using Weblate (Chinese (China))- Translated using Weblate (Chinese (Taiwan)) - 3.3.235- Translated using Weblate (Dutch) - 3.3.234- Translated using Weblate (Korean) - 3.3.233- Translated using Weblate (German) - 3.3.232- Translated using Weblate (Swedish) - 3.3.231- Translated using Weblate (Czech) - 3.3.230- Translated using Weblate (Hungarian) - 3.3.229- Translated using Weblate (Japanese) - 3.3.228- Translated using Weblate (Hungarian) - 3.3.227- Translated using Weblate (Italian)- Translated using Weblate (German) - 3.3.226- Translated using Weblate (Catalan) - 3.3.225- Translated using Weblate (Catalan) - 3.3.224- Translated using Weblate (Czech) - 3.3.223- Translated using Weblate (Spanish) - 3.3.222- Translated using Weblate (Swedish) - 3.3.221- Translated using Weblate (Japanese) - 3.3.220- Translated using Weblate (Arabic) - 3.3.219- Translated using Weblate (Dutch) - 3.3.218- Translated using Weblate (Czech) - 3.3.217- merge gh#openSUSE/libstorage-ng#517 - updated documentation - merged po files (bsc#1089902) - 3.3.216- merge gh#openSUSE/libstorage-ng#516 - fix unused partition slots calculation for logical partitions (bsc#1088483) - added unit test - 3.3.215- merge gh#openSUSE/libstorage-ng#515 - use correct options for multipath (see bsc#1089353) - 3.3.214- merge gh#openSUSE/libstorage-ng#514 - added unit test - 3.3.213- merge gh#openSUSE/libstorage-ng#513 - keep exception type (bsc#1088570) - 3.3.212- merge gh#openSUSE/libstorage-ng#512 - handle new mount type variable also in equal, print, ... - 3.3.211- merge gh#openSUSE/libstorage-ng#511 - Add MountPoint#mount_type to XML format (follow up on bsc#1088426) - 3.3.210- merge gh#openSUSE/libstorage-ng#510 - Expose the vfstype field from fstab (bsc#1088426) - 3.3.209- merge gh#openSUSE/libstorage-ng#509 - Force acceptance of SR (fate#318196) - 3.3.208- merge gh#openSUSE/libstorage-ng#508 - added helper function - support lock within same process - 3.3.207- merge gh#openSUSE/libstorage-ng#507 - added function to set freq and passno - removed unneeded const - added documentation - 3.3.206- merge gh#openSUSE/libstorage-ng#506 - added minix to enum of filesystem types - 3.3.205- merge gh#openSUSE/libstorage-ng#505 - enable system-wide lock - 3.3.204- merge gh#openSUSE/libstorage-ng#504 - handle pid_t in bindings - extended integration test - 3.3.203- merge gh#openSUSE/libstorage-ng#503 - only insert resize action for devices existing in LHS and RHS (bsc#1085523) - added action dependency - added unit tests - fixed typo - added documentation - 3.3.202- merge gh#openSUSE/libstorage-ng#502 - Simplified supplements for lang subpkg (bsc#1081454) - 3.3.201- merge gh#openSUSE/libstorage-ng#501 - make LockException available in API - 3.3.200- merge gh#openSUSE/libstorage-ng#500 - extended documentation - 3.3.199- merge gh#openSUSE/libstorage-ng#499 - provide reasons why resize is not possible - added unit tests - added integration tests - use more common notation - 3.3.198- merge gh#openSUSE/libstorage-ng#498 - added workaround for cryptsetup exit code regression (see bsc#1082640) - added convenience function - 3.3.197- merge gh#openSUSE/libstorage-ng#497 - Enable exception - 3.3.196- merge gh#openSUSE/libstorage-ng#496 - do not recognize 0x1f as extended partition - 3.3.195- merge gh#openSUSE/libstorage-ng#495 - recognize 0x85 as extended partition - 3.3.194- merge gh#openSUSE/libstorage-ng#494 - moved enum to storage namespace - added integration test - use mdadm to delete MD RAID (see bsc#1085470) - 3.3.193- merge gh#openSUSE/libstorage-ng#493 - export more functions in API - 3.3.192- merge gh#openSUSE/libstorage-ng#492 - handle erroneous small disks in get_unused_partition_slots() (bsc#1084777) - added unit tests - added note - 3.3.191- merge gh#openSUSE/libstorage-ng#491 - added functions to copy devices and holders between devicegraphs - 3.3.190- merge gh#openSUSE/libstorage-ng#489 - allow to remove partial volume group (bsc#955870) - updated pot file - added integration test - fixed typo - added convenience function - removed unused function - coding style - handle udev encoding for label in fstab and crypttab - removed unused define - added define by /dev/disk paths - use new defines - simplyfied code - coding style - 3.3.189- merge gh#openSUSE/libstorage-ng#488 - avoid compiler warnings - removed unused capture - improved check function - moved CheckCallbacksRecorder class - extended unit test - propagate force_rw flag (bsc#1079000) - updated documentation - 3.3.188- merge gh#openSUSE/libstorage-ng#487 - handle duplicate LVM PVs during probe - cleanup - added unit test - 3.3.187- merge gh#openSUSE/libstorage-ng#486 - split large function - probe LUKS later - do not probe LUKS on devices used by multipath (bsc#1079817) - added unit test - fixed typo - 3.3.186- merge gh#openSUSE/libstorage-ng#485 - added unit test - 3.3.185- merge gh#openSUSE/libstorage-ng#484 - added unit test - coding style - 3.3.184- merge gh#openSUSE/libstorage-ng#483 - added note - improved logging - try to delete directory before creating btrfs subvolume - handle change of path in mount point - added integration test - handle missing attribute for pvs - do not search for block device of missing pvs - improved exception handling - improved example - fixed log message - 3.3.183- merge gh#openSUSE/libstorage-ng#482 - added check for existence of devicegraphs - 3.3.182- merge gh#openSUSE/libstorage-ng#481 - always allow to activate multipath (see bsc#1082542) - 3.3.181- merge gh#openSUSE/libstorage-ng#480 - log time in several formats to ease debugging - 3.3.180- merge gh#openSUSE/libstorage-ng#479 - recalculate size of volume group when setting extent size (bsc#1079579) - added unit tests - coding style - added documentation - 3.3.179- merge gh#openSUSE/libstorage-ng#478 - generate dot files with more information - 3.3.178- merge gh#openSUSE/libstorage-ng#477 - added callbacks to handle errors during activation (bsc#1057426 and others) - updated pot file - improved integration test - 3.3.177- Translated using Weblate (Swedish) - 3.3.176- Translated using Weblate (Swedish) - 3.3.175- Translated using Weblate (Swedish) - 3.3.174- merge gh#openSUSE/libstorage-ng#476 - improved integration tests - added documentation - 3.3.173- Translated using Weblate (Ukrainian)- Translated using Weblate (Finnish) - 3.3.172- merge gh#openSUSE/libstorage-ng#475 - allow SystemCmd to verify program exit code - added base class for callbacks - added callbacks for probing (bsc#1070459 and many others) - use callbacks base class - use new verify feature of SystemCmd - improved error handling - work on handling errors during probe - updated pot file - use callbacks base class - coding style - extended documentation - 3.3.171- merge gh#openSUSE/libstorage-ng#474 - fixed device existence check (bsc#1082143) - 3.3.170- merge gh#openSUSE/libstorage-ng#473 - Default to GPT for creating partition tables (fate#323457) - 3.3.169- merge gh#openSUSE/libstorage-ng#472 - insert mount and unmount actions for resize - added unit tests - 3.3.168- merge gh#openSUSE/libstorage-ng#471 - fixed parsing /proc/mounts for ntfs - fixed error handling when ntfsresize fails - 3.3.167- merge gh#openSUSE/libstorage-ng#470 - consistent names - remove duplicate actions - added helper functions - fixed integration test - adjust existing unit test to so far supported setup - coding style - renamed function to reflect recent changes - 3.3.166- merge gh#openSUSE/libstorage-ng#469 - added possible_mount_bys() - 3.3.165- merge gh#openSUSE/libstorage-ng#468 - use parted with --ignore-busy (see bsc#1058667) - added convenience functions - 3.3.164- merge gh#openSUSE/libstorage-ng#467 - cleanup - added integration test - added jfs support (boo#1078552) - 3.3.163- merge gh#openSUSE/libstorage-ng#466 - improve ruby bindings - 3.3.162- merge gh#openSUSE/libstorage-ng#465 - extended is_usable_as_blk_device() - 3.3.161- merge gh#openSUSE/libstorage-ng#464 - use system devicegraph during probe- merge gh#openSUSE/libstorage-ng#463 - added function is_usable_as_blk_device() - added function is_usable_as_partitionable() - 3.3.160- merge gh#openSUSE/libstorage-ng#462 - added function to immediately activate/deactivate mount point - added documentation - code cleanup - 3.3.159- merge gh#openSUSE/libstorage-ng#461 - work on error handling - added documentation - coding style - extended test case - 3.3.158- merge gh#openSUSE/libstorage-ng#460 - Removed unit tests that clash with new glibc number formatting (bsc#1079855) - 3.3.157- merge gh#openSUSE/libstorage-ng#459 - extended unit tests - added and improved math functions - do not rely on 80-bit floats (bsc#1078997) - added unit test - added note - 3.3.156- merge gh#openSUSE/libstorage-ng#458 - removed deprecated functions - updated unit test - 3.3.155- merge gh#openSUSE/libstorage-ng#457 - improved error logging - 3.3.154- merge gh#openSUSE/libstorage-ng#454 - allow to set ssh port - 3.3.153- merge gh#openSUSE/libstorage-ng#456 - fetch the full history in travis so the log can be generated correctly - 3.3.152- Translated using Weblate (Dutch) - 3.3.151- merge gh#openSUSE/libstorage-ng#453 - added parser for stat - ignore disks without node in /dev (bsc#1076971) - coding style - 3.3.150- Translated using Weblate (Dutch)- merge gh#openSUSE/libstorage-ng#450 - Ensure not to write malformed /etc/fstab entries (bsc#1066763) - 3.3.149- merge gh#openSUSE/libstorage-ng#451 - work on error handling - 3.3.148- merge gh#openSUSE/libstorage-ng#449 - fixed default value - 3.3.147- merge gh#openSUSE/libstorage-ng#448 - Add GraphvizFlags::DISPLAYNAME to Devicegraph- merge gh#openSUSE/libstorage-ng#447 - allow finer control of flags in write_graphviz- merge gh#openSUSE/libstorage-ng#446 - use sid as vertex id- Translated using Weblate (Hungarian)- Translated using Weblate (Hungarian)- Translated using Weblate (Afrikaans)- merge gh#openSUSE/libstorage-ng#444 - added Mountable::remove_mount_point()- merge gh#openSUSE/libstorage-ng#443 - added PRETTY_CLASSNAME to GraphvizFlags- Translated using Weblate (Chinese (Taiwan))- merge gh#openSUSE/libstorage-ng#442 - renamed integration tests - added integration tests- Translated using Weblate (Chinese (Taiwan))- merge gh#openSUSE/libstorage-ng#441 - added integration test - added udevadm settle call- Translated using Weblate (Korean)- Translated using Weblate (Korean)- Translated using Weblate (Arabic)- Translated using Weblate (Arabic) - 3.3.146- merge gh#openSUSE/libstorage-ng#439 - start rpcbind before doing NFS mounts - cleanup - added integration-test - 3.3.145- Translated using Weblate (Arabic)- merge gh#openSUSE/libstorage-ng#438 - extended documentation - 3.3.144- merge gh#openSUSE/libstorage-ng#437 - distinguish between mounted and unmounted in supports_shrink/grow - 3.3.143- Translated using Weblate (Korean)- Fixed an Arabic format string typo - 3.3.142- Translated using Weblate (Arabic) - 3.3.141- merge gh#openSUSE/libstorage-ng#436 - added sanity check - propagate exception to ruby - 3.3.140- merge gh#openSUSE/libstorage-ng#435 - propagate exception to ruby - 3.3.139- Translated using Weblate (Slovak) - 3.3.138- Translated using Weblate (Slovak)- Translated using Weblate (Slovak) - 3.3.137- Translated using Weblate (Spanish) - 3.3.136- Translated using Weblate (Polish) - 3.3.135- Translated using Weblate (Polish) - 3.3.134- Translated using Weblate (Slovak) - 3.3.133- Translated using Weblate (Slovak)- Translated using Weblate (Slovak) - 3.3.132- Translated using Weblate (Slovak) - 3.3.131- Translated using Weblate (Slovak) - 3.3.130- Translated using Weblate (Slovak) - 3.3.129- Translated using Weblate (Slovak)- Translated using Weblate (Slovak)- Translated using Weblate (Slovak) - 3.3.128- Translated using Weblate (Slovak) - 3.3.127- Translated using Weblate (Slovak) - 3.3.126- Translated using Weblate (Slovak)- Translated using Weblate (Slovak) - 3.3.125- merge gh#openSUSE/libstorage-ng#431 - Update libstorage-ng.spec.in - 3.3.124- merge gh#openSUSE/libstorage-ng#434 - find crypttab entries by correct block device - coding style - removed unused parameters- Translated using Weblate (German) - 3.3.123- merge gh#openSUSE/libstorage-ng#433 - added helper function - improved probing of LUKs - added unit test - allow to find unused mockups - removed unused mockups - use name from crypttab when activating LUKS - allow to include more information in graphviz output - removed unused parser - 3.3.122- Translated using Weblate (German) - 3.3.121- Translated using Weblate (Slovak) - 3.3.120- Translated using Weblate (German) - 3.3.119- merge gh#openSUSE/libstorage-ng#432 - updated - 3.3.118- merge gh#openSUSE/libstorage-ng#430 - Revert "Add libstorage-ng-lang Recommends" - 3.3.117- merge gh#openSUSE/libstorage-ng#429 - Add libstorage-ng-lang Recommends - 3.3.116- merge gh#openSUSE/libstorage-ng#428 - use /etc/fstab and /proc/mounts for probing NFS - added NFS unit test - 3.3.115- merge gh#openSUSE/libstorage-ng#427 - extended integration test - 3.3.114- merge gh#openSUSE/libstorage-ng#426 - fixed alignment calculations - added unit test - 3.3.113- merge gh#openSUSE/libstorage-ng#425 - added new align policy KEEP_START_ALIGN_END - updated unit tests - updated integration tests - 3.3.112- merge gh#openSUSE/libstorage-ng#424 - propagate exception - 3.3.111- Translated using Weblate (Chinese (China)) - 3.3.110- merge gh#openSUSE/libstorage-ng#423 - updated documentation - extended documentation - extended integration test - added convenience functions - updated catches file - added convert function - added integration test - 3.3.109- merge gh#openSUSE/libstorage-ng#422 - added check for active flag - coding style - 3.3.108- Translated using Weblate (Italian) - 3.3.107- Translated using Weblate (German) - 3.3.106- merge gh#openSUSE/libstorage-ng#421 - avoid use of cerr - updated exceptions - coding style - avoid use of cout - 3.3.105- Translated using Weblate (Italian) - 3.3.104- merge gh#openSUSE/libstorage-ng#420 - remove LIBVERSION_MAJOR macro from spec.in - 3.3.103- merge gh#openSUSE/libstorage-ng#418 - check divisor prior to modulo operation - avoid throw in destructor - 3.3.102- merge gh#openSUSE/libstorage-ng#419 - Leave enough space even for 'reiserfs' - 3.3.101- merge gh#openSUSE/libstorage-ng#416 - added obsoletes (bsc#1073645) - removed very old obsoletes - 3.3.100- merge gh#openSUSE/libstorage-ng#417 - Explain why virtio udev links are filtered out- merge gh#openSUSE/libstorage-ng#415 - fixed print call - 3.3.99- merge gh#openSUSE/libstorage-ng#414 - renamed functions - provide find_by_any_name in API (bsc#1073254) - updated catches file - added integration test - 3.3.98- merge gh#openSUSE/libstorage-ng#413 - disable vfat resize since support from utilility is unclear (see bsc#1072479) - 3.3.97- merge gh#openSUSE/libstorage-ng#412 - switch to python 3 - 3.3.96- merge gh#openSUSE/libstorage-ng#410 - added helper function - added helper class - added function to compare by subvolume id - probe active flag for BtrfsSubvolume - 3.3.95- merge gh#openSUSE/libstorage-ng#409 - also renumber extended partitions - 3.3.94- merge gh#openSUSE/libstorage-ng#408 - renumber primary partitions (bsc#1072656) - added unit test - 3.3.93- merge gh#openSUSE/libstorage-ng#406 - removed sorting of results - 3.3.92- merge gh#openSUSE/libstorage-ng#407 - Install libboost_test - 3.3.91- merge gh#openSUSE/libstorage-ng#405 - handle active flag - provide more generic function - coding style - set active flag for blk filesystems - fixed subvolid regex - added log message - 3.3.90- Translated using Weblate (Italian) - 3.3.89- Translated using Weblate (Italian) - 3.3.88- merge gh#openSUSE/libstorage-ng#404 - fixed documentation - 3.3.87- Translated using Weblate (Czech) - 3.3.86- merge gh#openSUSE/libstorage-ng#403 - use print as a function - update examples - 3.3.85- Translated using Weblate (Czech) - 3.3.84- merge gh#openSUSE/libstorage-ng#402 - improved error message - 3.3.83- Translated using Weblate (Ukrainian) - 3.3.82- merge gh#openSUSE/libstorage-ng#401 - package some utils - cleanup - 3.3.81- merge gh#openSUSE/libstorage-ng#400 - added helper functions - sort devices using a sort key - added unit tests - remove sorting - increased library version - fixed usage text - avoid endl - extended documentation - 3.3.80- merge gh#openSUSE/libstorage-ng#399 - increase log line limit - fixed output format - 3.3.79- merge gh#openSUSE/libstorage-ng#398 - coding style - omit pointers - 3.3.78- merge gh#openSUSE/libstorage-ng#397 - handle improved parted output (bsc#1066467) - coding style - 3.3.77- merge gh#openSUSE/libstorage-ng#396 - make PartitionTable::is_partition_id_supported() public - 3.3.76- merge gh#openSUSE/libstorage-ng#395 - removed unused variable- merge gh#openSUSE/libstorage-ng#394 - Don't sort disks and dasds by default- merge gh#openSUSE/libstorage-ng#393 - added unit test - 3.3.75- merge gh#openSUSE/libstorage-ng#392 - added function to get mount_by method - remove "none" from crypt options - get mount-by method from crypttab - added crypt_options to Encryption class - improved unit test - coding style - coding style - 3.3.74- merge gh#openSUSE/libstorage-ng#391 - added logging - 3.3.73- 3.3.72- merge gh#openSUSE/libstorage-ng#390 - do not rely on sorting - added compare by sid function - 3.3.71- merge gh#openSUSE/libstorage-ng#389 - added mount-by variable for encryption - extended documentation - use get_mount_by_name for luks - coding style - added logging - 3.3.70- merge gh#openSUSE/libstorage-ng#387 - log errors of found by check - added checks (disabled until yast2-storage-ng is improved) - coding style - added missing member variables in print function - added check - added documentation - 3.3.69- Translated using Weblate (Portuguese (Brazil)) - 3.3.68- Translated using Weblate (Portuguese (Brazil)) - 3.3.67- merge gh#openSUSE/libstorage-ng#386 - handle pmem prefix during sort - added unit test - coding style - more natural sorting of Mds - make compare funcions available in API - added compare function for partitionables - added unit test - added integration test - added test - 3.3.66- merge gh#openSUSE/libstorage-ng#385 - extended documentation (result of bsc#1066290) - extended test data - extended test - 3.3.65- merge gh#openSUSE/libstorage-ng#384 - added check for chunk size of MD RAID (see bsc#1065381) - support RAID 4 - added integration test - extended integration test - fixed typo - 3.3.64- Translated using Weblate (Japanese) - 3.3.63- merge gh#openSUSE/libstorage-ng#383 - added document about spelling - consistent spelling - updated pot file - 3.3.62- merge gh#openSUSE/libstorage-ng#382 - fixed compound action message (bsc#1066364) - also extract messages from compount action formatters - updated pot file - 3.3.61- merge gh#openSUSE/libstorage-ng#381 - work on exceptions - 3.3.60- Translated using Weblate (Indonesian)- merge gh#openSUSE/libstorage-ng#380 - changed interface of wait_for_devices() - improved comment - 3.3.59- merge gh#openSUSE/libstorage-ng#379 - extended documentation - 3.3.58- 3.3.57- merge gh#openSUSE/libstorage-ng#378 - added global function for wait for several devices - coding style - wait for devices before swapon (bsc#1064282) - wait for devices before creating md raid - wait for devices before pvcreate - 3.3.56- merge gh#openSUSE/libstorage-ng#377 - probe page size (for bsc#1065381) - coding style - 3.3.55- merge gh#openSUSE/libstorage-ng#376 - added udevadm settle calls - 3.3.54- merge gh#openSUSE/libstorage-ng#375 - updated examples - removed unused code - unified Python and Ruby bindings - added examples - 3.3.53- merge gh#openSUSE/libstorage-ng#374 - fixed typo - coding style - fixed off-by-one error in max_primary() - coding style - fixed max_logical() - added documentation - extended unit tests - added function to create implicit partition - extended Partitionable constructor - added unit tests - added unit tests - moved code - work on exceptions - extended documentation - consistent wording - consistent logging - updated pot-file - fixed typo - 3.3.52- merge gh#openSUSE/libstorage-ng#373 - work on udev link handling - 3.3.51- merge gh#openSUSE/libstorage-ng#372 - handle implicit partition table when detecting resize info - extended query for possible partition tables - make stream function public available - added integration test - no partition slots on implicit partition tables - specialized messages for creating and deleting partitions - added unit tests - improved integrations tests - updated status.md - added integration test - work on exceptions - 3.3.50- merge gh#openSUSE/libstorage-ng#371 - extended documentation - updated status - fixed typo - added hyperlink - save bus-id in Dasd class - added example program - added class ImplicitPt and probing of it - updated docygen.conf - updated swig files - added unit test - work on exceptions - extended unused_regions (bsc#1064429) - use references instead of copies - fixed typo - added documentation - 3.3.49- merge gh#openSUSE/libstorage-ng#370 - dependency handling for thin logical volumes - unit tests - 3.3.48- merge gh#openSUSE/libstorage-ng#369 - fixed min-size calculation for small filesystems - added block size parameter to ResizeInfo - handle new block_size parameter - implemented get_resize_info for thin pools and thins - allow to set reserved extents - added unit tests - extended integration tests - smarter resize info calculation - fixed comment - 3.3.47- merge gh#openSUSE/libstorage-ng#368 - added helper functions - added functions to calculate default chunk size and metadata size for thin pools - added integration test - handle lvm pvs without lvm vg during probing - added note - added function to query max size for thins - improved lvs parser - updated documentation - added is_overcommitted() - handle reserved extents - added checks - work on exceptions - improved calculation of used extents - added max_size_for_lvm_lv - extended documentation - added checks - added unit tests - work on API of check functions - updated pot file - added helper function - fixed test - added check - simpler code - clearer documentation - 3.3.46- Translated using Weblate (Russian)- Adapt SetTuneOptions::commit - Drop CommitOptions destructor - Add const to CommitOptions arguments - Drop unneeded const in CommitOptions - Mark commit(CommitCallbacks*) as deprecated - 3.3.45- merge gh#openSUSE/libstorage-ng#367- Translated using Weblate (Dutch) - 3.3.44- merge gh#openSUSE/libstorage-ng#366 - work on filesystem tune options - extended integration tests - 3.3.43- merge gh#openSUSE/libstorage-ng#365 - Honor mkfs_options when creating filesystems - 3.3.42- merge gh#openSUSE/libstorage-ng#364 - handle chunk size - updated integration tests - 3.3.41- merge gh#openSUSE/libstorage-ng#363 - added messages for thin pool and thin logical volumes - 3.3.40- merge gh#openSUSE/libstorage-ng#362 - fixed stripes detection for thin-pools - set stripes like LVM does - 3.3.39- merge gh#openSUSE/libstorage-ng#361 - get more data from lvs command - take stripes value from lvs instead of dmsetup - added chunk_size to LvmLv - updated unit test - 3.3.38- merge gh#openSUSE/libstorage-ng#360 - extended exception message - thin volumes cannot be striped - work on exceptions - 3.3.37- merge gh#openSUSE/libstorage-ng#359 - added unit test - 3.3.36- merge gh#openSUSE/libstorage-ng#358 - fixed variable name - 3.3.35- merge gh#openSUSE/libstorage-ng#357 - extended tests - consistent parameter style - 3.3.34- merge gh#openSUSE/libstorage-ng#356 - added reserved extents variable - added documentation - 3.3.33- Translated using Weblate (Lithuanian)- merge gh#openSUSE/libstorage-ng#355 - extended lvs parser - 3.3.32- merge gh#openSUSE/libstorage-ng#354 - added udevadm settle call - 3.3.31- merge gh#openSUSE/libstorage-ng#353 - call efibootmgr before deleting partitions - 3.3.30- Translated using Weblate (Czech) - 3.3.29- merge gh#openSUSE/libstorage-ng#352 - added JsonFile class with simple JSON parser - use JSON report format for LVM tools - coding style - added exception class LvmLvNotFoundByLvName - added convenience functions - updated swig catches file - added integration test - coding style - 3.3.28- Translated using Weblate (Chinese (China)) - 3.3.27- merge gh#openSUSE/libstorage-ng#351 - extended lvs parser - add lv_type to LvmLv - updated integration tests - updated swig catches file - allow to create thin-pools and thins - added integration test - do not allow to resize extended partition - 3.3.26- Translated using Weblate (Dutch) - 3.3.25- Translated using Weblate (Dutch) - 3.3.24- merge gh#openSUSE/libstorage-ng#350 - raise global sid if needed during load - 3.3.23- Translated using Weblate (Chinese (China))- merge gh#openSUSE/libstorage-ng#349 - added helper functions - provide functions to create/remove encryption while keeping children - added unit tests - updated swig catches file - also check devicegraphs - 3.3.22- merge gh#openSUSE/libstorage-ng#348 - updated documentation - 3.3.21- merge gh#openSUSE/libstorage-ng#347 - work on querying resize-info - work on unit tests - documentation - coding style - fixed typo - 3.3.20- merge gh#openSUSE/libstorage-ng#345 - Update the scripts from openSUSE/linuxrc-devtools - Install graphviz as well - Use .tar.xz format for the source tarball - Do not use the shared YaST Travis script for building - 3.3.19- merge gh#openSUSE/libstorage-ng#346 - added do_resize for Btrfs - updated documentation - cleanup - cleanup - 3.3.18- Translated using Weblate (Portuguese (Brazil))- merge gh#openSUSE/libstorage-ng#344 - do not clean pot-file - 3.3.17- merge gh#openSUSE/libstorage-ng#343 - implemented do_resize for Xfs - 3.3.16- Translated using Weblate (Catalan)- Translated using Weblate (Catalan) - 3.3.15- merge gh#openSUSE/libstorage-ng#339 - Add .snapshots subvolume directly to /etc/fstab, not via the external installation-helper command - Add leading slash to .snapshots subvol name in /etc/fstab - Inherit mount opts from parent btrfs and add leading slash to subvol name - Reset diff reference after writing the file - Reset diff reference before change - 3.3.14- Translated using Weblate (Catalan)- Translated using Weblate (Finnish) - 3.3.13- Translated using Weblate (Japanese) - 3.3.12- merge gh#openSUSE/libstorage-ng#341 - updated documentation - 3.3.11- Translated using Weblate (Japanese)- Translated using Weblate (Dutch)- merge gh#openSUSE/libstorage-ng#340 - added pot file - added translation from libstorage - 3.3.10- merge gh#openSUSE/libstorage-ng#338 - coding style - use --force and --yes more often when using lvm tools - added integration tests - also handle action resizing physical volumes - handle ResizeInfo for lvm pv - updated swig catches - 3.3.9- merge gh#openSUSE/libstorage-ng#337 - added documentation - added more combine functions - added documentation - make function available in API - added function to query unused surrounding region - added unit tests - fixed some filesystem limits - coding style - do not look at filesystem usage for newly created filesystems - integration tests - redirect ntfs resize info query to probed devicegraph - fixed typo - 3.3.8- merge gh#openSUSE/libstorage-ng#336 - changed some requires to suggests - require parted >= 3.2 - 3.3.7- merge gh#openSUSE/libstorage-ng#335 - added function to query minimal number of devices for Md - added unit tests - removed unneeded include statements - 3.3.6- merge gh#openSUSE/libstorage-ng#334 - fixed actiongraph generation for deleting partition tables (bsc#1056153) - added unit test - merged testsuite directories - 3.3.5- merge gh#openSUSE/libstorage-ng#333 - use parteds 'resizepart' instead of 'resize' command (bsc#931765) - 3.3.4- merge gh#openSUSE/libstorage-ng#332 - create partitions on GPT with empty name (see bsc#1023818) - 3.3.3- merge gh#openSUSE/libstorage-ng#331 - Configure snapper if snapshots enabled - Set snapshot feature so snapper packages will be installed - Fixed docker setup for Travis - Fixed make_package script (snwint) - Move snapper config step1 from post-create to pre-mount - 3.3.2- merge gh#openSUSE/libstorage-ng#329 - use linuxrc-devtools tooling for OBS auto-submission - remove VERSION and libstorage-ng.changes from git repo - add git2log and make_package scripts - don't forget to actually create the VERSION file - point more often to linuxrc-devtools project - add link to linuxrc-devtools workflow overview - 3.3.1- merge gh#openSUSE/libstorage-ng#328 - fixed license file- merge gh#openSUSE/libstorage-ng#327 - added subsystem deactivate functions - added deactivate function - added integration test - fixed typos- merge gh#openSUSE/libstorage-ng#326 - generate Activate and Deactivate actions for BlkDevices - activate and deactivate actions for LvmLv - separate deactivation action for Md - deactivation action for Multipath - deactivate only active Encryptions - coding style - sort partition by number- merge gh#openSUSE/libstorage-ng#324 - submit to default YaST project (YaST:Head) - generate changes file - set version to 3.3.0 - 3.3.0- merge gh#openSUSE/libstorage-ng#323 - simpler code- merge gh#openSUSE/libstorage-ng#322 - use define- merge gh#openSUSE/libstorage-ng#321 - added exception handling- merge gh#openSUSE/libstorage-ng#320 - support partition ids on dasd partition table- merge gh#openSUSE/libstorage-ng#319 - special dependencies for DASD partition table - added unit test - coding style - fixed typo- merge gh#openSUSE/libstorage-ng#318 - improved activation of Md- merge gh#openSUSE/libstorage-ng#317 - updated paths- merge gh#openSUSE/libstorage-ng#316 - allow independent control of container entries - also parse MD level in MdadmDetail - skip parted call on inactive and zero-size devices - added note - added MD level "container" - renamed superblock-version to metadata - use reference - recognize imsm and ddf - set initial MD level to unknown - probe MD level from mdadm --detail - coding style - cleanup - exception handling - added MdContainer and MdMember - added unit tests - added unit test - updated documentation - updated bindings - updated status - extended documentation- merge gh#openSUSE/libstorage-ng#315 - moved document, fixed typo- merge gh#openSUSE/libstorage-ng#314 - added program to generate downcast file - regenerated downcast file - coding style - fixed test - added unit tests - coding style- merge gh#openSUSE/libstorage-ng#313 - added program to generate catches file - updated catches file- merge gh#openSUSE/libstorage-ng#312 - try to fix installation on multipath- merge gh#openSUSE/libstorage-ng#311 - regenerated catches file- merge gh#openSUSE/libstorage-ng#310 - Comment some public Region methods- merge gh#openSUSE/libstorage-ng#308 - coding style - fixed DM RAID activation - only probe active DM RAIDs - removed unneeded code- merge gh#openSUSE/libstorage-ng#307 - implemented activation of DM RAID - updated documentation- merge gh#openSUSE/libstorage-ng#306 - improved dmraid parser- merge gh#openSUSE/libstorage-ng#305 - updated bindings- merge gh#openSUSE/libstorage-ng#304 - added query function - updated unit tests - added support for DM RAIDs - added example program - fixed typo - coding style - added unit test - extended unit tests - activate Md before DmRaid - fixed typo- merge gh#openSUSE/libstorage-ng#303 - Expose Alignment#grain - Expose Alignment#offset- merge gh#openSUSE/libstorage-ng#302 - fixed syntax - work on exceptions - coding style - added unit tests - added unit tests- merge gh#openSUSE/libstorage-ng#301 - added functions to set dasd type and format - consistent function names- merge gh#openSUSE/libstorage-ng#284 - avoid integer overflow - correct name for unit tests - extended unit test - probe multipath devices - better interface - extended CmdBlkid for external journal information - probe external journals devices - added unit test - added override - added support for named MD RAIDs - added integration tests - extended unit test - added unit test - adapted integration test - extended documentation - coding style - generalised tests - corrected test - added documentation - avoid g++ warning by removing unused code - added override - removed unused variable - added unit test - renamed get_device et.al. to get_non_impl - pass mount_by to get_mount_by_name() - extended unit test - reduced scope of variable - added test case - shorter code - added documentation - added special handling for named RAIDs where the name is a number - added get_all_if for Mds - added debug messages - use strongly types enums - fixed command handling - reduced interface of SystemCmd - updated file list - allow to load mockup - generalised test - added function to adjust sids - extended int - added query function - added query function - coding style - renamed variables - renamed library - renamed variables - coding style - improved probing for multipath - set dm table name for partitions - set range for partitionables on dm - updates tests to md level enum change - simple valid check for multipath names - added unit tests - use wider int - sort udev ids like libstorage does - include multipath with alias in test case - added example program - activate mds - do not log debug log-level per default - updated swig catches - updated documentation - avoid cycle in actiongraph - added documentation - updated swig catches - fixed file list - extended documentation - updated swig catches file - removed wrong parameter documentation - coding style - generate swig catches for some deprecated functions - enable doxygen xml output (needed for generating swig catches) - fixed class name - coding style - updated list of exception classes - coding style - added dependency on doxygen.conf - provide definition of data member- merge gh#openSUSE/libstorage-ng#147 - Detect libxml bit more properly to work on most distributions - Cleanup the spec file to adhere Factory packaging guidelines - Check for boost headers to ensure configure stops prior build failure if the boost-devel is not present - Split out the boost dependencies up to the latest boost package split on openSUSE_Tumbleweed - Do not require rubygem-test-unit on Factory - Remove boost-regexp dependency as it was removed in favor of higer C++ standard function- merge gh#openSUSE/libstorage-ng#283 - fixed function names- merge gh#openSUSE/libstorage-ng#282 - reuse existing table of filesystem names - improved exception message- merge gh#openSUSE/libstorage-ng#281 - split directory examples into utils and examples- merge gh#openSUSE/libstorage-ng#280 - Fix bug- merge gh#openSUSE/libstorage-ng#279 - added used features flag for DASDs- merge gh#openSUSE/libstorage-ng#278 - extended transmogify example - improved Action::RenameIn ordering for DASDs - added unit tests - added documentation - added bugzilla reference- merge gh#openSUSE/libstorage-ng#277 - updated mockups to use parted --machine - removed old parted parser- merge gh#openSUSE/libstorage-ng#276 - added check - do not use cylinder size as block size - avoid holder two actiongraph in memory - coding style - added more comparison operators - check partition order - coding style - added call to check() - workaround for parted sector size during resize - handle alignment in partition resize integration tests - simpler Makefile.am - renumber partitions on DASD partition table - added unit-tests - renamed unit-test - added integration test - renamed variable - fixed typos- merge gh#openSUSE/libstorage-ng#259 - WIP - WIP - WIP - Add CompoundActionFormater base class - Add BtrfsSubvolumeFormater class - Update gitignore files - Add NfsFormater class - Add BtrfsFormater class - Add LvmLvFormater and LvmVgFormater - Add compound actions to actiongraph - Integrate CompoundAction and Actiongraph - Add bindings for CompoundAction - Remove old files - Update gitignore - Add CompoundAction#is_delete - Change return of find_by_target_device - Rename CompoundAction classes - Use Generator to generate compounds actions - Simplify CompoundAction creation - Rename and delete public methods - Return const objects - Remove empty destructors and improve constructors - Fix spelling - Add methods to LvmLv formatter - Add methods for LvmVg formatter - Delete improperly added file - Update example - Add automake subdir-objects option - Throw exception when action is unknown - Add tests for CompoundAction - Fix example - Improve formatters - Add files for compound actions example - Improve formatters - Improve tests - Improve text for compound actions with swap - Minor fixes - Rename data files - Fix test makefile - Improve variable names - Some improvements in formatters - Add gitignore - Remove spaces- merge gh#openSUSE/libstorage-ng#274 - Add compound actions summary doc - Fix text - More text fixes- merge gh#openSUSE/libstorage-ng#275 - enhanced get_possible_partition_table_types() for DASDs - simpler code- merge gh#openSUSE/libstorage-ng#273 - added documentation - renamed variable and enums - set extended_slot to false on GPT - implemented partition slots for DASD partition table - added unit test - removed unused function - use vector instead of list - added assert - renamed typename - added utility function - added unit tests - simpler code - added comment - added convenience function - added integration test - better variable names- merge gh#openSUSE/libstorage-ng#272 - added unit tests - new parse error tests - converted unit tests to new parted parser - removed old code - added note - fixed syntax - updated mockups- merge gh#openSUSE/libstorage-ng#271 - recognize parted "diag" flag - log partition id as hex- merge gh#openSUSE/libstorage-ng#270 - added find_by_name for Partitionable - split Topology class into Topology and Alignment - set minimal-grain to 0 B for DASDs - improved integration tests - set extra alignment for DASD partition table - fix sectors when calling parted on DASD partition table - use correct sector size - nicer check - keep minimal grain for DASDs - allow to get Alignment class - allow to align only to hard requirements - updated documentation about alignment - use partition id supported on all partition types- merge gh#openSUSE/libstorage-ng#269 - adapted parted mkpart call for dasd partition table- merge gh#openSUSE/libstorage-ng#268 - allow more control over mockup - rewrote parted parser including fixing sectors on DASDs - work on support for DASD partition table - updated unit-test - coding style- merge gh#openSUSE/libstorage-ng#266 - added function to convert partition type to string- merge gh#openSUSE/libstorage-ng#265 - avoid ambiguous code - replace own Regex class by C++11 regex - use C++11 regex instead of boost regex- merge gh#openSUSE/libstorage-ng#264 - fixed human string parser- merge gh#openSUSE/libstorage-ng#263 - use svg for graphs- merge gh#openSUSE/libstorage-ng#262 - updated- merge gh#openSUSE/libstorage-ng#261 - also allow to display actiongraph- merge gh#openSUSE/libstorage-ng#260 - allow to keep temporary files- merge gh#openSUSE/libstorage-ng#258 - removed obsolete file- merge gh#openSUSE/libstorage-ng#257 - improved parser - added test case- merge gh#openSUSE/libstorage-ng#256 - eliminated defects found by coverity- merge gh#openSUSE/libstorage-ng#255 - updated cleanup lists- merge gh#openSUSE/libstorage-ng#253 - make delete Filesystem or PartitionTable also delete signatures on disk - modified integration tests - added nop flag to actions - added helper function - set nop flag if btrfs filesystem is also deleted - extended documentation - removed unused functionality- merge gh#openSUSE/libstorage-ng#252 - added unit tests - renamed integration test for consistency - removed unused variable - added integration test - coding style - handle tense - removed unneeded function override- merge gh#openSUSE/libstorage-ng#251 - setup logger - coding style- merge gh#openSUSE/libstorage-ng#250 - updated file list- merge gh#openSUSE/libstorage-ng#249 - fixed documentation- merge gh#openSUSE/libstorage-ng#248 - added in_etc_crypttab flag - also provide EtcFstab and EtcCrypttab in SystemInfo - coding style - set in_etc_crypttab - set correct crypt device - added documentation- merge gh#openSUSE/libstorage-ng#247 - provide version information in bindings- merge gh#openSUSE/libstorage-ng#246 - removed probing in constructor and added probe function - adapted unit tests - adapted examples - adapted integration tests - fixed comment - added DEVMAPPERDIR define - save and load in_etc_fstab - adapted integration test- merge gh#openSUSE/libstorage-ng#245 - removed inadequate lvm activation - removed unused code - improved documentation - added missing include - provide begin() and end() - added function returning number of inactive lvm lvs - added utility functions - removed unused code - activate inactive lvm and luks if desired - updated bindings - added integration test - provide activate function in API - check callback pointer - fixed typo- merge gh#openSUSE/libstorage-ng#244 - Propagate DifferentBlockSizes through the bindings- merge gh#openSUSE/libstorage-ng#243 - added override- merge gh#openSUSE/libstorage-ng#242 - fixed typo- merge gh#openSUSE/libstorage-ng#241 - added check- merge gh#openSUSE/libstorage-ng#240 - initialize values - reduced include- merge gh#openSUSE/libstorage-ng#239 - added check - added unit tests - updated test - updated documentation - updated integration tests - consistent naming - added documentation - added convenience function - improved integration test- merge gh#openSUSE/libstorage-ng#238 - added convenience function - removed nfs from dasd probing test - also remove descendants - added helper functions - return const objects - moved mount point data to dedicated class in devicegraph - adapted bindings - adapted example - adapted integration tests - added integration test for changeing mount-by method - added documentation - adapted unit tests - consistent naming - make functions as deprecated - do not longer allow to create Devicegraph without pointer to Storage - keep exact signature of deprecated functions - coding style - added warning- merge gh#openSUSE/libstorage-ng#237 - fixed exception message - more detailed exception message - updated xml devicegraphs- merge gh#openSUSE/libstorage-ng#236 - more detailed error messages - added comparison operators- merge gh#openSUSE/libstorage-ng#235 - check types to avoid exception- merge gh#openSUSE/libstorage-ng#234 - create parent directory of new subvolume- merge gh#openSUSE/libstorage-ng#233 - document that nested RAIDs are unsupported- merge gh#openSUSE/libstorage-ng#232 - added functions to handle default mount-by - removed obsolete classes - added documentation - renamed variable- merge gh#openSUSE/libstorage-ng#231 - work on md size calculation - added documentation - fixed typo- merge gh#openSUSE/libstorage-ng#230 - coding style - added unit test - improved function interface - removed debug output - install header- merge gh#openSUSE/libstorage-ng#229 - probe subvolume id after create- merge gh#openSUSE/libstorage-ng#228 - added functions to get source and target of a Holder - fixed integrations tests - added integration test- merge gh#openSUSE/libstorage-ng#227 - added convenience functions - minor refactoring - added unit tests - added convenience functions - added integration tests- merge gh#openSUSE/libstorage-ng#226 - flush results after each test - handle spare devices in size calculation - make a conservative calculation - improve results output - fix typo- merge gh#openSUSE/libstorage-ng#225 - fixed check - added test for nested RAIDs - added workaround for bsc#1030896 - removed debug setting- merge gh#openSUSE/libstorage-ng#224 - added sort-key for devices of MD RAID- merge gh#openSUSE/libstorage-ng#223 - added flag in_etc_mdadm- merge gh#openSUSE/libstorage-ng#222 - create /etc directory when mounting /- merge gh#openSUSE/libstorage-ng#221 - probe some uuids after on disk creation- merge gh#openSUSE/libstorage-ng#220 - coding style - reuse objects EtcFstab, EtcCrypttab and EtcMdadm - added writing of mdadm.conf - set partition id - handle new values in Md::Impl - probe md-name and uuid - add tense to CommitData- Fixed line number output for empty ranges - Unit tests for Diff - Fixed include path- merge gh#openSUSE/libstorage-ng#219 - Added generic diff - Added log_diff() - Use log_diff() instead of log() - Fixed verbose mode - Fixed out of range segfault - Prevent diff context at file borders- merge gh#openSUSE/libstorage-ng#218 - added support for DASDs (the block device)- merge gh#openSUSE/libstorage-ng#217 - initialize value- merge gh#openSUSE/libstorage-ng#215 - protect mount options since subvol can include spaces- merge gh#openSUSE/libstorage-ng#213 - added btrfs subvolume support- merge gh#openSUSE/libstorage-ng#214 - Handle fs type unknown - New test case for fs type unknown- merge gh#openSUSE/libstorage-ng#212 - initialize value in ctor - set filename- merge gh#openSUSE/libstorage-ng#211 - cleanup AsciiFile (possible after EtcFstab rewrite) - use AsciiFile to read fstab for mockup playback and record- merge gh#openSUSE/libstorage-ng#210 - Use full filename for fstab and crypttab - Add missing space in mount command- merge gh#openSUSE/libstorage-ng#209 - changed return type of get_mount_type() - added compatibility functions- merge gh#openSUSE/libstorage-ng#208 - removed unneeded includes - removed obsolete handling of list- merge gh#openSUSE/libstorage-ng#202 - Activate vgs - Add comment - Fix indentation- merge gh#openSUSE/libstorage-ng#206 - New EtcFstab API - Methods to maintain correct mount order - Stricter constness and avoid endless call recursion - Added missing factory method - Added MountOpts::clear() - Unit tests for new EtcFstab class - Better runtime checks using exceptions - Tests for checking and fixing mount order - Added tests for pathological cases - Make line no. optional during parsing - Store filename for writing, too - Removed obsolete tests - Added EtcCrypttab class - Don't pad last column - Remove entry by pointer - Unit test for EtcCrypttab - New unit test: Nonexistent crypttab - Removed cruft - Don't stop parsing after the first error - Accept unparsable fs enums as type 'unknown' - Support for logging contents - Added missing includes - Get and set options completely at once - Use new EtcFstab: StorageImpl - Use new EtcFstab: ProcMounts - Use new EtcFstab: Nfs - Use new EtcCrypttab: Luks - Use new EtcCrypttab: Mountable and BlkFilesystem - Use new EtcFstab: XML mocking in testsuite - Omit 'defaults' for mount opts in XML - Code review fixes - Documentation fixes - Support for mocking during probing - Fixed unit test data- merge gh#openSUSE/libstorage-ng#200 - split off Mountable from Filesystem - removed unused variable - added parsers for btrfs tools - removed unused functions - unified comments - fixed typo - added missing implementation - allow mocking of SystemCmds with unstable command-line - added include - avoid btrfs in test cases (will need more mockup) - extended style guide - added example program- Imported https://github.com/shundhammer/commented-config-file (#199)- merge gh#openSUSE/libstorage-ng#197 - added some compile time checks - renamed macro to avoid name collision- merge gh#openSUSE/libstorage-ng#196 - moved code to implementation classes - removed unneeded virtual in API - added Encryption::get_all() functions- merge gh#openSUSE/libstorage-ng#195 - added comment - removed unused enum value- merge gh#openSUSE/libstorage-ng#194 - redirect to probed devicegraph in EnsureMounted- merge gh#openSUSE/libstorage-ng#192 - tiny code simplifications - added includes - make EnsureMounted more generic and work for Filesystem - added class to parse df output - added class SpaceInfo - added function to query nfs mounts - generalise and move some functions from BlkFilesystem to Filesystem - store SpaceInfo in Filesystem - cleanup - added basic NFS support - coding style - extended bindings for NFS - added integration tests - removed dangerous functions and added comment - updated python bindings - added check - added integration test - added Nfs::Impl::used_features()- merge gh#openSUSE/libstorage-ng#191 - split off class BlkFilesystem from class Filesystem - updated testcases - updated example - updated documentation - updated bindings - updated testcases - updated integration tests- merge gh#openSUSE/libstorage-ng#190 - coding style - removed abstract class - use direct parent class - avoid flushes- merge gh#openSUSE/libstorage-ng#189 - detect nilfs2 - cleanup - shorter code - coding style - coding style - added support for ext2, ext3, reiserfs, iso9660 and udf - updated bindings to new filesystems - added integration tests- merge gh#openSUSE/libstorage-ng#188 - removed cycle from actiongraph for Luks setup - cleanup- merge gh#openSUSE/libstorage-ng#187 - Bind exceptions for BlkDevice::get_encryption- merge gh#openSUSE/libstorage-ng#186 - fixed shrinking devices - enable commit- merge gh#openSUSE/libstorage-ng#185 - added Encryption::get_type() - make get_type() in EncryptionImpl virtual- merge gh#openSUSE/libstorage-ng#184 - implemented do_rename_in_etc_crypttab()- merge gh#openSUSE/libstorage-ng#183 - save sid in devicegraphs - add dependencies to some actions of children of partition table - added test case - added documentation - use convenience function- merge gh#openSUSE/libstorage-ng#180 - added set_number() function - renumber logical partitions in delete_partition() - added testcase - coding style - added actions to rename entries in fstab and crypttab - use integration test utils - implemented rename in fstab - override function - allow to skip more steps - better check - renamed functions - reuse code - the check was correct - coding style- Added Travis support (use Docker for building)- merge gh#openSUSE/libstorage-ng#179 - fixed swig bindings for used_features()- Typo: Fixed inconsistent enum prefix (#178)- merge gh#openSUSE/libstorage-ng#177 - added move constructor and assignment operator- merge gh#openSUSE/libstorage-ng#176 - Make boot flag checks public- merge gh#openSUSE/libstorage-ng#175 - turn udev_path into vector (see bsc#1011357)- merge gh#openSUSE/libstorage-ng#174 - show base in log for hex - fixed typo - added tests - handle partition id on GPT - added unit tests - removed TODO mark - fixed typo - DRYer code - renamed test files - markdown improvements - renamed function- merge gh#openSUSE/libstorage-ng#173 - updated history- merge gh#openSUSE/libstorage-ng#172 - added interface to query used features - added bcache to used features - added unit tests- merge gh#openSUSE/libstorage-ng#171 - added convenience functions- merge gh#openSUSE/libstorage-ng#170 - make functions public available- merge gh#openSUSE/libstorage-ng#169 - added parsing legacy_boot in parted output - actions for boot, legacy_boot and pmbr_boot - added integration tests - updated status document - removed out-commented code - extended documentation- merge gh#openSUSE/libstorage-ng#168 - added probing pmbr-boot - added test case for pmbr boot- merge gh#openSUSE/libstorage-ng#167 - moved setting BOOST_TEST_CATCH_SYSTEM_ERRORS- merge gh#openSUSE/libstorage-ng#166 - Added LvmLv.get_all()- merge gh#openSUSE/libstorage-ng#165 - added utility function to public API- merge gh#openSUSE/libstorage-ng#164 - added convenience functions - moved template definitions to separate file- merge gh#openSUSE/libstorage-ng#163 - added name for partition id- merge gh#openSUSE/libstorage-ng#162 - added test case - moved test cases - reuse code - coding style - simpler code - reuse code - help compiler understand code - removed workaround - fixed partition name - run performance tests as last - coding style - allow to set udev path and ids - set udev path and if when creating partition - added test case - updated unit test to include object for partition table - make logical partitions children of extended partition - added note and todo - added checks - moved unit test- merge gh#openSUSE/libstorage-ng#161 - also check udev_path and udev_ids in equal and log_diff - fixed typo - omit more udev-ids (use whitelist instead of blacklist) - added explanatory comment- merge gh#openSUSE/libstorage-ng#160 - set default partition id based on partition type- merge gh#openSUSE/libstorage-ng#159 - fixed initialization order - check that function is called on correct devicegraph- merge gh#openSUSE/libstorage-ng#158 - use const unique_ptr for pimpl - added testcase - added documentation- merge gh#openSUSE/libstorage-ng#157 - renamed class - removed printing to cout from Actiongraph - performance improvement - added performance test - removed examples with testsuite character - improved example- merge gh#openSUSE/libstorage-ng#156 - updated status document - include feedback from code review- merge gh#openSUSE/libstorage-ng#155 - updated documentation - added end user example - fixed typo - improvements from code review- merge gh#openSUSE/libstorage-ng#143 - the dependency fix: updated from the specfile - specified distribution specific dependencies - corrected deps on tumbleweed- merge gh#openSUSE/libstorage-ng#154 - handle tense - handle tense - throw on logic error - coding style - added humanstring example- merge gh#openSUSE/libstorage-ng#153 - fixed temporary check - quote commit message in log- merge gh#openSUSE/libstorage-ng#152 - removed some examples that were initial test programs- merge gh#openSUSE/libstorage-ng#151 - cylinder -> sector cleanup- merge gh#openSUSE/libstorage-ng#150 - added TmpMount class - added EnsureMounted class - use EnsureMounted class - added note - name enum strongly typed - now removed enum entirely- merge gh#openSUSE/libstorage-ng#149 - added convenience function to query Ntfs objects - added convenience function to query Partitionable objects- merge gh#openSUSE/libstorage-ng#148 - initialise class members- merge gh#openSUSE/libstorage-ng#145 - improved device_exists - fixed typo - added support to resize (active) lukses - added integration tests for luks - coding style - moved check function to impls - added check function for Luks - added comment - added unit test for resizing luks - require to provide filename - incorporated comments from code review - ignore generated files- merge gh#openSUSE/libstorage-ng#144 - added UntranslatedText and moved Text to own file - moded StopWatch to own file - added documentation - renamed variable- merge gh#openSUSE/libstorage-ng#142 - fixed lvm vg dependency generation if modify actions exist purely on lhs - coding style - added convenience function - added flags to control handling of credentials - correcter explanation for translators - use ST_THROW macro - coding style - support to create, activate, deactivate and delete Luks - added encryption handling functions to BlkDevice - added unit tests - added integrations tests - handle tense - added skeleton actions for crypttab handling - handle tense - handle crypttab- merge gh#openSUSE/libstorage-ng#141 - use C++11 initialisation - shorter code - removed unused check - coding style - added reusable sort_by_key function- merge gh#openSUSE/libstorage-ng#140 - Added a failing test (TDD) for LVM dependencies - Bugfixes in Action::Create#add_dependencies - Dependencies between LVM operations - Fixes from code review: coding style - Another complex test for LVM dependencies - Reusable function to add grouped dependencies - Added a test for PVs being moved between VGs - Dependencies for moving PVs between different VGs - Added note about add_chain cost- merge gh#openSUSE/libstorage-ng#139 - added const - added helper function - renamed variable - moved calculating dependencies for creating partitions to PartitionTable class - make vertices in actiongraph stable- merge gh#openSUSE/libstorage-ng#138 - renamed function - indicate only-sync in graph output- merge gh#openSUSE/libstorage-ng#137 - also save devicegraphs - renamed function - call function in base class - add dependency for reallot actions - added unit tests for reallot actions in lvm case - moved some tests to md subdirectory - always use svg instead of png- merge gh#openSUSE/libstorage-ng#136 - Obsolete again old libstorage- merge gh#openSUSE/libstorage-ng#135 - pass vector by reference- merge gh#openSUSE/libstorage-ng#134 - do not call udevadm info for inactive devices- merge gh#openSUSE/libstorage-ng#133 - fixed output - set flags for ostream - probe attr for lvm devices - added active flag to BlkDevice- merge gh#openSUSE/libstorage-ng#131 - fixed parsing of 'dmsetup table' output if no devices were found - catch exceptions from Storage constructor- merge gh#openSUSE/libstorage-ng#130 - Avoid conflict with old libstorage config file - Do not obsolete old libstorage in .spec- merge gh#openSUSE/libstorage-ng#129 - added functions to query volume group - wait as late as possible - added note - moved detect_resize_info to Device - provide ResizeInfo for LvmPv - added override - generate actions for resizing lvm pvs - added tests for lvm pv resizing - added get_size_string() - inform children (LvmVg and Md) when parent has new region- merge gh#openSUSE/libstorage-ng#128 - format numbers - handle ResizeInfo in LvmLv - added functions to find a volume group by the vg-name - make reallot handling work with Device instead of BlkDevice - handle reallot for volume groups - allow to save graphs - fixed consistency between variable name and partition- merge gh#openSUSE/libstorage-ng#127 - added most common lvm actions - removed obsolete define - wait as late as possible - added define - include size in volume group create/delete text- merge gh#openSUSE/libstorage-ng#126 - added override where appropriate- merge gh#openSUSE/libstorage-ng#125 - make find by uuid functions non public - extended comment- merge gh#openSUSE/libstorage-ng#124 - sort sids in output for better readability- Use stdin, not tmp files for passwords (bsc#986971) (#123)- merge gh#openSUSE/libstorage-ng#122 - added convenience functions for lvm - make delete_partition take a Partition - removed obsolete code - shorter code - added function to delete logical volume - renamed file - make doxygen analyse more files - updated documentation - activate DEPRECATED define - consistent function names- merge gh#openSUSE/libstorage-ng#121 - added convenience functions for Bcache and BcacheCset- merge gh#openSUSE/libstorage-ng#120 - move dm-table-name from Encryption to BlkDevice - probe stripes and stripe-size - removed obsolete class - removed unused functions - fixed documentation- merge gh#openSUSE/libstorage-ng#119 - removed unused functions- merge gh#openSUSE/libstorage-ng#118 - also support downcast for bcache classes- merge gh#openSUSE/libstorage-ng#117 - added copyright headers - moved filesystem classes from Devices to new Filesystems directory- merge gh#openSUSE/libstorage-ng#116 - added and renamed examples - init logger - prefer vector over list - detect bcache in blkid output - renamed output files - simply call probe_pass_2 for all devices - extended check function - added get_string function - decentralized code - added bcache probing support - includes cleanup - added bcache probing testcase - added documentation links- merge gh#openSUSE/libstorage-ng#115 - extended 'dmsetup table' parser to provide target and stripes- merge gh#openSUSE/libstorage-ng#114 - updated doxygen list of input files- merge gh#openSUSE/libstorage-ng#113 - enable client side searching- merge gh#openSUSE/libstorage-ng#112 - extended lvm parsers - probe size of luks - probe size of lvm vg and lv - added copyright header - handle new class variables- merge gh#openSUSE/libstorage-ng#111 - add get_partitionable() to API- merge gh#openSUSE/libstorage-ng#110 - use new is_valid_name- merge gh#openSUSE/libstorage-ng#109 - added is_valid_name for BldDevice- merge gh#openSUSE/libstorage-ng#108 - use fallback lockup - removed now unused function- merge gh#openSUSE/libstorage-ng#107 - use fallback lookup by major and minor number- merge gh#openSUSE/libstorage-ng#106 - corrected order- merge gh#openSUSE/libstorage-ng#105 - added note - added luks probing testcase- merge gh#openSUSE/libstorage-ng#104 - extended SystemInfo for encryption - cleanup - prefer vector over list - added luks probing support - use C++11 range based for- merge gh#openSUSE/libstorage-ng#103 - during probing find devices by major and minor number if find my name fails- merge gh#openSUSE/libstorage-ng#102 - added convenience function - added unit tests- merge gh#openSUSE/libstorage-ng#101 - work on LVM support - added documentation - added todo - added check - extended check functions - provide vectors of LVM objects - added get_lvs function - added get_lvm_pvs function - added get_blk_device function - downcast also LVM objects - added more convenient functions- merge gh#openSUSE/libstorage-ng#96 - Added YaST requirements, based on meeting in NUE - AI formatting - MD formatting - More formatting - comments from review - comments - Clarified upgrade from EVMS- merge gh#openSUSE/libstorage-ng#100 - added functions to search for lvm devices by uuid - added BlkDevice::get_all - cleanup - sort results of lvm commands - use get_all function- merge gh#openSUSE/libstorage-ng#99 - added functions any_md, any_lvm and any_luks - explicit function name - probe mds only if blkid found some - added uuid to lvm objects - added get_all functions - added testcase - added parsers for pvs and lvs- merge gh#openSUSE/libstorage-ng#98 - call parted with --wipesignatures when creating partitions - use long option - adapted tests- merge gh#openSUSE/libstorage-ng#97 - removed perl bindings (only potential use-case kiwi was rewritten in python) - mark function as override- merge gh#openSUSE/libstorage-ng#95 - initialise and log variable- merge gh#openSUSE/libstorage-ng#94 - allow to set minimal_mbr_gap- merge gh#openSUSE/libstorage-ng#93 - allow to set minimal grain- merge gh#openSUSE/libstorage-ng#92 - added convenience functions- merge gh#openSUSE/libstorage-ng#91 - added convenience functions- partition alignment, drop cylinders and geometry, change unit of sizes (#85)- merge gh#openSUSE/libstorage-ng#89 - Added support to set label and uuid for swap devices - Allow to change label and UUID of pre-existing partitions - Fix from code review: ST_THROW- merge gh#openSUSE/libstorage-ng#88 - Update TsCmp.cc - Update .gitignore- merge gh#openSUSE/libstorage-ng#87 - added buildrequires graphviz since doxygen needs it- merge gh#openSUSE/libstorage-ng#86 - Added check for PPC PowerNV- merge gh#openSUSE/libstorage-ng#84 - Added ID_EFI- merge gh#openSUSE/libstorage-ng#83 - swig bindings for Storage::Arch - include Arch.h in docs and devel package - fix list include - automake fix- merge gh#openSUSE/libstorage-ng#81 - do not create devicegraph without storage object - coding style - added missing includes - coding style - coding style- merge gh#openSUSE/libstorage-ng#80 - add documentation on parted partition alignment - enhance doc according to pr comments - added details on alignment- merge gh#openSUSE/libstorage-ng#79 - removed now unneeded scope operator- merge gh#openSUSE/libstorage-ng#78 - Disable changelog check- merge gh#openSUSE/libstorage-ng#77 - added detailed flags for write_graphviz()- merge gh#openSUSE/libstorage-ng#76 - added missing include (for whatever version travis/jenkins is using)- merge gh#openSUSE/libstorage-ng#75 - clarify dependencies, how to test- merge gh#openSUSE/libstorage-ng#74 - detect reducing/extending of devices - just keep one sorted vector of devices - added function to remove edge - added function to remove device - use exception macros - allow to add and remove spare devices to md - added integration tests - more descriptive parameter names - coding style - added comments - eliminate temporary variable - added some inline documentation - reshuffle code- merge gh#openSUSE/libstorage-ng#73 - added second link in documentation - detect faulty devices in MD RAID - fixed comment- merge gh#openSUSE/libstorage-ng#72 - test public interface - added testcases- merge gh#openSUSE/libstorage-ng#71 - added set_range to API- merge gh#openSUSE/libstorage-ng#70 - added documentation - added documentation- merge gh#openSUSE/libstorage-ng#69 - Added integration with Jenkins- merge gh#openSUSE/libstorage-ng#68 - added document about resizing - fixed typo- merge gh#openSUSE/libstorage-ng#67 - reduce code duplication - throw exceptions in error case - also generate pictures of devicegraphs - renamed function and added comments- merge gh#openSUSE/libstorage-ng#66 - avoid code duplication - added unit test- merge gh#openSUSE/libstorage-ng#65 - work on tenses for messages- merge gh#openSUSE/libstorage-ng#64 - avoid header file - use new size constants - avoid assert - use exception macro - no need for postfix - fixed error handling - cache, load and save Resize- and ContentInfo- merge gh#openSUSE/libstorage-ng#63 - adapted filename to library rename - make code reusable - coding style - init logger - provide __str__ for more classes - added missing dependency - use exception macros - added is_probed query function - allow to query resize and content information- merge gh#openSUSE/libstorage-ng#62 - avoid code repetition - updated gitignore- merge gh#openSUSE/libstorage-ng#61 - added Action classes for resize- merge gh#openSUSE/libstorage-ng#60 - removed unused functions - avoid boolean function argument- merge gh#openSUSE/libstorage-ng#59 - several adoptions to library name change- merge gh#openSUSE/libstorage-ng#58 - drop major and minor number from BlkDevice- merge gh#openSUSE/libstorage-ng#57 - rename rpm and library to libstorage-ng- merge gh#openSUSE/libstorage-ng#56 - drop bindings for legacy interface - dropped legacy interface and most/all legacy functions - renamed enum- merge gh#openSUSE/libstorage-ng#55 - added and use LogfileLogger- merge gh#openSUSE/libstorage-ng#54 - added downcast function in bindings- merge gh#openSUSE/libstorage-ng#53 - Expose get_geometry() / set_geometry() to API- merge gh#openSUSE/libstorage-ng#52 - added actions to handle /etc/mdadm.conf - renamed classes- merge gh#openSUSE/libstorage-ng#51 - initialise member variables - replace cmp_lt_number by compare_by_number - ignore coverity output directory cov-int - fixed assert - use proper function - use proper functions - added check for overflow - replace ParseError by ParseException - extended testsuite- merge gh#openSUSE/libstorage-ng#50 - more tweaking for broken ruby packaging- merge gh#openSUSE/libstorage-ng#49 - make Exception hierarchy available in bindings - do not expose exception macros in public API- merge gh#openSUSE/libstorage-ng#48 - avoid warning with g++ 5.2.1- merge gh#openSUSE/libstorage-ng#47 - removed redundant ";" - added interface functions to query number of partitions- merge gh#openSUSE/libstorage-ng#46 - support probing of Md using Md - fixed function name - consistent function/variable name- merge gh#openSUSE/libstorage-ng#45 - added get_md_parity_name - added TODO note- merge gh#openSUSE/libstorage-ng#44 - added quote for vector - moved code to storageitu.py - fixed documentation - initialise all member variables - added basic MD RAID support - added checks and unit-test - added DEVDIR macro as requested during code review - added node about consistent naming - use strlen instead of fixed value- merge gh#openSUSE/libstorage-ng#43 - define sorting of results - use macro - shorter code - do not use legacy file for AC_INIT - remove function identical to base function - extended style document- merge gh#openSUSE/libstorage-ng#42 - remove interim sync actions - included suggestions from code-review- merge gh#openSUSE/libstorage-ng#41 - renamed classes - added num_actions()- merge gh#openSUSE/libstorage-ng#40 - ensure "one definition rule"- merge gh#openSUSE/libstorage-ng#39 - added region.to_value function - added disk.get_possible_partition_table_types() - added get_pt_type_name() - use new ST_THROW macro - call parted with filesystem type depending on partition id - do not set numeric partition id on non MSDOS partition tables - added more fs-types for parted mkpart call - use define - better names for partition table types- merge gh#openSUSE/libstorage-ng#38 - added Device::remove_descendants() - moved num_children and num_parents to Impl - use new exceptions macro- merge gh#openSUSE/libstorage-ng#37 - added functions to query partition table type of partition table object- merge gh#openSUSE/libstorage-ng#36 - added missing include - use C++11 underlying_type for correctness - define copy constructor and copy assignment for Region- merge gh#openSUSE/libstorage-ng#35 - fixed function name - added TmpDir class (complied with RAII) - added Vfat and Ntfs device classes - removed ntfs-3g naming workarounds - coding style - delete copy constructor and assignment operator for Device and Holder - use new ST_THROW macro- merge gh#openSUSE/libstorage-ng#34 - moved test files - extended bindings - updated test program - added missing include - added test programs - moved test programs - added options to example probe program - consistent naming - avoid casts by using std::function - added logic check - use traits to avoid undetected typos - moved setting compiler flags before AC_PROG_CXX to avoid problems with --coverage - more descriptive exceptions - moved swig catches statements to own file - extended unit-test - test documenting exceptions with doxygen - use constant- merge gh#openSUSE/libstorage-ng#33 - added test case - added branch coverage example - call region.empty - coding style - moved Exception to Utils - added test-cases - made text more comprehensible - added test-case - fixed off-by-one error - robuster test-case- merge gh#openSUSE/libstorage-ng#32 - Add ruby remote probe example- merge gh#openSUSE/libstorage-ng#31 - added missing DeviceTraits - consisting coding style - avoid warning with clang++ - added and use templates is_device/holder_of_type- merge gh#openSUSE/libstorage-ng#30 - don't generate documentation for legacy interface - added some overall documentation - documented difference between high- and low-level device graph functions- merge gh#openSUSE/libstorage-ng#29 - added subgraph and filtered_graph paragraph- merge gh#openSUSE/libstorage-ng#28 - use fixture - added checks for big numbers - coding style - removed bogus operator - removed some asserts now handled via exceptions - added block-size to Region class - make Partition create functions take region parameter- merge gh#openSUSE/libstorage-ng#27 - Prevent crash upon shutdown (object destruction sequence) - Added TO DO- merge gh#openSUSE/libstorage-ng#26 - fixed file list- merge gh#openSUSE/libstorage-ng#25 - more detailed message - added check - adapted to api change - implemented umount/swapoff actions - replaced specifier deprecated in C++11 - moved Logger to Utils - added nullptr checks - added traits for Holders - work on exception logging - exception handling for storage::to_partition - updated examples- merge gh#openSUSE/libstorage-ng#24 - fixed Umount and RemoveFstab actions- merge gh#openSUSE/libstorage-ng#23 - added functions to convert enums to strings- merge gh#openSUSE/libstorage-ng#22 - added Filesystem::get_all()- merge gh#openSUSE/libstorage-ng#21 - added const version - steps towards private Devicegraph::Impl graph - added convenient functions - use checker macro - avoid using Devicegraph::Impl.graph member- merge gh#openSUSE/libstorage-ng#20 - make Actiongraph.graph private - added operator[] and fixed some constness - added probe mode that write devicegraph - rename class to reflect concept - make also graph type private - added typedefs - log destruction- merge gh#openSUSE/libstorage-ng#19 - use font Arial also for action graph- merge gh#openSUSE/libstorage-ng#18 - make Actiongraph part of public interface- merge gh#openSUSE/libstorage-ng#17 - also provide non-const relatives functions - added function to remove a list of devices - use exception macros- merge gh#openSUSE/libstorage-ng#16 - use long named option for readability- merge gh#openSUSE/libstorage-ng#15 - added one more 'udevadm settle' call - use a define for udevadm settle- merge gh#openSUSE/libstorage-ng#14 - added logger control functions to new api - allow Logger test function to also check component - added documentation - do not expose symbol - added constructor (just eye candy)- merge gh#openSUSE/libstorage-ng#13 - added to_device_of_type template function - use new to_device_of_type function - added testcases - detailed exception messages - make exceptions take parameters instead of final message - remember base filename in exception locations- merge gh#openSUSE/libstorage-ng#12 - work on exceptions- merge gh#openSUSE/libstorage-ng#11 - prefix include guards- merge gh#openSUSE/libstorage-ng#10 - generate bindings before running tests- merge gh#openSUSE/libstorage-ng#9 - parallel compile and run of tests- merge gh#openSUSE/libstorage-ng#8 - removed unneeded define- merge gh#openSUSE/libstorage-ng#7 - set BOOST_TEST_CATCH_SYSTEM_ERRORS=no- merge gh#openSUSE/libstorage-ng#5 - Added exception classes - added class SystemCmdException and CommandNotFoundException - added testsuite helpers - added unit tests for SystemCmd class - documented CmdParted class - improved error reporting with new exception classes don't throw exception for all kinds of parted stderr output - improved error reporting for CmdBtrfs, added CmdBtrfsSubvolumes class - added gpt fix backup - added files common.cc/.h, added test case parse_empty - use const string& - remove do_probe and probe() from CmdBtrfsSubvolumes - use const string& - remove common.cc/.h (not needed here), remove systemcmd1.cc (to be adapted first) - added test case parse_bad_device_name, parse_no_devices and systemcmd_error - test case parse_wiped_disk_good added, better test names applied - test cases for ParseException added - tests for SystemCmd added - retcode != 0 doesn't work - ignore non zero exit code - check for boost version >= 1.58 - add test cases for exceptions - add TO DO for test cases parse_gpt_enlarge_good and parse_gpt_fix_backup_good- merge gh#openSUSE/libstorage-ng#6 - Added use case document - Added pseudo code for suggested API - Use partition_table, not disk directly - Added multi_boot_pc_with_windows() C++ sample - use correct exception macro - added comment- merge gh#openSUSE/libstorage-ng#4 - added rules to style guide - added reasons to use C++11- merge gh#openSUSE/libstorage-ng#3 - updated URLs - added requirements and how to run unit test- extended comment- merge gh#openSUSE/libstorage-ng#2 - Enable documentation of the storage_legacy namespace. - Added brief descriptions to classes.- merge gh#openSUSE/libstorage-ng#1 - How to compile - How to make a RPM, code documentation.- make code- added design decisions- added heading- moved style guide to docs- added goals- use C++11 to_string- adapted testcase- moved testsuite compare classes to testsuite directory- make output work with older graphviz versions- added testcase- use back_inserter- make errors in actiongraph testsuite readable- improved test message- moved statement- work on compatibility layer- work on compatibility layer- throw exception instead of returning nullptr- renamed class to avoid likely conflict with keyword- work on compatibility layer- ported interface additions from fate#318392- ported interface additions from fate#318392- build on Fedora 21- sync version numbers with libstorage- mark functions as override- added per action callbacks- adapted enum names- first setting first and last flag on actions- save detailed actiongraph- added commit error callback- display name of partition id in message- fstab actions depend on the root filesystem mounted- place detailed node info in extra line- save libstorage version in output files- added namespace- allow to show details in graphviz output- added compare example which reads devicegraphs- added check for nullptr- don't save empty values- a devicegraph might have no devices or holders- work on strongly typed enums with swig 3.0.0- work on compatibility callbacks- skip nop action- rename devicegraph- install legacy header- added namespace- added include- work on compatibility layer- fixed efi detection- quote device- implemented real get_default_partition_table_type function- add storage backref to Devicegraph- install perl5 bindings into versioned directory- allow access to Arch and set some values- save architecture in Storage object- work on compatibility layer- added dummy functions for default partition table type- implemented create for msdos and gpt- generate bindings for filesystems classes- added btrfs (without multidevice) and xfs- use C++11- work on compatibility layer- added check function to Storage- delegate checking for modify actions- added convert functions- mostly reverted a previously patch- added type query functions- make functions creating partitions also take region- implemented calculating unused partition slots- work on compatibility layer- added partition type parameter to create partition functions- added constructor taking all values- removed functions from interface- added function to count partitions of a specific type- more verbose error message- handle range in Disk- catch exception- allow to create ext4 on disk (without partition)- save files in YaST2 dir- added include- better error handling- log beginning of commit action- wait for device before mkfs- handle rootprefix when writing fstab- set size when setting region- work on compatibility layer- work on compatibility layer- work on compatibility layer- extended compatibility layer- extended compatibility layer- improved messages- work on compatibility layer- added mkfs_options and tune_options- work on compatibility layer- use helper functions- fixed dependency generation- work on compatibility layer- handle mount-by when writing fstab- fixed variable order- extended compatibility layer- added Storage reference to Actiongraph- added functions for rootprefix- added include- added include- create mountpoint directory- write fstab entry- simpler syntax- treat empty fstab opts as "defaults"- fixed typo- improved commit messages- extended tests- moved code from Actions to Devices and added Actions- moved code- added action to format swap- updated testsuite data- added rotational/ssd to Disk- added sysfs-name and -path to BlkDevice- added script to demonstrate remote probing- allow to provide own functions for remote probing- implemented commit callbacks- removed unused Actiongraph declaration- provide getPresentDisks- use C++11 chrono::steady_clock- added simple compatibility for saveDeviceGraph- allow access to new Storage from old StorageInterface- fixed namespace- fixed use of PYTHON_INCLUDES- query perl include paths from perl- read mount-by type from fstab- added convenient functions- install StorageVersion.h- install perl files to vender_site- also use data from /etc/fstab for filesystem probing- fixed namespace- detect mountpoint from /proc/mounts- renamed functions- use udevadm to query udev device links- extended compaitbility code- some rudimentary probing for ext4 and swap- load more data- moved code- print more data- added function to query filesystem type- removed function from public interface- added todo- removed unused code- moved file- cleanup- handle udev path and id in compatibility layer- handle udev path and ids in BlkDevice- use external command to query links- formatting- moved get_classname and print to Impl- improved log_diff output- set verbose for 'make check'- handle gpt enlarge during probing- fixed gpt enlarge detection- also record stderr for mockup- implemented comparing device graphs- removed unused code- clear devicegraph in load- initialise values- removed file- added function to get holder sid pairs- added probe testcase (unfinished)- use external command- added clear function- added testsuite- use external command- pass complete object- allow to set mockup filename- added probe modes to read and write mockup- removed obsolete code (env.var. does not exist anymore)- implemented load and save in Mockup- added testcases for EtcFstab- added mockup mode- moved file- added testcases- added testcases- added testcases- added testcases- moved testsuite for SystemInfo to subdir- added testcase- added testcases- allow mockup for SystemCmd and AsciiFile- added test- use variable- added runtime checks- removed old stuff- added lvm classes- added spec file and utilities- split c and c++ flags- better cleanup- added translations (which are needed for testsuite)- added sysconfig fillup- integrate doxygen- use single location for dependencies- install integration-tests- avoid compiler warnings- ignore generated file- ignore generated file- find local swig bindings- generate file- added source files- added subdir- package test xml file- do not include non-existing file- added missing includes- package test scripts- moved file, generate file- added logging of environment- always create a "probed" devicegraph, even if empty- perl like function name- provide sformat also for plain string- namespace cleanup- namespace cleanup- log probed devicegraph- first integration tests- ignore operator<<- include and namespace fixes- report disk label type- fixed examples (still not all working)- make Region usable for interface- work on providing legacy interface and bindings- provide legacy functions- provide more getters and setters- avoid name conflict in swig generated target languages- fix includes- added testcases- added include- addes testcases- fixed compilation- added testcases- don't crash if no logger was setup- work on probing (design still unsatisfied)- updated gitignore- added include- removed generated file- added names for enum- added function to setup logger- fixed sformat string- added assert- added testcases- cleanup- save label as enum instead of string- added functions child and parent- save proved devicegraph- fix for strongly typed enums- added check- added Msdos device object- coding style- cleanup- copied SystemInfo and some utils from old libstorage- reformatted- use different namespace to avoid conflicts with old libstorage- work on style and bindings- added testcase- work on startup- cleanup- fixed order- work on bindings- work on testsuites- added testcase for perl bindings- use strict in perl examples- renamed testcase- renamed cast functions and use autorename for ruby- work on bindings- work on bindings- added tiny testsuite for ruby bindings- work on exceptions and testsuite- added testsuite for python bindings- fixed sid_t bindings- consistent naming- improved failure message- extended example- renamed INCLUDES to AM_CPPFLAGS- consistency- work on loading and saving device graphs- use template function- moved file- fixed compilation- use enum- added find example- work on loading device graph- fixed variable names- work on saving device graph- split Holder files- renamed function- added getSids function- added Environment class- added main class Storage- added swap function- avoid warning from swig- use enum- work on perl5 bindings- exception handling for bindings- added polymorphism example for ruby and perl- use common swig interface file- added BlkDevice::createFilesystem- make Device and Holder object contructors private, use create function instead- removed generated file- work on interface- work on swig bindings- work on swig bindings- work on swig bindings- work on swig bindings- work on bindings (not usable yet)- use impl ptr pattern for DeviceGraph- added back reference to device objects- remove old output files- added helper functions- use impl ptr pattern for Device objects- better module name- check exception message- disallow create/delete of disk, instead have partition table object- fixed mount ordering- changed action texts- display device graph- fixed return type- added testcase for dependencies- link to wiki- updated- added nop action for synchronization- removed example now in testsuite- dummy ordering for mount actions- use specific test tools- added testsuite- updated- restructured build stuff- updated build stuff- initial evallibstorage-pythoncloud106 16391151224.2.78-lp152.2.15.14.2.78-lp152.2.15.1storage.py_storage.so/usr/lib/python3.6/site-packages//usr/lib64/python3.6/site-packages/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:17262/openSUSE_Leap_15.2_Update/9740ff03d61c2db02a63aff20837ff39-libstorage-ng.openSUSE_Leap_15.2_Updatedrpmxz5x86_64-suse-linuxPython script, ASCII text executableELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=c432a18697fb7b333eec050b0695aed849632338, strippedRRRR RR R R R RRRRRRRRRR;íC|ɮputf-87b5242d587ed44e3938165ba2e69759b1453f53665270737b9208a58c648373e?7zXZ !t/]"k%۫=Ve-3+ZF fDŽ8s b=s{?irHJY]Sqf_6"]hi+#QOdC4""} d Tx׭/ǦAN0^ȱ`k'IŦ`rW1;闡!]<%D๠]`vGN?V^n s=ufv]s_C6bLz1h{Uԛ/)t"A? |?yA"HJu#aY0g vIJ+6qXOmו~-@7gQuD_{Jy?f3)-:2.-P{ιsC@α5oz-7\ d(:48Oƻ=IUB_7XL]Z4 j-HMDinDE?pJ0n:44UDm\ b)x$* ÖLO$xfyiĔJ|M~A~y9PJz9M֝xen8de|R3#r?Mw@..4JR rmyI[9^:<#tC-UF:V>w+nC(AHސ>境 ,^809{D% y:+Xv-eg56o>X4*d uԣ.@GlBo)97#0@2½霻#׀.؎<JO<4Ë&+gZV6#?RaEG 6D{Joh`d_:|fH=gݧL?:`g-#yvX;<`  4,~ګq^yt\1_yAM gWy"GP򾒤D'- (t? Ĉ%6㝄J cXD߶ ZΉbN&VUÏDL8ړ'1UeL_ ccof. O JZ#׆ Pn)Zʶ \8AoWP@OqdB[G]~ - 4uDJ*͡ \&u[\v q5zsrhXgb.i[HǙ?+o_5*`n3D0mKf/ ΜhH\A0Z\3u-SmXW2|a&#p˾uIpqS8'DQQHI <+́**o{."U!; =)&K .@/2*qC ]d+HoJWRbcuK |d8` Y#7_/+ mžiS[gbMʼ⥻Oqe@z'qq%ڢ_dGQXY._ůpPTǬ)?يwwF:H8J.噽4t]و޶;\]P32?qFZ-%kSiXʫ6f iڶwyfw:$w0 mɌa@,Zd%POŔ mZ08=GL[W4"mw aȄ^]ek%nٖ &Ih)TThS0RzcgϤ_Op Al~ֺ6w/e~9&ToZnއ;/#H =S"=>l܁oAt=RViߡLʫ h@q4{|E7M4u8@ T^fU(!6dOhrk2_ ,3Va3AS}xseh7++焻Ķ2zOL+f+&N bzW<]թ~NC(M4ߟe*SVV bPҷ" G\yo`u7 ]ӄ^s1 Vt0!\Py1]={HOֿ4C{R/Y?vU c/I굁5>vxa}א3cߵfN okh8GH5 纘rw4PY6imj >#RX"g^,nyT@>#te7HB`P>" .aIy1;DhQLh[|c&~mhP-i$( S Qv$j|s#6s*(2wKE=)y4 ؞,8%u@]#tM_DB}]MNbV4 dmת&Gt0F])= ocƋ %\hjHZ4P8c`CJgVH,Oy1@b H9XR;-ҷs@sє$ѣY_vv M᷂db3/55懠zOJ3eȳJBzbV[3# dfC'RR]qxc# hIZܒ$Jc[;z#{|u;8nFÔ9/oo*6r؟g^AX6mAkLcnoiI%Ay 6/k&u}Ez|qh9Uo>. mcn㖄߿b%2gPшlPņMrI%;X5CU8QKM mg$~;LVB#?IeA|r} (m$aj!%^ fƂO 낎Sm+~D6< mU+/4t`M,~+{8Hї/V1w0V/@@Ź;/SH@gło )h4bCvT_披z!ɭUH~vitu54rUFB݌N4XG]m5Ɠķ'6Yv%ל}ja fk QZwٺzfW-<|buG-X*]1/zQ"ݽLHc6} Q CCmsWdTproٓ!^Pa C΋1r<͒I&""NHH8TPS(L ߧXOfύBHҌBNZ= ܜBwe,NꟘ6˜Bʫ 3ǓNIT]j\ 4f/Ym^ukii%f^4[7 `K(  }kBl[*gCLȧhE_,9;Aq M֚g9R¾1bJX A=UXFQff({s+*>zS(-@ǟQ&yQ9be:DݢcՐ|OG<9"_PP^K3ܦSw]f~<_HƸ 6%qEt#K9 ϫ D`.N:/L<(2P q~Z5YD$UZܤ{k d<O ڐtyqluDzۮ෡^h}-ZeCv_mtW cFɧcrD=1u2@Ymu6.Q0|gIc%}k&hV/axDf|^VPajBi <1p P3@6Z,,VdKln75:$;6*f73r6HA@fM۔a\uJbNz-Ϫ#7b%|#u8rŖȃF7_7|귣:״ 9UDѾp@ jXPۃ_Őb|>RhA¿*]+09 hlsxK/]QΣ3˲0"\Tulv e勩Φ`W=QK+K5Ļ+$(/4ܪb]2w^dl$glқjwkâҢy }":/Ai*|ݽNboJ >j gpyw͚%=msWXHl!+^cHҠ}RfnU- ">V`~[L`_*:wQZ6]ꎭ|^* cxŰ`d- kŃUCzti -H$#be tߖ}ZiEφ!.n)- ZA8NN=pcTB?)rƜp (J2)Sȏ*0za?W@$qcyfc4ϟ]=:iwU6#1#bF2ZcvB,W-%r3΄7XKIhX7W<atkP=:->4# 7HbX . `"#&+Ɨo%l ck{C)锱2 fASI䨛j&̃D{}h~G,y5 ® l>6:P`bf+NƺSl F;d7H ,R%=I"TC@eZL}u5\?FgNGa50CP6[}3DEY(9(yٴ" _͸#CźR?%d%Kqa, i,5Iy !~TOK íE-+YJD]{@[Lq*NL Y%x_Q9&`p/-yN/X![Gg9;Mb(u÷_7J*!&V3/ڮ64hѾ|)mO#/+@I:Jh=Z)2-P cW^XwQs,+`*tJ 5t.9d6`W̓=f4ӣlt73 7tM/-[C8vI'oԅ}]9=JPt]* F!~.};9S.>?̎oL빩. xhfZGBc<)lLy2Q}A^xN\;<.ڰ 'goiY\>W/U7 Ih''X:SË %7~mtu P؂|֦I3n,i. q[E qix2O+pw!YeWp% l5of劶uȀu0zSq:ڮ[3S,*DsmoW}OC WWac?51JnUC_Tu nZoQ&bR06Hws $N:%YKA^#qOV䟥(e7EBk}6c1z I=PmxJ.,?_=J[;U@ktAުF"$UEr`BQ9z^w!}IXP΁}: ZeS 9Ȏ-;~l(Y)0 8.,*'" S:83NjsLtsBn Gv\ٻ(4ӡsf$TMX^x'$П,K<؎>C}% η\(~=<y}䚬&`󒧦$΅pzO |MHC8܆q';!zSQ+-6 D`?A`_on XG=j%lt*Ґ!"Ui>j{4,z.Ȋj3M +kX/e4+LjikHeۤҦ,‘ݳӟ1ҮFm L;_ܟ1猜ȿt; 45w*_DSxX"O$D-9 fJQ=8_rBm-F^ ^ϥ o#*%4٢0:ΙOkBzDQoN = *%&@OdHWL24y__uqP_#:/"X drx~O_ʿ " \r4^NILY5CH}Hnk}Q~a2p& ˓@!߯d|)"<3 'lEDw^d08.%ꝀK~fX /G=:7XK.xma h"y',@=G=whF0i[Vo&gQ-9XPVu>GNdX es?1ZD>d%;4#Nrbe1UmKU? ZE7F)?\8Z~ "@7ysZGlSθ!9/ZćnL|1 avV5DՒUFIV*B>H6kx{|A$A:k}ގ)Ȉ_piq1|Ocpvzӌ_bL+d%e,p,;3m1&֯zѡc@[Ά* Ss~T,ANS2cP( k(FgkcZ|gYXWd4Zץw768lnMGh5LP`ztR*rYo7,=yGK筨c%Lk眖[(FrrԨc 6D'"bSݣ s|cH8cSV\ (~DTʿ=fxe6aB l@=NɩSZxOHRv*"[+(,%9K"ij8/J񯸶?f>XN 'B՚ 4Ia r xֲ:ZV%ϛ)wF?*hj ^T8Al8THt FīUO +>A*@'%3hqUR8]աa= * xXN&dYS^ĢY~lNek#{~+(7hi?^Bb,I;o52 16 GcTxJ=GU]rjUJgWzs )j`A[&rt|1/<!8J9Fdگ`É_ '^')rsvDbέd[SceG( gy5{%/#(Xs80D-u;5jCkzT3whΉP#u/vSp.;-\V*PLYJeDVܷՖ'qj'E/'{kYl (6-_Մ[%++iGG‚PM ]Og <oi`(' {DaUQeb .J,M`-T૖n~ѷ>-|躟Lp} FwkeM`d@l\Lx暌'ʩtGÊAԤRP0].ZƀD}UG25R,sq#`Z6 ЎY~ ^cl\mccynmD%mWm•Qr,*lg{i{Ʀܗ5F: !SpˍZ^x__onfx3 9be!]on$KkA<ϋB GKAxd{4%hƿM,` ' 2#ҽfO3nG'pLb4KJ܁R;p=nFn%1U_h=j8qI]]z牕Ċi}#ema$8cJlObM0-}Pqro쁰)(gU@W xN-Qpou\cq/y;7 ~)0R\8 CO&|ݔQ5)[R7=yIZ\=]|yZvW i,4h} %oF5 OhpL}t^59qvű\m .?Eh=PDPW#r/+ZoCn1,"D[.AdC#>=C$}7b?Ls‰^V㴞l4$={Z }5R0x>n?QT}073P *.,S{1QWYZRڳB8跹 aKH>@epg]O\:g6 }ц8:ʎHKh@Gz6Bƽ1fzR@]|aR.c}*iQp<-ϴozQqt.sj1 J(T)dpmB |T*pEu]>8[˰##w1u[A(I}^(D|iG7c+\E nS"rc3<9J|Pc D^kTKzE֩0m1\VvD \boT߼>!ܾjUU}[x IZ mH5X~-mc6*B/,0–,Ĝ~e@4寁4ZCeJiwUy+h[nx.3x uG-dn}>RX!,6AELv暿pŎ&= ^}ŽJ?r"cNZ|[AlHEZ)#Em Bq~JJ>}f:9L.]kI1n7k9stnX Cߤw1tz.-@ƛN\K5)UVnZSDህ^6wj5- .{IPb)"O7wcԎfI r,1z@ku8y%Re07)]py k@É;{]v{vZpZ6)Wĩӣr;mˁ[U-qP"+Im=V~JAS+`Q1]w/;rP?dz+Ey`v<\ŖGě+AFUE#@v6>_35 T'OttF0/"R0DdS(0i$춍K(ӭIYn~ؐZCaW)-H H0u]).8JTE8 n~ro"J0Fhv$"i[Qykt^Y4aqɿolT|hE@ *G()X/Ԯ_T I9D$ /j +~ 5+$$ҙ~ KU%Gi뛢wģ`\N>@O:I⪪T MēWvݮ *ԟ>]x\lJJ6Wx3?7&WfRxr]3; hB,{*]%ŏ')[4q{RǷ=]F骇,S;W@"a]^k~t癕S29% 4ѿtM~ ;ˠ:XoΐClُ[sd)_~o%2a:λmm:~!(@ЋkkS@`iP˿Vx*PRxXE r)ܦB ~h%m{X6Կ LW-8;;"j-5zTKx`"lJPF]"'Drs\XaOZDJ)pBiڟA { ;1-0zU}b^һNa^|lV]KuR}]5?'yϔ;bhs@ȄdԕQxOk&v")ɋsk!ۗ8"Lɛ^ ] x8RZ_*XDխ; i*W|ҏM#r_cy/W>Ƿ{E0"R/ eRN]8e3` R H"Vf~albd3l=nd-cdž-Y5O78EDJ}cz5wzr&mXw  Fqp`DrcLltQZ2YdF"ʴYMqJY4hYe ' (ŊdS# ^EY Y ) {O='̵֓W;hKV'%{XFwz9[@uָҒmE oV ml bwYٴݴ<qcrt J8uI$ Q6 y]麦UAW@s? ]M{n﹥3^/K($-y tb5i|*,l)-]F@GO9) BYG}]s;~MſVT>!oHkqyǁ,-?Pojnh}Pn4\nr1x( ;W2+VC}PhpNMSqwyyn=EsVIWP3? ,&Js0ix<Zy>!ll0V؄+Dװnva/`Ylv| BLU'tBME/(GX[Û,A-4;̹葮 5&gXVx8"i`H.oa|xF)%~|vխTQٽ-FCd3Di @L@\$ Š EQTq)]Mxs ?٦vI_ v[~>񍃜_ht'@>?!t?**q+()9U _a Qڽڮ.X-߄yRr*Vr&$<V]b}$|m JU]uc-?C=FXCxBrUfE5+;]䇦Q}Yw%toP̵@Yh|GuIP!p A Hl1Hx a BbuI?R" f 㦋JR6sԤ=>?Rۡ96KT?g@M웁7$kbᵀ_R,X!SLބG%MaԳiB&Hu.HfյfgɵF\$he,! K3+pfhޛKqH=Nj&S'Hlh ~2_88~hth~6WIk8ׂ&Zi9 y^іP}77l^MLgGEk]M jOe 92xz u (.(]o^p'h^ Jx!;ߑ ^=%hkDcY1Rkd2#y2.X{w$B;PXW<cgP/ɻȞV.2F`DxuWèh|}%sR-4;=ToiG~n~{!GR)%'@P#ME2ZPhX勸1JW( a@]XA檇^hP@(3APrӪ44th sCF.ri9;9JD>\$i#\"?:sii)&WmYsw~j'݉;$G AA{ 6 tD<—B sL R5G1vZ704ngWZ-ft 0aS:G&b;7꣞hGDy\ +l Qs */n4_cISDd $}mI2iihg>|4E0!*ĠЄe)觛&-dM} :InW*ҴߨV9|0-*CP_L";:F<XcoŻЧnVn9bL#(B6/ROdT27;{SR{ z`߬.Q2R6a*"enڍP@gaT\*Œu}0CJNu =Xy H G^Sj YL)a0{* ֣v'U“k F23j*,ŀ&hhVw)zjyH@GvZQpO>s[ibLX9ٌcW,9LJ}d_ (fP&RD,^3$9IFd_އtBm|Ѝ*cŢ iH{!{r {$1}jp_ 5!F^J-q4+!L~۴!RqU,Wϧ9Bhz%5OjM 0^FUY3h@=\pv3mpWe?,g(7q9WRFW+cgo`gNcWML= vfqdW4ߝمVt6`GHH<=(dƲLR#Wo2\oϘ0F- tv6Xsi Ưjeƾ#X-5_vX>z15/)*kٺ^s]b+ԠV9hl Vv@Ð#ˬ8?/xg)0#^-ܩ4@JcAE9 %snvaXDv3@Q—_*׎jTBrCsc~2Ym@܆D&̶܁U˷i1{ ֢Qi6߳T]rJj}ii+\p״U1mU!{{ vo}m~ Loc\QJåt7yQ]v/O.8=%qk"X!u4ԃ QZFb@߲ o%)ڼp`üy@ -3l~\ɭ=78w4mo@5w^캎N<˲qhdo Z#-AKz`JNw _nF[I$q^qo" zs NNx)`)"j9j@HWƱ oNAh~]q-Htٓ"]+W#?oNjr,I;Gٌ}HRac&/0C w7I<:hAPq ׍ CRq/nB;ն~`|dxVdzʼnˣNsJH[:=o`Rs2 0菭kZp?SZM=TW1[o^7)(p%m3q<3Z5K27yR1ܼ{~Qi1'%RrY)Nz4rA]Ǣþ5XS&bΌ4_wQS a11/~@'K;--:6Nk&r!MV\T0l.3f찧DS7VQ a( W^^48|j@{:tj|O[4Ue[L8œA ܽX 0&i\Cj,c봼T39{o*{p"y 2x'ߨ&8f ŀ/&yx |4Z>;]oZ; : `wdai& M(T@ ;X<qmܧ 2\1y譑~UQ?y417dWk93v]vs*]%xQL3!}Pcj tEtڈH{LIi7Wsy?echOt/XC}_T~gSȽ6w6L Db(|l#;)*l+zO~("@&137Jät^"aY}X.O=n]‚bz_깭;ڹ(h}ݢK!FAV>8S lvgAr8q[ᡣu}b/zHZ[R1nd]l1Mjirb-QJ-W h\hMx>Iؠ>W%=.L ǴRr끗H LpISV <>B[Bs wqь-40ݻF)/evq5=:-_7x*ȇ~eRF}i/*5p`eZņP< ,e=ɔ,,ۣH (Ϋџ/ҐhǞRK4pTFZc{ N (a U`nŚI>"wrqh m[O'|@Բ:Gm N m-WEƑNο?S eO.NXT̻څIJJ;{qӺ`[z&y h)ɛPdswj,fHm遀GI4?!lN<$Y=I=g aar;sONZBi vo|=9k g 5اޠۊJmjP}4 fGSs7S*<_X-}JYsHm2wu̖hʡ)1mB qzK+:86Z{1TCel3_(|2X H7OK4j0Z2+6"x3AI8<4gl"145:%}AqHȅa3-VڙY0dyxli Kv̲?S)&8~k}qG"4S@u5dp>+==d[:7'5C%gQg4Ũeq b']q]572Y4)6/&Dpq1\_<7H"q?Oz0[JNE] v*oF~ r3~`@c3Z>WBJ# HY; ɾK#h01;O=}:F#қ`q& *BX( ~Q $(6kCt8<wqݱ#ЂIOcbnNVq"opW=w9$=f %3KWmM)X !Lb*-.Q?}JK|g^QU{Yjś )_Z #8v*`r 2Sdj4(˃1@ˍXe%Vy48*s3Mw]Sq#8$7(fZ >pSc~8j>3f|F[gC&K6`~ngTΛlWlJ\T\}WtyکLN(C{|*3it AyG&PNئT@\vXkݻ<PK+1?qᒌbcp4ysU_V#Bd}Cu1x%ֻUjz0s`F W7_^ˁN+a/|$%l/NyL(`!` ]R䋶 maCb@b"mcݚ.?Āv>9܁t k`ZϜy~GhO8E&ܘR;oD#)8akxYV[{{%E~kN|%kQhE3qd y"pwp @5vmgQHf[ݗlcjPů}ܢ)"[Z`%yGL.o?#/Ecbѱ$ rTϒR4"}=ՏlfII3鷺Kw5j`ZZ?c: % Ճ|jkWL6,ќD5^rO+O\tOU0ٝ ը{IQ;gJ4"eO2wTKzk)i'd-H> pK7&W. !*KŮ'qa)˸F#[K4iW<6 `w5a6ZOʸZ\Js~mQH6}PV~(r-T&' k*g3 0GK[Qfζmқe{㦷7G(їf7/XښZ+wd_ɲk_,;0/[!zІ.pN塟m}JвPH/&NQ*9\t(e: -~g@إ^?!y; Qӧ3hܵ‚+hP8]"y~`T~r5I&5D8ә"#ђ: 7z C8JSDEcS ;Rù6ؿ֥78f)+gMH74vKXB; lyaI?oTDL;:H#r~.FKpaԖ` "l龪 aKfAN]J k +GZx5.XAl?d]84x O1rDܧVZe-d~ZZ ~ ˀȻ-ތݭ[QLTtr]|VoB"(g߀ő{ 5;hx޽_D"tWlڦqWi ktno([Y;έ0l*{d2ky;#]9`2(tw1UW(Ow9)~Wlڒ2k(/?M)JŴV GAU;+]x12ݸwJ=m{Xw.9 ;wz)oQ8*(uT(׬'sza%طzT>2ЖU3r:" [׷Zl#E8#=P֤ôK,w5l"^ׯ&ۛ[ؚQhߌ#*L_>֥$+$sÔU9n}%o<"r?|`|6`AI)b^ n$= E(GƆ26xP Jo0cLcL?>LSyV*:[c!L jw"):h]55..PT2h4EU96itrjbrP`?t T}]L.y2w&-NA G-/ߘWqR?u^ڞ b#x(26l,)H\2Fh`$wqt~!s}onzH^.ۣ=O66O*yKwns}ap AY3 |rƤ v@YJUsqXi2'CSMH5d#pJ= wbf(dSf.)Q0'nޫnY?2@u7捐/\B{ 4.(1]Xph_nQ2g@pJ5S1u\d3sx=>x+87K?B @|Gܛ V_o@؏W)H#,Mmbz~?fXK#(ɨg魫̕8ձ[7xtWtnx0aYl愽2@kdVѾB%m;r:o7. "H/ yQCDp Q`EMKJe9sg6"p# G{׽G6C?*DũK#dzvs!&sںgJE+S {K+Fs>!˚h\5'pJ!xPY=QW0p0OD7X{ w!NS cLΞY_J`Sm5!#O 4F]"% KR ^șصGD9@|QyPS `s x_Z bzEX9mw[ U)ǃ\XݣGanly,}4JÖl HѤ%1%:A@PM4Dav4[HʍKa+Xe"ҷSm+94SgὸKdȹ >C~$:fM3*JXܙv|JX v-2ERh50[DC\sT0uL63D@&lVՒZ&$qH3CW$ wAP]c/ih>Niڵna:,k '9[]YAxel&lh.؟A0d}?-u̜)u#5,B4@Hat! y38 g3ǽgJqZTm䶬-Do39v>a{~nVyQ$Vl6Ϧa:2Վ0cu01wŒ~>"kM-AY0ϻm+b2F1o/brnщ㝧I+ >OAa%'!W9z bi8NމڔR&ah$J1b E|łլNCY(e^Fwpe#v-r7ofܞ"n`-)<뽪&?r&켽LҴJ/nH/;2zF?!|S+NNÞ }/Ew}JrPE H߄.CvBZj[;pTX_7Vmq- Z7>:k>uy]͐ϝnKKRǫ5g}!ѿ.c'h]~c$rbgL+Ah6S.Krf/r(%xoH?o*!QH  I iO!f)ó K D-2Zå-oVY^>E5w|+kuC 1z-.>bV Itľ4?NS=GGb%#\.O>x̳Z)El៟MFe<Ye.0\2-OhT3ڰЗPJ5Fq~Hu_GբuCGWmpוlMf53P`)\ x"n:poG=L) 4h}m$'X?MvIOfjj_ RC†eSH2pL$_h,F1 :[1߱yX Yy\xwÀ.oD*0X'<$}X =v /y>)_*/`g@ [ubM}2E|m{Ge^v!i3Q΅xɍ_>fȪh5lee#&mKx\ϙW"5_ &֎ <嬩/--\yZka+E+b|Dg ф2{#8y+;dչ?$PQx=`& [˴ϲ3`]X\cNT-2' ޥf zD-\dm_hD0GK,P}!B>U^WۺSc%wF7j=|ز 8|Rtwl'/&AeP81CRH&Q2Ap]-nm@sG>Xrfӝ=9Bf?gBaA.͵}\+S^PPz8Dذ1&Fn#OȂHNj-xɹDn- 8^~5kqzh^H7=6WmAϵ)&jLV b\>3D;ٱHSaJ=Cz1dID0`h_!dha[PЮwW3 TRSTW羐<ԥ^A'1Iy5Tz(aPώ/VrɴKTp^J<1YzdV1#T]Liz͊[R+gFSS#&ZwN:9pbdr"}8~Gi]F@a;dm1\'F[7FV*$3[Oze[%T/ԯY70C|.NwS "Qp N'[j1`2ANn;.ږ[ZWL$ަldt&'Ǎ:4(^vY=;1 g\l!𿃨\DFu@|}_@dޚF|bO̗ʟF+:B_;?zDG z畛k2/p s`D^|Z jQ`oE? ƈS)0` f*q5k_x ?®11병}"`FdZM'd/&YTk$hjaEeF㾔<"m ._L{w>@|_} Bj):Ӓ )WU,˪M)cZ}uR 2a,}f#"-rbU>(a%&.Jw'6*Ҹ j9EXWŦ  *2/t' zR-JM*^[XG7S #ZR/X4?*ڹZao'^@H1rI\p]d K/b* R0ޭq6?q%j[= {VYQD1k H7|KIU3F;ci6ӓ]Ey Բ,tBR?a͟lyxtVq4mD~$^3>6 /+H\f^Q3b֮ἣ"M|$ã2bdCXWrE$[;xE@?('biXΝ3:vD1M_!UkL Av$,]X>v=*x#1piAE_e$6}+tRhu(1PjFh3}o^$XGh::";@GF)]LhKh$7bY ;>'`8*f! 4$<'f$qـan2 .?L: L'ߜ-fF5b~~`> &[_tt`.Z@R1XA^_\^ޣ9%^&\QF@9psTKgf;}$yrسu C`'B_4K6o ONXt U#t6$~d\i\2bP4LΘXČ17v4$r7y$ՊJtI-}M^?2d mTP}wGru,yIJ+ p1zʅ7 Ij\_7g @cDa|^Gva| €:{=~@\LOO<,Aec_DW!xѱP[qktYXyڶݽu}|Hk[K{J؀&jb۱Ԥ$;# Ļ;4^"E .%臭MT}JƥHT%$'_RR[RW:k/6T@~ nr(o8{ Z2ywZܠk5.ÏC57c>I3ՒJPʜOawYA4[.h~t KϬM=A* jyH8oS m#<Em WX·oYZ0 OB=eoFIZ& AAXUӷw[X~(^ ^p8\V͠Bq|Ȼ_0&o~dOt; a1O_NY{k-&1%KլضnoJ!E;?y7Ogd86k}b8E'g&V<WVήO҈/)B8nT j|^D}<^ʤ'I-P ?3|ggY"n&޷O n_2Gc p蕢0;Fj@>keY ,5mS4Z+O=0Wn2 ʯr%q'#=.Pkj@8/=$JG$X/P iZFeӻbéhĄW3? .hU]H5}>iJJl^ꎊNmqјfЙĐGAH|/X^S,tpJ`g&iԾOApQ硻txz_Nx%S!QO=gbwT 3U[[42`thz5^1̞[}GCK&7K9Nt`A Z.;AjVp8C 2"soYgQI{֖YUXo(E<^)`# m0iۛr!+12cqщ` icb\X9fzZTj9#gCV8\:SsYH_\, X6ԖLnDQQb66KRr+wrVO^}- ;K!{5' C_7#O@}X$u,i"Y){lBcw_aF0zhz}&A↷A/dqO'jNl3;f#=6'TsjSbWm$Ľp dC88Y6c2 r "-о]8z-|)֦2JKkV!bVFЯ1!2NӶhOqN8N=n DJO.Md?wѸ*kLK'7[.?fpej!xlSf]TD yxJ쾽 nTJ?6$fIw:˯YhB{N`wXZ@:iqyjxnYDked,/+u a9!ƊkrhF7{9pc=w"f)hv-p!wĭ]ܚ'7l U9a%:'Mx5}2Ve`t.|?]鐁w0WdKÎX!IBq!3wxzk2koUݾa)&꜖-}\sxwb#a"\^"yUIP\dz^ oPPTp'+=KNifi!L5yHwB~U棳 С4Fߺ(9vn#/ `JZ-_1i ]zB{В]])BP@sМ.}0(&9>C`Y(B]?WqB$|BT ,+׊붦V?JHJTE[(`O?=\}!n¹et "*xY<sNwðS{;Il+4o_;QцO~.{E; [ '!cTcX^k0GJ=6_V&O mA;ޘ4j&4>[I+qx6:Vq)<_$q۳2Ts,ÎtQd.t77rx߉xG(Bq,L/jfvV˫20!$Mԫ)A){"L)2akt#/>rc4IY>0N."y" FK+[Nܼs3Bh-ǀ ,LTlHwF =dm?7W~t,Ȕ#="({fӇkk.F!7R;> j$~J 6y_|x"X㈹E5 Uכ+"&Q,aA( .YǼW$ .i2ߔ6 벅I?RaʼnD/(IxA[` eEǴX@ aD{byB8oͮ7..UJ]W昂ǧ"߾@/᮵pn;`'G{ϳW pgm1)StH臙VI2.}b0NH!Ą>;S5a0I.t!g՗cSKT_?n)8 #'ūe8da3elHw)b*)I" q%w54L̓q]!!K@Cͮ5ϲVtg 0qٽs[ufX8vtYh"v=pújQH(f3 Mz]$4YNiLE@Dfmxccy6`DGol7TcpwZ+,=n ]AHT~m~}773ez;x xV6[錗y*b_$7M$X,Tt6j-2`8q.Pil*1-QL I?^׻S1~!<5~#/`HH~V>@Q02{%`(MS]5acN'gCD߷y"ͻstIO@OdniԶ ֓69qf7w]T6kUX"`FSSDp ]Ia63|JȯI(%<)zo J~4*ѪKULznͺCY%v ZZEmhJFa晥NM w& @Ӄ}K@M.>}*2o ӃO |7K:@Q 'co;$ D^Ǻ4>wA|j vcm%xދus{ YV}FQ0.kF0F.,* ev{i0sV5k)O|3=zOE.>X:s#X h~Q&E;OM?zՙ?DN/G^k5WHBd~̉18λԗxgRJf%\ίǃ/g=.;b45N1Rf##VVhr1]oh);as;i%S_:=QE5!58Y E-8_uqCҾٿeb1Ӌ>opu,YD.l 72oCU-.苬굅D'yr_Z8>93XUc@ qwan!:j?_dKKL#Z5(YY̸aryZ'c8|G=͠ KLb krR9DR9#Jv $9t_˦-:PTwI U>Z OY o2|8WHj⢹r9l:N+bA fW\ ܳ GJ%ENN(L]};nbz${ ܼ[.ޘOA˕##/:yz<\IJR=UO*06n2m~iD7 Ui3-^93+5p(zsf< ;S4c$EG}ưf"Բ?A T EIlok-J u!ɊRJbŅDO6G#fI^t"3_ ֠ DI \,ꢦ\|NA6RGώ;ϾIS$YO EWֲ6U]  9zߕќX/MfT]Z40QOPstݲƢ (j.M"pi%ʹba($9` pH(gHmzMҭ2g\/?9ݨjh*ւh'i5A&Š[Q=nϗsmM0& dLơ L45 6Ϟ!O#c!$k_CeqoiOe_N |''! LT27/3AW <xP;\h DҖU&(U@wA ʺ <_դO=3O2yÍ5;6eip!ǞirrNjHCJy4uh(&--,Z_wՂl >T[!jLjx3>ԼCig@w@b>G۲{v/+~gQ)eusP*TYI$k*Մk{C%luVuHR jӀ.Vckh1cLO\/c_()`տy_wS1JXۑ\*,-c qr7kBWW8rb|^6@}؂ DZs33AlԨIЍr$NxeJ|dxf4ekz %7l;;}T) BKmlZJ7 ԭXP&7ib 5 @39:Vb2zǑìUq6Ĩ³JQ=U Vk٭Сcj[3ח(WP*k-xaBwz~O 6y) 8hNOw4;6dFiƁ-KS8d1y-:/Ը~_Tx ^lM;no&֦ȭLr"{-5s`v>gG|W\o I|`*7pZ+3J7=Nmk~WA9%X1uފbXS{:[4jP3#퉣" Cݽ:]4d% U2D܀IAE܄^Ac bua|}Je\pvt5%ٺ_3>8Ǹu(܆.<&v*I{'`oh/CZH)g׺fLt_{u+5݇Ui|z܆WN.Zn3z} 8 y^RܘHK>~,h%;asw 22+vp=2 Wm"131UBC#:7:0gQb&YwwKw]Ahq0KP9h+,5"y3I}jE3@S;5ڊ qA2^Y(9! x4Ҕ;LץĘ,d!ܙэz|ءhnI{UM+TS3.+[n"'B)?;z"jNaŮ^ 6VTucǙ5D#k=eĺ^/wR4ټ\:`Óx$mnEe _<p8ɯ{'Ϗ92̠8|8 ȩ7b:6Ci_o@~-1U*. ^B@мkx?t_uR~8 Uf$ ēH};ޛ~Q:\-}:dp@1zc *=(xL$c MMntj;Z[Auoȧi, uH]px/E2 Ak?$ZJ"e!STwZ{1ٍF{;d!6H.”TsMBCI ݁x {3Sk$FT)u u2vL58'iP'.E(rB[ewJ@ֶwp6-s~':&ҥڄ0lGJg P\jbDġs@omKJ(Lz. ﶁ@믗zsf韦bqan }Ӯ;ΰ1xye#'<iLjz -,7+oM2yYS,#%*L YU0$d̊0Kic67>je\eaP`pa0Od2KxeLph2Ux T7dWpPF6 q6$\\&Akx*W2guEARӡ¹@"3b^ruNaP:dR(.yo0}vZ`ߞrT%D=ӓ,@}egE'}-!;# ٖho49!oti0*o4X: ֭E1SNޠ[%{W˒=YUMӊr}A+B0J!j.O M. zyҜ{2"&- w-NJMӅ9'iT~gsoR^dm-{6SbT37Uj77k\ČK8ZS5;?İu^1zHL]vز@:K].+>;O{˕P$/myؘi4C%> >maPdZ~o{BU_kaq"G#*_JgLH"'p۝}(海Cgֿ`Ѷ$,ՌEmB!6((\1cȮqܚ:~^IIl`_^Q0ud3 Mۜ\)mO\IT˽oPf plRMb"{/QE'> +ޗQs,:ّo{ ٫Ӎ m,֩[ʣ+ ID`6i9yr@'J䪫>?VNVU1P BcX4?UL$%-` cbhCPQ^E/-HrtITSEB˓+6H}G\)8"^?] VDI@a~ͫPS'KF˷$3--=&kKȣ mH Oo~|bb7!O@q/h$/7``[1L^iE$5繉BF)X[t(pjf8u x`+ rNЛWiMY%9. =!I򑙲`z}؆gdže cۗg(&Bt=}Y%%! jt_ D^ǩ[Y^[kbs^m-IxasȻzFek٩hдT4AfLRl(>bԷ # (mRWX{\ZWR%U,2 ?:?Q7I',CmWEBEFꇌ!>q1uPqgY8aQ Wl6 ,Ff㓋bo^h%V?y_DFkIbC d>mw"6Gp9Z撪ӯECǵW  gr%W Oe7}' ~gl`8NU,==BA2)ɾޛպꄅOHȇ} U\c8Qt e1Q^ Hko˾8sBL<I?Mn +O=Qbq~230I`H gmb@%~EZrOHy,VE# ٔn_8ˏ;s`țJk 6O`bAK4z2k/p9Bj(KoՎqr\Caj&SQtϤ6Y}:/D0)yf#k?}kY|7LuD^&֚.%է\W-1 |@T g',HY8{])Od\nYh_JsRS67X[oxs]~OH; zxƒcm99頹}|C]"Ǥ&].D7Y#)nPw+ ,HmMXDъԢ'6zy_4ے0Uտ/Eva󈘫>H4@d5N^.WDU:XHtJԾ#@A7c}}C٭D܂nc9XST&TX @fܸ?r w/(-)zvL+a]@+njZt^^lJfUr{Hif$\3iH.\.£P&̈PPW } (M tI쀓% lpwq| #kZ ]`W]kC5bst=h}Р*w>ᆜNnVz'D{F쥹lM5)-a( ր)[-&; I#+Chlj!O` ,4L|G70=,fLEtiZ 26A$uSu֮'֮W[8^!I !<9u3(ܚ+/Q;F/j46Tưƫ [1Gt־cq5I6~]8}&CRu$T/AKR̬RWF:Nw@gt'P>c>` 8ٻVMVI҇'^X x1l"Ch|SJ??8ք0^:(y^v?o,7Ex'Z8L)&~ FAW;s!, G#-)$w]/5Im&g {+ȣ{q-b @5o"k樲h^ws?'ﰵK0w&VXW a)IJxQ`9K,ʌaP`=*ѥVzI׶@rb,œ]R*P $\QSŃk3=/?Ӣ]DɌ|޴sH7TKl5_ߖSLҒ0֨I1[@o5:dQG|%OuWhevneq-.<ͲԮ/Dۅ~~"3WC2fSHfágMXTnGȆ,r Bo m[kCE۶={Mm[v-]ANjѐ3,=G4e{#QY*:F6!Ky|Q0!))T9\nۛȄB"wڡR724T=),VN/o124`BaRéR άy;"phP͓5l#Zb:ګW? +V%eYJ.{1rK|_#,ec21b5{nŴ:Eu$ M$ͼ,C ݨ~A&a!B5?7-v."8#;ELr,ʥ@2HN39v ⬪CF*??C|R̼"vJuNUx~D >*E3;@*ogH711w\x(/9"թi'':nĔpeoRFxmQAwxu: 1r_r3N7v-k?@'Ѯ„aN~K֭Zi6"&Fr(V\srEZ(>io.:k#zj BD`߄iO6H4QrO7vZjϙBB_%SYTzFn3k bcd`ai0_ՋQͶa>_qXqj Z܇]4.Ԓ%*/U (gyel+}dLCK?i܇V%}]B2,fy5j Ṿ YihFΧ䕅,OHX5(qF}#|4g٘ZZ}㇌1 GG)QB@ABLE b\eOOb d_18%G_eVSE M`'uUxz(vkfdgߐ>ix_%3Kި֝BMW$Fэ&s,-S@ >{v ^lu2*L3&4Nqh'|5-` mɑ~uzq6}=25Q6V@rk]|U(N[j"`zP+1S6"]0ZV*YZ-mDoB_Pr`:aDQuj"Hf1֝.y<}Rh䡖b*#.km6 )gjC]nsv,Htz~63 }T>m,L+{=yRެ9͛tO3"I<(^M8՞p4 Y6i1\AÜrǜʝV0ד01`vw]ElM݇jI+w nY{y3hmu* i<"e}kAGi~Z@Q󜲑M^#}NR{V~P.l>)YN4ܡ9y@@Ijc/od aԃ` wZf:cHL.})O;zD:"8m%ɝ/+<0 ˒R]TZM.1rB)C75ߑqx{*۳oL*_ |ڧ2-dIzu4=W`tVP ٌ{U^zQim˜N AI은10ULDLVd*js.<9hȩDN\B"chnZ%Lyғ{1qyU'oYP̱7(rPAS~6 JS©.ػXD8+`S+ UM]@;^ǒna#Ob7BZ~f]܏\A(Z"'>meb+F0%C#MN4>C WjUj02:i#Ϸ~R2]$ID Ԥ YU?Y{1tr`)U54>y_yiy^2>k/\ 2-/1W:bpÌ^#|S'tCeeT? 菟R˓N]iYqV+梠6#ⷶT˕*DJ@kcaH N'tT&'tѼ֬U=UcyG!"MbCtwfi{t*YlXpn@*L/RNLg]mH1mUk7@>S hSs#Lm${gN) KGO'/ce\>Sq܂@>q$s7:6h´l'\)p.Ɩm~ vNk 40iDvEߜl>/(ZwiƲ"uE(R"_]qTQc|`00w{K)j3mٷvn8OPXI!t @osċ 1Z"O?/$_ BG o j,r RNNJO%FHW2\8ӟecE5W. Ņ@aF7pl.wbDYi!I?ǽGC^R mU_wfQg EƄ)d1߸-{#z ^xK70h"hq!MF,R j2YCa}mny~+H!pj U0|c pb@ݨL|d`k_D5%LT`LstidZ \5F|CՀI83>E˥`>Qb#D49Lt7*LE N2J FB.bm@yAa~llag3* (8*$UT`1b@?'8l (My^LBTxZ*)a hJJ=&m~W^Dprg8Mnlq' 2'n8L Nܐs]"(/r^v\JH0o_hߢҜ6n M{P)-|ڎ.7*wRK 09UdikfHW%u oG_Ik;KwFmye;ٱ_s8 [f W#=a9)|RΧ?2曲E#swZ`OGաJ-,^:‘ŔҴ.htO5C Th桴8T?,_CG&` L F`Dub . *cdAڬ# |g gf_T#{YZ<"!1q(qqv_vVP45f#ڈDTc3;\3Mg &| :/eO8o 6802;2a!*r܌?P+y wG )2w4k餾Ȳ_=h2V1dgu/76#lL׹=qUNRRu'*tJ&>+?~4Jo-S?s+gPNnQgyhch=:*v/du3ck߽:y\`4i;LKIp|jb>L[]3˵ _zk(Ԑ^QMj#͘ eUwDY\o^EX6.Kez'tcv4E3;b`t+?gZ@xI@ g\$뉕 a( NCV~4XdYa`n^K2gZc}:|< ]ʜh@Ĺ:D\WDH{m weM28b;\XեW2QtG"̳݁>QBXCw\#W}zO4 %9+FEEti9<,Ms}bЏ 1ifv~+$JkYs;=0PcdurRsu:p2f;f :l2PH^s~*7Msg]A ~Y\F B\"ϙ*z3Trg͎IaC=FR>X} I3!JCq<#B4[ɔtQo?$RWYƴEE l:@FgGLۂ(l.cMx~`UDq 3,cg?}Kcf箙ox5ph[i:q{^y>#h_pghN /> *n:3a]Ij瑡˘FOE]AGW*/xU7\EW/S8 `&OΔ/ez_a@t[_P/>Ff@kx 9.I\ր+$dLRDG{:$5Ƥ?CG퐏9ڨMUxʚ &Ʒ\wU llݹ*|u c4o9WL/ ĔH@vTq_d1۹>| r@CIRЉh \I.q+d.V$FNd@S`~)3!)%x\m` e;8F-vFJy@J);enDX{AUI]Q\͹ ?b4 ~0l7LaêA VDžvGb4TJ{֡SvFEU2&S*5͂2# X>YGOtcU & ]rM!L'Q#;.?9[RD8/„$`g .%ˌ17?g?⣥7$ ыDVZ'Zuw,q<6*w| S8U@|7MZ1]¸hJ/q$rN\UCr^t ÝV<{yOHP)Q1t{.ޝb\.ϼ鹻kgVz(|zesow8r7AR)_|? q6?) dfoj'o-{>1D'^ot-=m/?_9kIM˯I$Z.۩s&ߠ -߻(`ͨo^ QFk__qzTYK|΍o ޟ?w>dOk2'V=o{E7K+Һ%rv4xƘ|(q$2T):Ș n]*6oLr߼tCjouoN-H =L eq[2f%.*C֑(.6WgY+9E5#!U~i0th;SRi.rgR"`K&uMm m@}MB6qbTI׆7lfO']2{h+V:5:p,ڴ7r>b1$e-QC5ǂ~$=1 vGOM<^>Ӡ4W/塽c. P!2>4%C!lLs50w9dblSG1'!q$c. h?%Wyt4.CÊ~4Ҥ7B;,?'D9[fYGCa`yC"&Fv5C>x,sU|4FK{XTk> 90k%" Ueew\jJKG!ΰ,r% A߸ aqح9f^lwW* gbOEevFNNKy\I.47̕_0F0?$q|L68_C'',N:DliOR?7];!(UAXTיɂU g«ב6n{0d!&cAj8W sm όkڋQO%n‚O%d8 BڽL&NO> KL Ӛ@LQN @ O\s^[:2 5=yGi8Rt M@M9'^^*X.S@M! -isֱcX!60lD)rX,wY# ҵAʔŨU[z;͆\yÒtDZ0]30~pt< œn C)fC{#=Mi߁nt7~ Rpd,f mmθM,tDPu{(΍p\CZiR@}`"} 32 wC>l+&&"DzHC?*pء0Էmj0.:vIkjSXX `2&5oeBl8;D| 6_))bq岗0o>M0!#C,R &~ՈWk\(Jh*Fњ%>wq g7r+=]Mn)4E^09RxS5{]1JCU 5 Q4ym %G&\7E.fCIڄX NlQxzK{LB]zIc膕;v8$҂A /LheU5EIeE3ֻMS);هe!c~_Eȵf/ ~kޑa*/ 6t+IN?ށ,˅IcjdYQ^߬[YSkTڑQ} LFDcPTTcFVzz['kT p͒@#=\(?z4gd Id_9RW rid}4D8!Z) sxB1338g|݊a Smeeqtb2>? <#Q#[ P]_.}pS؉Wt͖8(UΞaJQ0 ;0_S8-X{*OWݱ57EIMСbl}k;)ޞh[Md%^鹮̚ cROeJ1!75Yl [z~mqglA(K9) 8 f=+iuޭW,ݴ6/$c"ߌ§۸S4 H5NJ=\AvSi uW%~h#a0z)<+#fU @1[C$SROd.7Q}>Z4lr착U yhB%u n@=Y"+"ԉ7CfMdB!@Z! s Xoxsg>?2 P|90 I~湤M%$5zcd ĬdV*p7 G6m boRDLsk2>C ndWuOwٽRKgu %ǒp)Zł!;6=ڠu;UoǯJmK(AKl ԫ ~,].^c~ {FrCw*O;VʹBk=uM]۪2j`+E3 ky'5 (@:2Tք۬ϧ!;$5 *] nu6:6qso+@:eR6Pp{ +| 7⎼QfZa4q=p9 ȕrƐÏ4K^!2E/҂ {0oZoF}Xx%4kMHq΍k9KO\+8qUwO.]b8}8s\Pjvh>weE>$lx3,[2ɏDWcO >:GX dhQUP3z"Xn$ů"^^U^ .(@?{Mt 3-˯F"˰&,m/.,ǃJ|˼`uѱH*Ǫq!<#?#i;_o)jj;BJM9mӉym[SmPGꔴ~ \DVuc:rPVm ~./k3B;ol[!5<#@Az:yN!f~ISc dZ{_z;◎N}k{ͤE?JBOT4ŗ+9x[sqn#֍O?j#/ \+]+ת9#Stc>N2*vdS? M ;tuG/YnǤ(OBkJU="W$h7ssr;7V[$GْLh>ҦYYheQC4HC)E<7Q곾Y?R(JOKZ젶C`d;2{Vՙ%JV@jFpf\SEncg'VWSXV5NaBz Ux5&٢^▷:˗ *5vO4'&s\r~7ޝC]7G1;m4v]m}r/+3Ӆ]{.O,tm,N0<&Ng;fsX!azoIWSy҆C$Ep%uVkHo=v'4 8~W,'v<t\p~{TF^Ddq]֥VW^l,#fsyިR-?ˎ2 yIcەdTךzcl1Xwͱ?#1K@ rрJl.U#(FG cUz:S~Gi;l ΎW5kPVAKJԣˋh"T$Q`:+N(4nXe_냭jwޜZѶ}#Pܼ r_m%yP+~"a:@6YqT$ľ=<~M Ui=C}v`b]Vf؊=ָ񠍠햢EO1/Qs/䁉g"p9f]pA%̅ey -4κX{Tj%CNic_.SװmJV|6v'~]9:gO#'VBuK #(fw:ڬx&Kѵ6 #e=G 6k P9[=V->PO=Nf9h}]'hLtN3cYJ Զefڞ?4tE) mbY>Z$9'k4y'`0w-ͺT)/^KUX2 h~ Q2ȼߴ< ^r/I{ԩX{] 캝7䨴XxFjaCNQA }AQU>4]G;{,M;}hPYw?,̒B?cp34Ksŀ>{=*}8!8,!B˓nY,x{贏Кp߰HjS3z{^jg3C8@MLJCbzgdgtl]Aճ3?FA/Oq3X>x!ztpc3dMay$\ )XR2jyx MsϿ>"PqAF2:F81)3:C)X<̩҃ᯆQhO.UQ1A2({:ʢ` '0T M<ٓ}L A=|1>Wnoώ gsڠjķ wWerx;K;? 29B5 1,Vq悋Luld FH ki[gvGhƝ7e w?89:͐d}.MɽI# P/%E׎u؍!׭f(ȅ5B-%}g*KX1 &#[lӋeiWNk/|0ưðG =JZ hN[!3X3j%)e6>% - 0ũ~62iZj€y V; t-*3-?Jͦ 2B\$V|Y :Fg 'NXq׫pd|>bT'RLA?㾤F")Ռ ~3n۲±i/AaZ5MN\_se~ٝR0>Ô\Z}xB=Lh(: +1~w*]i\-eg-wN'&\zK݈Ѻ&\k.me [J&xȯR%ji^"wX'(z'XV+R'_̫pݧoO kϋFPH? ),d(Ajr_Y*;gGJbVDB~⢼urrp"`N:lg6^5LY,84ф}]v٠AȴVglqhuL{&r knȲkjz&<&zEހ>ޯExuխ?qd=¦޵*2/8dޘ?Ij '@uy+ ?T4ڜA =|z12^"FNn9ܭ}2 - Rg,7EeaJEQ=$QS3S8}nzǢMAog#h^MR`/4lhĚ pkwd"$ r`w [3d-plWS'Ƣf,4:y0MgAAm_O0m& |ue-֌q܉,͚THV9x@[&Ysla-^^v:B9"R?1ّRCV=@( 9R0cWǢC<gp:{aSUVV:ޕwտ&tRgN{b~i 6 %:{͆kD(wk`H fb;E urX,% E= ! WJ?e[ 6mh=N ⻕Ɉ9j+ xNWy+ꚢI<ֺ(Sbc2Wf{$V:ta?hw h0fgb]y1RU鮮z2aj;'!~qpdbGd)UU*ΗDjcfëJ%׍*i"D)i205mՕ~hۍH,q=YS45O_xaUa=BSsw$G*ՈǔA?JBI <9L 5Xp F8cjOcX:&SĈ`4e@r,ζ;{3Oj,1a~oI3HhE8rp#WhLѺ:Z "IbTQ"g MM^k_ d%:E<]!&+A<.t(pd&Zx<^w#W//1ћm2m9? nަ/"t]l狀DSkO3\*ֆ"ԧ + |lMP]h fj~KFk$1[EKHAnchr@&j6y h1|ݞh'd[h3yS/mZj$lRN1. bX5hhM[ϸ5==34s#th/EK~]՗Z"C /.Q Fk 6.e{+z>ѵٍ:PI!hӌ=ODJ|8Lm`8hf&C:kCx/>Y 9X\c]@نtb[=ǪL, /,wvVK#E wȴ}xa-VE7|q~Ǯ2ԍW᙭UwO8])jRAd@C ?j)=15H31j+y1{qWp0mL?E;9;cV$ kZ\@AY-lg+FąAm׃G2S|fSfTȬ I.&Z:Idl[c'QcxX{6쒐}̍ТZ"s)[.S(`*늡׀.c"@aMÜ,Ո)iT:'K0V\-}uoS a }n%9bVC˦Azal@j|ALR "n|$kdPڠ猷VL y3U6w{ruPBz`Efڠ26F3]8R &pW͹#qTҭ?pSy|{$rߑ,?,>XAZ#4sꦷډXDݥ k+}S{d-?!%uHXu-䵑,!RkP!ei7mTCY`#&fQ#yթm3 ^(jIț\i8TlfԝxC{6btAo829pȚu)@<<l[s=)ܳӽt}~}5tp@$%G(g^E\zS 'p;e(Z4F,.Y#oK/kJ ۓdQk%XUU"ak6A֑ąADR dmlm^k6 !.aZk"Ks+Fy M sh()k>˼O; cV3%bɈr<͜lDD>g17FU`r"hK͞E{B]2LsKLGy G:4{IUxqdNCcwd']!Ξ o(λlD=(DYr z_ !)JR uNMpMȾc;၅aφtrssL";au!EFd3vlzMpa0(BKB@n! P< lm.g4 Q7v]]╣N;Tk_||9`_{UZ^2R:Cwy OG5/C{}nM}]rB{H_.>@' Dd\wc(r/6eW0\C 5_;n0"붑0\*zGIQ9c`[?cC>GNG5P(tT yP_=̣b1q,|\v7 w~{ݻtf# 3bJ}ت5zTS[l_&vת8߮WSWbXg˛{:M/'E:h;g E.#8z*RGr&DZ7I}|H|r :V&6wO-|ʉ?hsMdw^kZiOarbpȬ~a{5\GLfynׇ2&|,bS\823=?{I &~25E)'Ǎ.uGN5 KB29}D)dkݳ'6v-Ѡ2ɍ!vfe YT۹Օ@&O|YV{t)vbbRsBiF9!Dwn֊!D^O3.N]}g~M{>w9 e?;?;VA|ROF}aԨ V=+9y(G#Gh6*. xor9!--Zhroqizwo:YcRP[sc+rj CN8͒@nT h(t `,P EJ!/3UV.ːu,kt$qzq^N qF qOzʊ#&yo+&TH!`Bldր 5jBݍ{cOaF@l浍jeʮcM->̤ʏاflXە97ifu @3uk.:a0,n(Fr}=DX9'|DٝAdwNF uhl؝CŠNB`B) A@~}G|[n<˫7f\QH$ (ED!B׬c{mT/10|ӂfQU,;TQvQJ"zdD! UᡉVQ&11$e3gq 9S|sZNg2`D7F{BJƒkPyxa!A(=*"y|9A= FzN@K溛$( R; PXҍ!ˬQ|H9;nQ,S1{]3 ՍIܴ=,~w;4:*ȩ…58gCI &Ff;0 DWV$b$(̣T( `abAlmh3(d6DcDlXI(4#bcC^MQ>zb^Aۘ6ەWr87E^z O,OwUoaSu,>gBkY6rs[:(0Xbo3 uu8U}md7L1 Tb#< G2ՑRB^y<ݼ׌>oU途"(nrYi1_oVok dG^y\~E~/^PLhdd1O;!*0`7Sľ}[GUb'hXxl^^ε0WN&1s=벯*뇕)}ܸ'}xN4ast oG$PS~$ 7B٣{@MW3qt֛urwzfb3X1]y%=CdWuОd5\HzV q PskyY.cZ*My~i|3 g:fN82ET%X`J=/Ujs7C#`/yT/r 4Δ5u9y e} X WTaՋVq6A=츋 :ϣ<=iG۩<2gUѭʠm1Pß)ɨ" .XLC!Sj(;LXkTؽl_'OhM Hqxэ /*ሜ0E$5H^ *:2d^%ȅH\k ;]$d#d";j5|uxH$@h ʇ= jZ5xb޻- I'TN䶉U=]Dg~ߊߧfo`BCW4 DqS]0w|al|V`^P@Y?m718+lyo!eO_by )M6bCG^:eKT NS͚Z)Y`@@R25'$ E˟#@͋ř.ypɥ)D g򲽠ZP?0@,ի\ݿY'Np,i7U9^0Sh¶󎯕4]l4TMtsM-Q-^۾SZ 6W|`N)5B{@ptpfv2pu!|ֶ6MgŮA J6Ѷ~\yA3s<(&NT]MXA)AKSh~Z&Om.6lC%5d=3QUbu[ltn$wooMQQ^S=LBcDh~W&VeU"$QMH|CMdX,S~yVHM뢡YRS!U`0ow:뾇{{yP).4N]kʯ1!&MO=ub5ҍw}Ozl [O9.wP%-W9~`a8s̝ ${ 5(0EQS-k27^${HհOFV4誁\]J`,j%Uyl6GҨ 4eΠ'r4Ps|S4!Nг_n͊ NR:ǐE/W>k| 2Hg-&?#%t/D2ȕ@Prk֮NohsWy+ɿ[ЬIڕ >թ9pU^Ktɶgm̘ ҟ|*el}D1g#LX蔰cLjrxa6gCZS :Tad {LQDE, 59#DFf]e<{L..Iɚl4/(5&ҁձ'X;UY i3E'U=dߤCDj&\ꔳ3(;YP4(H) L\#ҀV*I"YtJ*e]{FR@'N_V5wj2L&Zufh1U%EgGnoWʢD_5$$Ph}oԩܳV"Yu" BD 5]fiUۿث5 He$)TdMK̅̚՘kQQ@afE &&&c>4uad_dFӟ+7b$ (w;A?.[8 p.tR8KcXj\0F40BRy%\]:͜z Pv^N}(ٝA>f>PԺXǯ LuǨi,KLc!œ2 5*̘Ԛm54{|._V]s+RD2{PL* ]}B-Ƨ xe,; +t\EC `[ D9F]697xj\CL-ȷ_njA57}uU)^ h|>"ֽP4=(eIVyƎdܰ{ڬk}<I 0~ӒV.$D)b$$%%,Р?4SI^'h_% tsl,2[PeO; q2dtVezmP?}/ n9"5V_Kv<-~^{l"&BQj~=ź"XYSO ;k-~=c[ЊZ,BJ瘠.%  @ 6lSA&f[OG%f$U5S΄Rr؋}UYҡ h)4>z>w}f_6'\ԡ*$x/NRIp)$p˷gn\N(虱E<n2Da_aUC5+90',#'9z!sOٝ|>p8[ FFB M )SP){ގ^chwNuӉM[f7yj#^JdGNo)$H+9k"Q45+!ٝfo4u&PvR[X*hfnHk N]Fi c4$DH0X!_ٜ_ lYe[빻"I̻C*eb V\Z&apB}Rr@l LR}YdѴ[?KF ޗӰ{P sxc_uu]z= lAQ`x4=.d.8}~5x (v>*r Ns"I " qqnl5P8lUɞtzCb=`@1@XK-V6Wu/pg.gzv3} > z(r/q麢77κv{/~ @AhIJ*V$QXŪ)IJ=_SKbomkQJ 9@cZ@Z6J(!{o 毹]N#IwsSu9y/%ueî.5idfCcu։6FP(d4]Wz,:\N1]7u؂uTƹE+`껁yfŷ`L F;/pꘘ9#DۃEGQ9:V"#&#=?w_Kq] oPSB"]A#5J-R'Gǐ´BDFRwI{p^?=:/%+x`kQYvU] j<KXs`ɃlcBAhս$jU?ʎc"j1T4 4f?:-ZJ*K@ !Gl|=9Pg`s\XX81X7%m6cS8k vh#Br Z#seA;\ BYg(8cCS緉.@]F”,(ޣ1-jJNlHP,Q'!P*@DLqo!.渶@0lupj`,L(# =>+@Q~O`iΊBcD!{[4u\d Jc.}Z 3@do#\w\c(9ZEFh]P)QD #!# (E#cbc$4ݻۗv˻\Guۛe*wn;uTK )ʍAcRWrg.ܑz5fr,d!nVV[G;$Nn\XmjRZ\6Q[I\+Fګ'wFS ifn7w`nmۆK7EmEmlUQUQmֱ[RVm#u릮Fɒ:ScC1wv;I ݫ5#Nr-ƮUs `F$uLW4q710ےXѢ,bf=|AlTUU˥\"QZ,kkvn[ZlM,g^istr $ .˚Cn]8ni\F\l[(d1Fw\bMT fHѱn(4D$dС%-nAʹiч.IKvmUwt!]qܸۦhՍݺhd];ܣ[5mhU*c79.Y+nIk̝5x,xM6vrhSCn$#2[ٚE`*g.]۔d-ݺW:擙mKpRg]pJgtEnr(۳g'iT^X# L2l'ׄǞq{+~` XQjuńBE 8a !ihʉ5א/(AxK aйt96 G&fQ"R,(AchhI@{?3ۿ[i9`Vwt?U\t֌\% $w Ϛ12ZM3`DX,u165; }c!1Ce $m qlAD$Vb"{p=P20O~o$^YȊ ,.b^< 5 )/b_2vBQ`I5rH@5$ F"d$щ+O0s4݃u:G^<=sїLxPt8mW7N@i 1F.[9#wmsQ.k1 Z,Ztpڱjh\Q-sk"ES""dl[l[h1Q`t#r4r9Mݹrٝ4c]1&mr͹[Fɋ"-˒ RX-5&Xʮdbӄ01bw ƻFW# suݵb山wQ.ů1d2Է޴FŦiSX.WOxbDB?fj[un&?^'YP]/蓡'+te5g5 ڨlm`#qpnYO Ho=d}˰~ᮁS|^}x"vLjGzEN r;~=[P Lнkp{>|_kMS@ِѦC{ ~;'yZv pbVɗS7(晬hyxoK% POK?lG͋! BDz^n>OK4G y _.jVDrc}Zck8?\:`Zwv7X_ #"f^悜yTP;cs*(հ_LcP4ԋ5tT;\نCr&*qK(9֗$'`!m.Hpp <4! Ƒ5dp;Y9melK/00@k[ΤόCp7mg[]0+x[[DsYtǥhCDxū$oL; _KLPGe\-ѩtY>@a<S3K;-%r!K- pi@٩N̠8`U (Zn;!oYQʎXB-Y Ϋm(,օ`R-٢Y-/vFl( 6QF|I1}Qi'(iџCzƯ`+:,_kL2e#9$=iMpӶِit̃H$s%8QeSp4s]#)uFn^v=cNC˱ĊNƉSzgOf>iM2=/[x;#1P) cS(L&dD" qI37LN_ϕ0zxiLޱf>̴tEtwNh|-_;<51Nach5PE {ٓ옂UQ:3h"ƵksscfP^VwI'w`Q$53fIL@L{op]758PbM~P}` ޿?k6BqPBcNE wu6K% (q [hF<'vf2 nNT,4H()LB);Y'ȖZӴjLtRdpP()` TnB1QאHU0  P{T,(d3@hQ'gkHK ]Ry, 1^) ؒ/;wA@} 6ށ. uXA ylN.c#~;8fB!%!Ψigi5j4g GSݝq2nՒvQA ޯI(AI%4BZJj[nEP܁@#WӾo,߆ۚQ+`,ƳG͵ڶD{W΀]jA3:kkt.pE_]AAzWn#qb@( ޹1B7D)ڈqkEe㚍;sSrUw`@ շ>0gpvb_~=>JBS o6{ PQX nu/7:^<0p>]lbacxWM6yZmy & ƽC;FDf4hSMO h6p[//JDQ4$|+`0,WQq q"$jŒ*'\YpÄp5Pۼݸ3@QL'zTԇbD ZAfșA ~ϋ9Vr}'9ڟ^3z~ Ҝ4wҵN֗Uӓzɝ0#!6J"V {#=,0zqX|mOɧaWAY@ JAKlђBH"42ЉP5;q|?y6&(YyJ7yeuқ. tJeʌF~q=6?WC)\KY: wTnqxz|׭uV]c:ae2x+4SN@o7:DAvXuwut6w]Fh,fƧnoKskݺlȒF@q!Ṽ kG|8~7R\  cAgb{/rΗlbܶ窅WB,^ <D2ƿMw-.5?vFM2r_ө-^=% % k "(RP5D>:e]03ޔT|W(NP`m(ך'jw4ΚZmz-Z6nTr={N2krʠX㢃m𳥫dA h"A +>:4g!e`v~CGԿ~W_/i/ lҖ&N Lu^NʊB"5cfA' tm{𨇲V-l|sGTA>lVtfɏ}RO87nM-hI9ų<ߖ;ub=q4:3Ng c͉ cba?'+-@ ym>f {O[C<…:Zx#<,fWvྵgO3l0ydG`f0>Z M%6: ̨!P4H11 ɬ@w:X:Iu4/1WbH L:Ăڝ?T}10}ϳv>i;Nӡs:=((#9uzmppH(ƲZBɂp/z$ BB6ESUGs@ |ۿLjwbu"9o{T>>v~}65L J2W#a%"*R+<ɜdbF>Eb$I &؄kUԝ> 5IɆ D9EhJωòi܈ #PQ-7V},#`0E")MY HK x!4 _,s)GSAaC?7dTg+z.r'_JGЋ7B/ѩ Kv^M'2Eϕ'm44n|M1Cs+/dtyL/.HAmdjJ}Yǣt,Ѡr e);j y5?NJ5H$'O &09moY$>2#8tC3|߶ o׈|#Q/_ ũkZW>{x$FȚU ەJD]Fq(YX:gNe paxP[?RzP*)wf{6(0B@,QgSEO@-tHE%Npp=ns*AY8P(wwa<`a7llͻQ?Ng@wtzzۣOE͙tČh;=g3^lЮMPOBI҂À6!2Rtdr}ŏ3Mu3CV#Nf]Hivnq+4Ds؎.}n ]]Cʏ) h8ڈzB"cg߻F.E{n=SZm5~5 \$Mw24+>@VѢf%aby8L /~,:55_Gz?gwIۆ=ooo^B!K@hK6–'bkYp b~<4'RP㭋.KԽ]dF3r=?}7豟A-pdEp7&nͺN!% ;Tn0,N,A:/';ݜ埤y(ْv;j.^*#TP^BfceTЁaLMDsB"ҨEJj7EdXqJ٣*JG]%27͛yxvrt˵ӳV93VZ(JscLzr?[t.(SL A,a%r8_+l;vۭ?Gϭ!XaYQ2  ߴgs;VǙtչ;ۖ!$$ ,##b$HO6<Uk>uWF8PlR]JLKvE8#Ku uSssR3*q עoْDSD=t#c&\tlE)_v s~G1gɈi){b`'|&myF:$|URUQZ OBr7r5"~M8{SsǑP_nt~>Z^k[Z8T h'ߛhsssvHJ&%KUURYYm %rF^#P咾LtR'NS[ƳL@ :yVH5~/DO^C|׵ .}Ta=GӛI!K]fwTtӁ)YsvzZ,Pr+mq,$ nR?mԚWW'Rs;P5{IsXc(!KPªI˻S"Zea#mYj%wd<EP! 5ME ݳTFs[A;+H9RrI\(ނ!> YC} ݝ8> Iz .On(ZKY6W8.**;eG"Q{PczTr/n2<COARRʎRy_i6Hp,[,a##$Qa;-Nϯv~7.\PJ8#U\p_Bꥑ6"IBivd\$4+ŋsL" r>^[ws)k'"A 5m`΃:k4#P8!= [ءiPp b.RJs#/>Up}~c{§7w=p]qltfrm@o ۵p(J&t/6 PDDCyQ5y]#U-.ReڼOu%CPDЁS,<#UKjQk6Un*Lyl*`^Q@{̭As/-o%Xۊl*q CqT^cgX!Bu%paٝl*D5Z  bd`A"mAZ:x?];b&J te}e(̐MH௫hevBhv}_o݃I@IO?P,:yY ^0w!)`H|TDe534;bsrV8UѤ]*;zQaLgn['<:V΃^.Gs}Iss.=| 5h r<"WeVHen|i3?^NXz8W>~sb*\e&T9:6zuk_ۍ[M=Ϙ?Ԧ)R?>gLW R+)&9ݛkG Wpq6PjL Z,fc)8lTszw7Z9bU:$6dK"!X/b#w^nޛMךۅWMddvt6EfZ&@H^8Tr:h#=nsxk_NXbӄ>R(<dT$ Nkgýfn/ށF r&,Q=S2h_Zc sZS( uĚW}:A|*9*"딕cbB8%$JEޣU-Xf\2;{~ )QD16"B"H_{j+:?364"vڿG__ɓw|G'44P .}{ʦJ)*) Pz~P8!T2PMa]3~ʷt۔&]vq@6RҾt98҄Q}|M\g!|.ob@"^oKxu yN0@^]ؿ j1`c廊1tf9h%@P$eHQ^b1X3 ;16^m<"ER].uM+(ruWG.Lm_"TjR@A)hNxO8jJZ_&uh`T:|U??1jf4B'*%c\ )V4#DD3հY HGĤh|snHuAj݆|Nx0wZl&3y !tO.G:sZ !} @ }~n?}5xj O3'uLl,Y~C5`Go>%e4"!*箯6mm0#;b3/E먯ŏ7'Q ܬ?Bi!M;$^x"FUi"(at(eAk& 3Jſx"~lOe`T"Q=FHV2euv.8ZG|r{Z$WwH@ :ܧQۈ3/n=L8dYh rH&`\ɤ{oU7 Wxkqkxߙfפ=OTXQvDޭ}_aձ]n9X?$.[w739S|?TαBT䀊IMv&;C)eɑ nqNN\l LVBGNӌVX3:ߦ"FB(-fm8ܣ}5~nV٫Pv?6N bW׬T4RR_f|.'4ԲpPt kіe_PT`y|_Q) Kuc;οqg8(} A_1>U_-јWOO я%QUxPJOo&9iCE+bg VxXʌƮג6xn,arv$)I^S0| jZգ|QEDC8;I0dM1c5"Č (N9Coㄞ̦jam|pH jSq\wG~q˩գ[F9wejۋtꜰy-^8߆cQZhw=ߵ*i6 d(#8@\-k"MZG~z)@,R#L#ґp$: BX+ès z,Rs`%E79\P"y&)i3^bU0P_΄-vVhINSֈj8bYca"=% ^ ƕ*\2.hbD SGsDF!}.2,/qY=ÊH5%Cr,vvw>uVqC|tW.ރ*Fl#苉0H*3qC fA / c;l jYuKq)w'i pwJax 4AE3ʨ >V4$?Qwͦx'P *i:/ZKKں\=qe2^Ï7@2]693𚿓Oօ.SN$H)J_on]4er#KnKpsN&ܒ//0B#tuk::sJ4Σ6sCnr5"m˾]W+M%]RyF%^cO;v%Ji60U}~}2 DdLJdH- YB^\ۭa1Og*x*%'To"熒"YkeD dKT aO^!4j]G\e  (_P^e[[Y|N 3>%I24gq|E۲wQ^ /w0(#41ku1'OsMA+g?b"ԕFi2F&16 &f5%1$i5Qi5Ʀ#dJYZZe悔y6?^{W>vWp̦*DHe4&%"Z1j4b&6e-ښffКeL6eMM`+Ke@chzWCKSk~2TBB]ֲ0/_,>Cih}B k;HLaMU}{">%bXkT&0^^ϻ4 8ds3iSbLH& 0r!Ϻ~y14 -'xz3rgWFMll- m&ogRaCZ.lF,!غc+1))?ɢOKWcNW}5j8ǒc^'`Rg+PTa+hο+}wtnnn*)7AL3J acp9G3O9DSg͔9ɂ Ճ5x׽'XO3b<Ε:ZT㦴%5߆2`@̬nnϺ߳cf;+RaP[m@Vw<6vї]qέӋl8w.yM!zLG⁼{:>4)ɩQt&D֓F9q#̡%c?TJOp*0&zpr?Sdr47nmǏ 8VG8ƇE:* j3v ,P2PۈVSuC%[2tٰ \HKNIζ "T>4Q3\pB j& no#X;ɺFV4;׫LNLR޾E) ݡM*6{g&0yl?vwU>>Ux-HZ}Q1Q<*p!QA ^0Wp s"w;B>E#sj(8@t &CE2c.ɚݎNwY5nw&WyvwUҽy理 ;9;v;^wU1gkڍoƛ͉ /]ѱR#$ԖQuٲA16o+x |hr!Q?{y-#Y״L1)H}m@]ê(/Xِ? 8?~rOH}<4%5 p@-,ꡔf¶*[ߘK%rAʀԨ@ZugXC",smpkbZ۬K`g7lȈ΁4'@*3ȑO, HPZ@bj^g$DL~< JXy1r>`NLɂM}ݶqȀS?)(EILg%YSw44'˃%"5kƸ؊BZ(dCêMSCŦW]^+R (9H @J`ic)˱1|NjjO3wWd]tXDX,hlk3lm-E6U-jMX5EX-Yk?E?lFy,oTU[V5*O6#L0!̛c8D7v~VFN}f ԀAlRm\IbFV5Fbb6ɭlFk%h+m"0OU=NRpQVtoqO+u:YLȝ d8qt;;D~;@.a!hɴy ДbuX׽6 &lQIF׳\؁!5@ojQbTTm1Dl||׵_.t3H5q7.ht{˧ϦF6cã[-TR: NLgGYUiZaDNJB"=OS T dqm\AAuE0[_mN N&JC1i-3twaMK5vjY3`( Tw^@U4 HۚF٪m A,upUBMy^1eAJ@WUD`-#=C⪮nnX# I9cu?_eZXgOj?CLoeWclðȦ#F=o=~6k]* 6s0Ш}NZ !,)4PEh"b7)T[O6g)֦xrnW7qşܯ~% Or|.Y!Gy_U}Y_0Z6o&(9u8(YȠqb$" "$,Z7W[3mE(E'Ļ4( "@G9.aUzL B*EdLn58qk3F !+EKS~?d3Cr"bNʕZYL}mk{fl vw U" ` BAhnB*BFm KVb$HnEnZū -E۵Hl#@E%FJ AQ̂p* Ȅ; *-Ae#;k߁Ĵ h@FŐ $3Z魋/`*8Pv+n($gDT MXӵxC5; 5;^X~7{Q,˒.2gqs+D:VyO˴EG7omllU"-VsYVvdz/ h X)侮@{E)o gI4@G*Ta\gVxs:#"w{(UG/~2w-nxSٱZ콬W%7e|ŵ2яZ +ݢ(~>Ȝw/=AO%4j%pԽ4 lCBdй-bXpƨ(1K)F x2jב5hvF JщxSP>jr< f3P3n݊@<7F<)g`8Ʊ?!1#7W*0B63SNXlnЃsssJ(EQ0h˃ChKv1 ]͡4WK^^ÏE̟D0&A*w4 45U3.<u^ȺPꢱ?|p}2d_UF)+& 7&Gi?xd !~ \2v֪[qB`S679A.b Kʻi܏c¹VH:nueb,3#%P'`5A!h:?;70<% XBkV?lo|cGQV(G>'|Jdcc 0˴_רnGpaϸwqllKQΨ<Ҡ=^O2 Ok<ܢ-xާ)Сa1~W( I*1TJ`ijyq }g@f,%X%o9r9zf(2| f8Qx}#oAM=u^*Jym}yA  !k,tNn{7fXc s"19+=>=@!맰fW!l יݪ|Ơ{CO)S YhЈv5Lc ;SCnd a5+$`,v;A L DŽkdEC Ȁ%!BTd*‹m٣; !6`qt!A@O';Ͼr2b5_/p)Ioz>LUK^8Y FB5i#ڪe}ϕىgo KW~S~$%AylT[~m&QPc~z:W+!mTBN][9x jɦ>pxЊLDN|QDdeB R6| /m YQQ? W*AqՄ;ۃ;e|9>TLM߫K/q`_nEZӀ.eZ)mk彨$9u7mb@W,Oף6_d&zvo~NzK=g97چ}[LzL T63eb[dߠ@EB dh+toW~û_'H>m94݌ Dj TZ$"nѬhB-8",)R 5*ͨ=߸[nv%z\sS=pZm}#ER;74yϽ}>ԄR}| ?<>TFB&OX֢, uZcby=sk8+h%J?cax&fD|3X>^Hqn1N^.vB0 P^4[IE)=DQ\G|bf^)A}#, O,ukV谠Ђ;=rg^z4K9yڐr@vB&V.S. ྩAxtF;._ǘ] 1چgdHX@8#& xP<*OOT*x?OY\ M,[6U5W)B%iA"iJD@)E@Q(:ɩ#[bkq/K+{X{U=ws*P1ʒXIU"7b0}ln@6s&{bqpW:SwuHfИdTEvpȕgV7ѶTj+fV-TEj[El涍BH2(qٵRim{.ŝb"u֞LD/|*{+Y|,xpymU} !1H 2+X)fmmJm}⹋TTZ-HZj5ʸVh6ۛj֢H(JIHWJT=-z}޳ {B|>2[wd/3$ 4 ;J{2 eaz6՗T xipB?Qu? ldh_ ^iq|˼NNaCղzniglk*4 ]Ҙn*ͽaL(CLt/v y2IWty3m6cmoi?Bfb31x+CYg"z&<׋.@qCP I7v͘AD@ "DHjnRhN%ˋ%~o| z,H 3B&[en38@ep_ͺ/80@WT3dHcB"[˹鄏vB^#_a]7(skr}t'ىي;`kePp(06P&?'kjE+$+{S}-W7"?XFA$U|+W49mGeL`߾Tw 1}6FBp!(fsFB5=feo$}^oſ#rmu|tvY{Fu;Hf 1hhGlA XW?;zl}[vVnPsp~ 2F y;=bg(_/vL5j˪n;6wp.~{ Lrb#߹9U hm6/x⽨1c⨰4lQ W⛇[3&4} t22x >Xrk_Gkm N>}UBĶdg0HDjQFc ~Q~^1m̀c֙ՓVQ-ͱEXʺiDcC+gi?ۼlk&:( ڴ$ m@`u:೉M9AXr xciY}@㢂T=颙w+NGAᬼ%4FppnRÖ *b½]s(ڲB돒;LOlYO^rGOzaA<%QFNc}tfB vgv=yI !̕ĭRД`F;; d:]ӈ&,3*^ 9^&_$B+MD!/GinwƁ-̙E0SɇpB B5:dQrXnPGTImV-CDlJܙKW{ VWttBK5BAbTߴVA(B؋^N]uB %e<>;Ɩ!gPbX1  )d6N dA&WG*+ue!Cѝ7TlC̤q P_Ѷx nAHϟ:zv{Kr 'g6-{ӡ='4io"#0"C~#C ("v8k۵}gŃ] F>%D.uacޗE ҂C⧦UETezq\8ÚdV[co}W[$B$ʋ-icn]1/TAqK{k^iIRBu*rBK[tzj#KD]*КQEB^DRe&[_m\$':z Ɋ& 1Bq_Y^`K 8 eӾeawqc]x38e7Ȍ4wF8KkQҋkͻ1E(;WqCN*EDN Qc uԇ H,<:+ ׮o# IO+hGWV!4i룱S:/Yz\kh`Gxv7#-1<4HhmD1us/w9gZC)ELB5 %GQ1ȚP6|/;}=.糟dŇN.+KXr9jkmR* @3Har0紓!}! O򡤌b1ڿW&eQcco?Ѿw~ <5o001rY-(t?Rh|:G}I~+'GTϲ~[s|~A XQUG8' /{%$U<84| ",DQ``0 |VM1 $nv1:nKtzLmSW2'q&J(uIc7ϚijS:!22t9 K8_sO/z}qx/LyƦ3rV_U/G|N#Y f^GI1!JŁ@Sr˺s晏zPV:15NB:G@g(۞ar4'iRxgw.pv6O968'8(Dmg7F O} vcm~8\Ey%\cfCfĥegbex&p[ >çBx`BP7CG^3zg;T/!BUZZ=;$|X 54&RJ0) \OE| S|F[ +BS+Zل鄘AORڱ*a, .˒9]_ZfF?g'L 4B g]= 3g}|L_vLFOqIJ`ڍX5+$#0R|L0#~e{_ܵɅ?OU 3BU!#˸k<AR)!-YCq]23+ՒU0j5FnD9Ͳ1~;,]/QBH{-V[7-^Y*@>1S851IA9/6ٞj@bK@[Hp΢Yg@=Wh?f)&؍!7P,wF5gUv9.YɞT; yw_8z7?NuW2Hv -*/Lݫ'/Sc,c9rqQ<Ăx8gDJ {>-冨}.3{G-Nߴhpi;o@{Nxxk^r2_؈=lXuGeۚYxD"?Yaʼ4[A 0ء-S s .fKF{l"~Mce;pfAp&˜Р{5yǺ\+|@g1ٛ1+0f):Eiāl9Yp%~{U( R8pT]6@!!$`츮 FSQS˾GamN\1F$@vF:^窩RMh: lV8(Kpx+SBoǒH@'Ny|haQkw92I٥ @DA絭&Q%œ.|Z,:cUw~\QF@(zAU|wJþPC==4[29mX1BCްۧlTmauwH\Qz\}"=6@[ILv?Hy/hKRQ/ p[P$g9%=Mn_$"Q4)RQJ)V/oVb""._']upVp+%Wב~/#uΜ._CA$*}*j%{ 08tt|zƀ&/?m+^tI!{OqUHI P GffNjFݛYݫ2(#x9(Ac1X,ET>mʓFޕ=[jc<>MvO1*E#"F'+/ZE:wx.ַ {݀q|l{ ejH ͩD1.wӥPU3cB$̡J/TYoƥc^j) KY~ Cx9,o d-X>$Jn5m4"4!FʷFq%lQ 7R@cb]cRRσ$#b^C{}S`bZUrܷt˻HHya,yz'L $(U/oov${R@ EQ'0WH h+#+m^ ~C&+c7S{u+6;&:30=H!FS"˙l)n`f݆>?Dlwz݅U|غ}N&/H b=-gtbmmSsԅD2D:O J}Uʊa1a bH w+epKުUgpnrA׳TBPˎZ>1BH4!F*NZ4+, r=aԕUTBgRPdI,[%6ȣmw;%sΩ,eiEIt2)@!Q nun ۤ1! oTA% ?i)PnߛYk44UdVcT4$Yl1ޖ+Z"cw61x*%u;vlO߇o7z& yd2MҍK]wX[~3y&4mߘ7utd 5WRS)מ&d:Ibw]R) 5(AHfbɆTPyNS+mw=S]gI`r;?s q '`W`; ]Scus724s_ 5=P长Q/¹!uN Qm"ЌiPe=\Sq|wԅmO [5Q 'm}^߀QvHݍX(*1 m.ll0ffiLA,,kI`j N:X6 Tr|7TJUPo}R8hmNٳ8 /V$8ms/շs(EAydi*G1or$"rKQ*i,x1;EW Mi$:te~|zoBcָG˝/ϝ,Vђ1-0tN0X #~ކu0juN wd?;أG.|#\01 PX*ApTu.A.OB<#Q䘁nWI`$\lkh;ZI["L3AJ$ N!̟Syǰ Oj+-k>q`cW؞f{~Wr3W>qҒy;j|aN}b:決ټTCopvz{gX`qqYZTr|cioDRee,uy@95^Exz{BlOF2 eaech2e\R;S(!@dr@٣8>ٳ<X(dI0sF!ȭZ|*o7aacxP^/ό#D4@Jk)GplGkH( =J8)- \i6qxnr2nI TUZI`FJv2eraڻ x@#EP n 9xعeė%)|ܭ/Kux/VptXa|lomMx=DL{rv ao>>xbTB%0'Y mnY )@ՂvKǔXũcfZqIv3 >0a%{{ G}mʾ+;HFr.48/ΐ~̏Klft:t) ~T3Q vc]<Ut\ ,nSnT<% AYELxsUC_\| -[ ;jJ@/xtpB"4h+ۥ2'wFwTWvݹEeuvGuؙBlh%0amUbM]AKFEitIwX2!|}#A(2!D$A VVNzz"B7.YyOMzlkUT GrB 36зT5N3Pi^<@gGM[!Ua0wWAsywq(JWU[椵<"t&}v- cMNomL@<٩$ -Sy'e~6(8>҄JQ@w~Q`E!9 ;r#+QgzwT•Q ?|ܖEh 1k/?C>C'bvFELٓ5 #LBԩ(AnjM0F<&o/J~J={@]lZHedQ>*{4rȋjZ)G?gwH:P*i?qLN^N1тTX _0i-C9$׫E"- U(xq+udr L?S?5T,e vk͌4IN,+^ d> J^?r~ykY}|\夒Ȏ9ƣ8dxLx S[ i]Q d`bi{wSSݳt2;lqG ۞9!}bԻuE,Z Ŭ܂:IqX&Tז8srC4-#tm8VVU~6Eӵrj֮0:y6.5* iBqƁFSWKb[7XiURQvr @ !]-02Wn|?@+*qP;#~PߧwF0ՏcG> eBiEu$:hpx(@TsD[2R9y"/ G{5\N,e_A}:kʦAUP#dh?}܆PELټxQVab7,xs<\Ҙxi6cnBD_@DM. F+rDkW6W;;6TcŒ[>,9KaoVq~O8&Oi]~JL9u+-blmxrK͞6͞3 BŢ O 3[-)_D:1 [z>o͔r|- &a}Ur7+adJL6!x/wX$𰛛,^H(kx.v2'7a?cE!{ }&YV--|(`BDOFO;h\VpUEbm‘&L9E\'Li !9@nyx-y @!|^ s}k܂v]32l!ytBP*OPv X5{jH<Q]BG& Be@a,T2t/1VJS-i- hynn3 ByՋVf\* QGq}oʝ}/cw^*~4SFKӤ:?@njlwyH_!đf^zxmKx|~5n@uLhPPP$BIy6xo1p0:g(1MxI&Mc9U>ǗfC*)o.).bۻ)My7aݣc!jBmxμ޶6_;\wr_C)&,dI1RfUQ41 Lh8~k+U4>MA\@B&¸{⑪̸@ȣn)$ww}Vrn}9Ҏ" uECI\%e<9Uy@F@QWV ye0w$Q.:KOo1/[^[j@M8XTԠD[gzAځ< zPyyN{qs/nb{}_s>wB΢(5S~>z.MV޿k1ּ1$Gvid6Os+*;ILQ7;:BinVZ^>#bi0,t`;|//~>|_ۢA3v:B3ev*>O|72JwB/K‡W)`.Z_Y.W~}UJ|6 >%֙v>~^ϳz;Rc;}.5pjwڲ.L!eӶr+=De`*W7Yk;Wz]Li%6am6=ornP|ϛ;}|U'wvk^sEoS{wZ2~5=tN_7YX-@( #EF<McS.8]꧌ C]UsԤx5yh8^MGNwc?ehR^4}]]&C-y>oW~]!jZ7Ĺ PBa Dc.uד`w3}xlK/Ke:N SGuwm~~jin%7}=^G7b~|. JsquM;u<}WfW̧cl(bCw~h7N$JK##2PfGr+/]Y,_I%a]ũ\ Kg<$_q,Ggcei߷`z2Z-} E,0L-c*2:az`t][5=6]_ѩws}['}tۿѐMqVbjVoU|Yn2|I(=̆^/3Nޤϻ>[nSV8/noG_f*lYUsz_:>m6`2Ŝö]Ǹͤ=i@W-$yW~7'],p@ΈȒ OhgޟƐ ؙ"(( u^pPp" Ɗi a:D'DY>ju$>29`E [16? 8׸=1c"(ǪĴEBx@/(jaFTdAW$LE¦(mK> "r4y" [pD`7=?݈'y>,H ?!sHhX)#t+izS>.i߄-7WiWf\dD!H/{i3Ԯa_{__?%i UAbwO8P4RRJI ˫tT}U\KDHϲ"nNJ9x`AzyKur i|kBE mT kѧcV ABCͽm Tad`Vj߂jQm$ /A,P0D j!' ݺ>0ŎpŠ. "%--RL6BJ  8u2!Իe<1Wh^ϝA`#\K";@1L4s{P28;!Dp66caNtI(j&x4'MH ]!A t&?؜92p U_?֗;#fhr/w;mz-9o]}.53)uӱb a*# 0*BBĭ:]9Lw9vm]\KE;[fM guTײ&"/}jg  <)MbBC@xwd/ [``nٝMݍ#GSx:wHz/(Nj3W~.SV 4 M9{x{Y̙U -Z)“B78N1 ? C{Fp/LHX*8}gHֿkm ״i^MrQfpV B[Vh-X1Q(Lի""A`CCjcAckPZBjPwkv̯ Vz콹'\st 牆KpIOiXi9*ʥzӘg[@On(hcLceA;.ExO2Y! >^4PJh87;ڎ~n/dX&1݊q_)P̙&ݸLx46Lv 9vĆ"Rɜ<>FZ?„9 `iPO@fyf\Ѕ2,o g>GܯN0 @@y`vň=sT0^.,Kx=C?k&Bf沕C<qo,ؔCsKb^ҧ6S.\yc`lL\ 乘K%}EBC"X@b"PfQ UBP ` g Zٸ`,hx툘`o>i/) GK4/4ցWV7@jb^ZS0f:emH="uO'>Mc.i2|wֱ39ힲTE G r$9B'ةsRMc{KkX&M82f#N_`0`=e@#:hU f@g-E2;`@t2;  b$؏wrGyhYyN;,^ H9y.Ϭ7!ɊA) Ǔ&1W'$r#ĬmFϺԍz1/F ':/=gɎG溎HH=5K"' .=,x}C]#s_u97SfZ,`r=MH`,Q{ _2+12H~Jx385ݼL/TȈ"DɲguwZȤ6~uذlFcR/_W `%kⶵN 3j $RDϞ~}۝5,ks)+CNB Li$8Kp"5E']v,9w+y \M,AB %'&=K] L>]Ubp1UͺM*d+*iyO.}2]F>LC E@!ݎI"/6/q7\"m \W[˳3'u,BzǶ#66 UXJ*r3zz;MƂTFB$V<ZXo$Ov?slnա#r $+ùf׬Pѷa|ar 9P` FeD)$UA@D@;WF9 [Iw"ͺ+heR #$$c6RFx\(n-mݭTLԩlmM̳iEXȆlFUvw^JNc yH2 Cbc'~zhKdmb=Vt38X'}WLEvUa @X7!,&V%_2K]̛>vř]#Az=o|nQ_Vѿ3w|gjΣa;oOofR5YkQKv Snn'iڑ[X,\/Or)}0Κ:f&vչh:/τ}8/Og_CSjmݴZw/Mk=dЖ}pN}ߵbh/w x=w= Ck'zbu޶>ݼajޝ@cnS3P 3,vu2L[QYŮ0i,v|Exwf9=d1[sx4Px6c[z#.s;|ˊu5)=c}zs7zjujw|'Oa[g^לg|&ߏS?SHQc+M}˻~͜g _ΏJV<@_1׬wZ~=V|3CnZ+/}|1<*/w~?Y޺gdzO6%{~nͬwbhq|xLV23θq|O`tAZ[|f.DG6~v9e:4@W>/riݹ(-?w4?i{F2?;vn) Odno{} |m.T4YCn ,vj'm?ӣe7v;_b7x?Y]oho|[ey}e|5OxD];%ϺsÇ.f/h״߇DFZU(P-2[=^m' 1Qke@H$I$ FX $,mzmq őT50>3|m M! L!S|Q:{(S_X$ձg3q0ӴH#˳hGօPs{M/h09S.KրĺXZw[Y`@(!T]Osm|hXpAʞg&|ЌGĢ6+a@7}"--޿>}oY~oWxtz{$=rB+EKo54XN:{Pwa} -{a@2`el0>/m~|>aۢCho@.×lvD$(j68>^.80; ]^zv؅8t_ͻ8JaG o MP6%=jhI! Mk 0OWwt0z=U-!ר%Tj&W(j$dJLlQeQeoW`Jy'QoWB8 R4 v@YM%pkyE).Pۦdž1PFf[AJL߿f?@VfysypL<9M1 :eo1Ybcs3`HX~ǿ|~De$QHXU{qBA.v#1+32 ͚T?rHo_ Ql an`%D tJAnWÃp-x.s{aF%@ǫOn27񧞚s&lTXy}TZZ2<PԼ5krI-=Jb ,!y6/]iO8 ~.hխ  "1} gq7>*}&_AC GVHhXdx ?rP_w ,$[1o h6bA]"aǕ ':imd/?%?M cy\Sʬ<{r#F ͆2 !n6FRl9O5XT Aj\V}!"u((w~?1}:rYnx9{F Oz|g9݁]'oٽt+NZVmV gՇpET(Ca\ڵejcr Kt0VT% }GϏa@0") p_x`#>_x~,Q:aRU{>є_GzGPV>rԕ(C>onSiw]X$~WoB݇Y7m_!^ Xňs@. =+4nKxVFB@һ2< :mN:ytcǁJ"YyK5{?Gz(~TDQ_(D?K_ 8CYYu{^l0H# Sݸspjp;1| oeET):&ۆW#K9#1#)H"LDeS%c|Y8kf4'ELd ^?ۀqboI{xIhݣ4YhkAG5~S dZmW ` "9 aH!@6WQXl}G_:4H@N{n}}!?AkS=;BXXESb A'zJo$ A@+Ye( q09juF|"IڭaK yrVD~qG2&g('C&ʧ[a,ՖvZ:8c-,FW ٓJ+4,H+pH%w/Oex^)hh@\O )w%CռR:$Qccw 1}*+ QGzAZVi*u%1?ѡbsTvOCw4;-ut6,ӼAfYAyESy 1I7o'6rjwKB)c5d(@B,\c'z{F)34 fb> $"gl ,I&z?}!vӑ%ej#ӉBHԶϯbsC~(^i77reFP scV+a?j+hG c⸒ 9 $g 9NBhN1 Ix$F|9Xx<&N12|2ٞa.ۙ fr*ۿ t >ٜc1sr]iȌ/ c4QBLo T,\1<ִa!+a`Htq "!_WC 7yVj~w,E~GI ^W΁Z@ ) "пȆdT~ϝ6غI)ld 4a&5{M,8ٛ_AT|l$7h5S٢P!jb wğ+ UPjPx ltXC'ET"س{g!="+HF*V3:لؓ /"5Vn9DG@ӣԓISB?+ vjSSI0ϣc[>ﯩ"飄L%\h}U-4ÞTvΠɳmI$M2c1s=x@w*^/^,/A$^UѴ6ڸ[er:l@1Cy6 HrFD"[5eZL^-lsUP4bMH'͇/=uc>`Wˆ%x0EjvCt"&\G9a6=Ěsx܃s$~6A!!@P5*C8iP #Uv{[x=gy|hhhxkZN9~HL (:7=/zG`ٹެ6(Ky{b\pII?N# >e5ً^Vӓ~MmF%o~|]8$Z.C,NiB^?돧]' PR(Q9l<_1yLd^ן+voo1PW{3OszO OkemCe|z^~bm q(I,( *@hWj]2Z*x,C0 /?V6i`krmGC X /TXd w)ޥvEZ6ƚ~,]ޕkmMQlba1JgUuK4d(l„&if8NJ?uآąt"WFS1ny N(gS! }<~Gx߫k1Wx#U}6r?jC_<7]Ge\+wz9,g>[er Z-$(H"'vZ}b@/%1;ĝnZbH0IL1yWs$63$ mќuZ8b$JXMឲܟk'v9UZ-Oykh,cX0)Jqc!NV'/SԤo{9:nӠOՋEd "Wf6"7 vYCڶX3^$ysZ 822 Jg+Jt{m̝(t#^wJ)'9 EeFrkwݧ ߼zt?4,"&ELyu,7)mlg2#2xo+'A$:S~ RL~sY۱æ/1;7[K7Z 11;/$Ô92cl.m;NTTD D6J%yAޚd4@ uƌln~lY![^*E) ^| pIB('G/?Fwvh (r{\ jKʜ&"8SiJ(~rfn"eЄ @zl#SH>ď"p 4$IIQB-l2]@C@~!\g|q`q^gh}Fެ}^)ox;p994D@7);'; ѷXr]l:ϕ?^\ɼWfI71yRƸ^Bгc4lPӢd`q={.#FC+}݊:stGBrW4wQ'ö4k<ƥ(^R1; E[cݤ:*4O}TusRإk|VYܼN  VL1bDQNL7?v/9s&غ>?nK^T_»))*4?˱Z^3K3"l7텵 i[*!eƤǚx14Q꞉&Z;,xN)$˄2|Y~V ZDFhU@xN񘶃-b KAPy&~QoыrWc/tb#B"#̅H?7 @e546k[qbq{}v]Qό\yKs6Aj H؇u}b$Ż6a.D;~g}.( ޷'Ӆ\U.y|Ufosxct|Oxq́^owzPFwL>7qF]K߱0TW"p_pG O͓<>2ƲesF׉8n/ct0.#*s?DQFE_a|Ө(Yg3Y(}@+hQW0r`1Q0H o|f:QOҌ}R`ه4Ċ&9668\6 Ui=eQx @H$8vn@ڂ U{X,t5n,HF;^iC^\jBAIK5UCͅ/Bm"($B|/q]DNCҐ#$Ik1 ǻ~O'C^4yVB -:anV"^譟w/Uו 2;VBbUt qR'SQFԂr)!|`$z#pV"KJ dP>,B[۽$H~cʈP:clŃXԅ}*W=D0eցGp ٻO^ kekΔTbo7NOaX֞kNjZC7ݱ2a7g8:AQ~!4 ?C=lKgy49C?K I,!" fT1 |꿑@DFS)e) :(̟#8N$%mh 5q΢Hugzw7ryL{4#~b"-xVKbuqF:p8~HeA|S"P6u(sۓ.m؉Sj!$*O[Fۙ=1ZD]_x2&O`)LU_3b EQOc0ұq`?}ga``Ou-9 M#dK ,XᐁUSTZZ|]ۼg-Mer'e q>JRH /x֞,( pʧ$,-{JYj BESm!Aik̽aUj3va<<Q2&f\:xBs u,sWGN6RO6 'Y!3@?qi(s;\eY,</ Œ N Ma O<Lꑗa!yHv4WH>`H{/(AN$ YFiroR/}X NO-3c6?.3,rܑ E1}f*U~_E;p,[d0`)LY=SxtU:>L3n0np)DAze)昱{GCa0WɈU0T*+CFXf,dqMl8:uVeUp1qvYe1lcE.miƎZְ!ց _/Cx\X3 0%D1޵{js`^n|1ci>_+ KdҭhlfƪE6,0 iDQ @9"Z֭BvEeׁqGn!? Ț"v:u4)<FbO j3̗vegW+aͱ,rBE@RH(?VqyxvEJ̇@*Xq@ 8ir2Oiw=r?Dm͉ᠱ>nUfҽrj;, 2+ ^ǁ `$88TsvIm_{dP p/y)ZX"oʒQeR WGq (ǹb`ho?VW+]3 >΋'tOO $HC睐?)%!w[qTZK &.\x|o|/c" ]?Q)Oq7 Z.s 8(ީcE< #1b]]6Dɩ~bPѸO.:F *RI|؛؅ueh+n}&4hP# Swm&h!Ww[^QZVKuZ(3DB8}F4yYCCϻɕ {y /EF P?0UpO 7&v̑?:id$r5KO8{Li;puGD:Q&1 9ڕ0ob| X.:Y=:v>O[*{>?^>9a; LC3وB ɠ Y.bl#uPJ=yBQ|J_}]nCꈻ](p1.wux%wJ6 R_!1/@(IZ2RZhoeI@I)~hU\œfZaN˄mR% H=6GYl3EQy}5`=׾}8=!_틒.vHo<`(޺D A| U( #C;PkImE= Ǧ|>!S@f!ɮpLl1_F(DC"eG c.|RicY[>|#>H=WzڎI] T *Z4XߩǏ L䎌H<{?d "pbJ]aUlloٷ +<`+G,푛\{3|[*WO='YD]ؘ3W0JX_DھږWHU,`A |CGy{ ~Lcy}OiG<= * 59δɢ_<AODU$)"F_X դ=O寞D&_UHw*w|C 11ilMm49rY; ER$ *гNTHh4 Lvk?ˉ{| $Y a$dY BFy:/?W`܂~[g99T( "G.Uʒ*A!jE͐AL/P܇|@F%$'xoͯ++ wnOه^_ѧg2ZP(8HcoA@I?"޳X/ef(xE˾dTi]y8i|Tpǩb[qH"MyrXfDࠗ(@={]< 2o\O10֘f: 5 썀rc3)$KMX板u8B j!3)$w<,'mS3=ӜUIrAsVRcOb۹ './T&g̋IՇ% ,#bg! -r. afK1ny312_)0 ؁P!װV+,.ơE 29( ڐ6 #!! {r D > ȣ-ϤC.r,%"DQX}AP q㜉8 v Wo-?"8ɇ_|@Zx[1T,G H/ Q\8աmgRˏԬ ۜ7"BgԶ_c_jĆ"@ir徖{_WV1F,3qt ?@PR4ֶ;W,Nc\7tm/#lkW| SavHNƏc3[9 ]&Q5a4x׸idc1ۑ ō@;wD%d ҨG{Cj|v5T\': ǽ賧㍁s׬kٮv]xngp ̳R&bbcG1/2bw11ʺH!qD­KK34L F+i,j ߸Cy6vg78KȚgo6t$e?6,]96yNȰC{GV]Cе>&XX:ٖC%Ie-36m(V1g#} v6 In )ZiOh?xݐִ;.CJU݋KyC埢n170* ѡ#.:<996/aw 50fu(a\󆿒7IW;xxy~HP %JSI_e?Ol߁̅9k' *1NC"UC~~hh+sTyDFq&L1>p+ lbU=[Pz'>=AX`^MQN[߮ Ċu (.9ůl8EkE np.7^!y^sO7t?2?^w#?rb)? A}UnUdoV zИ+}( y05cq-o`C?R!Z&20"yvyVl'R p- I~dw'sJ3)O;e_fUJv239l%!U96ٗHdK9@_c0!l߸ eKf[Q+92 (p4O1>/w;E0n choEzi~DD"@oh7]룖OQxĽk?p4?{Rg5[<ѳG P0K0 M5fl+10nF-Aq\=2b8 P{-}U͋ uV: 7n 7 b:r,JNh'YL/_޳lṜ:bbxx"9tQ#Kמ n(2SNc ya>@ˆ%9E"U#G!`RIR#uё[>G=,V~nFJIR *"@ذ}U,ЊU~Q UϩpLG.8Qei8O5)Ƞ{Q ݜ>o;Z5@`i;Ai1d|-`;kڿ(-Ya1@iX3WC+ꙫP0$"@ G޼Sm~ }kM_lkeV%V5bYX `)o4>򻾿FkFPu(+]P%k~_NT.Qs\b<)1X1bO6h5HqAAgUXnp*FP@bp`ӎVu_C{i=>gke|8%{\ ףޅ*Ϫѡc(^c/|k4?krWAX ZcY?sҗDob۹!f.UU>bjlAEf@PPR2 ,1u9 ,d,$"/QI!'➮p^aBr?NJ?aU_|S0 H,1O븟=a1@ Hx (?Qy;SvA$fhfEŴ+m&h#hi߃lTU(#Z"KkHl֋Zƪ5kb)RWV^B^ tAbE KMw(ɶh2iH˵E%mڳ[PS(fFSP&1 AJfOwY%lmATmh!64&6lͩ،liݣZUM1VX֢B%ՈŶiZDm%4Z6m5E\&.\OIYbcǹ U;~F|i>fvQQERRXllIEYHjbl/Y%(+kkO|#*YMiFÍ~8wVUv9bgyV$U(07;DETJC2@U1~(heb4DěGYs9>\m4\ί8,{VȱAQZ"5&(Di,Yg-Zܶrʕ~oTBD>OtA*Fvq͕y1[kN ̱r;^\?yI9h͒).`@@p-S,I }nS\汁T,L ";*M=mutݧv i75[|S!8!؁Ď+D@Eh .8cb{-/19&%M AXw9l2w7HH$hiskvRif#"YB%)R Hň" $z^z/]χ{}qU 8R.q"qStDiPqVm}zGl\ 0DЪgQcO~?!u$)J"B)E .YpvT/c u4,aM" 20 Pp'AmU|}Oq hq~ om q (\l"ӶƧM.>T,cÞ߇Êo)! C B"Hٜ j)^{ao(U8YSd?IWބ&@DBEW4YbɓVck^w 2u42b,GI@U{I^*ŬmmjG<&$3AX ~siu;tҚڳvu۫ݣ% /&rLuQm)"%r!D VILfP)a %cLmffU] 3c-62(%OK֮ǹ}:2ͥ qsm}No[b)Jjۣeed3jym7W.o0_/e6Uݶ:YZ ٿwȵ1"ޯd 8J@Ҁ5w5vrz38o@ρ@~O/G޿rHse$d21 s!AlReA zgǰx f'3p9lB0;FKRFIy`[aq- "X9ݍ>҅ڤZ%B1ot$JzPb6nmh1~K}wonVFcT+i6*Lpʨ6نQz!"\rE-Y*j@`ā%E:FHPJ TmJ*ϸ-!doٜ4OG ($sH/*Sʊ#[nؑJ FB-n. 9r^Thi% DH%'m'g^Zǘɤr!+Yfu♀]J3>Da(`}p$\WlʶUM_b趈Z%@$XX&@B G>gׯGU ~]HvXkMv#Y@*U;y@yP;wiՆ}RυE>>9DJf7{gՖxìlr0.nw9r˗(,Vs#$&,"BTK`.E).Ш2-TQf뇮رKR 8S4dmïeĒAB ƪBAMᅜʑ)k3[s͛2mѯЖ=oϲ+aDݪ09};H4cq%C"Q -~Cc>= 4ew2Uݲe[/:h&6(@ic̺}^/.UAE$TP_D]dncbnq[nxͭ9s,\RozЯ2]b U@AI@UB )xA`B(P` $ j6P{m+jk#D֐(@V5he>P&є`I,UTWue i;WZνұQ&i7Nǂ}8 2Hqict 4@XQ-=/<ș D8{YcCVK]_Gz,3 /`i;Ơ#rqhY!q5D#b-FךS/о+ TDDc Reoݚ^m˼4(%y+v\!;Sv!#l(VR&̽nb>c "1 6iAꂒDH'_{ G;&ڨ[| @ D$&舀-Pswx pSAan(TKI 0~Z (Le{]mU4 ״?&U:y(VUnG8Fk}a3@v.ìZAl̤+kL\00R)& G}DJ/u19un@9BPmRg[H2;pqĨ \Yn`4DG $;nn0I6-Yݤo޷%ﵫ\ۓ|dkOS#4|+ݕ1Mh`x^*d\8DƩ4|ږ4SF88k~>l ڬ8~=jHiWh9P+cq$(I"(2b(PB+{H8b.iJQ$UՀ\EKDa^ rFLhaEUB1kJl)%Fm H,XJݛRv1&2=a[Q&8" 6,pI3X"}>T(N)`6ˉhX$*#$aF-K(hռ/;WM3cDl{9S FrDLk0(LGp\u!EsQIa3#>3# D0T e-k/߲jY-*P_eTub4wWtw[:HA_G*. 2.~b?5L.x^ HH+P&e ) U*ڠZcTP$Ԅ ~-7yz!riZH+MrRRmSjP@\sS{rW^|ۭu0 ףh%+q2 ABPbV'&Ac+&l*JE0T PoZך^ycgw^xH޳ͶMb@TP(#u GfI\ 򪐀Y |y_2AĄNĽNޠ3ݺI'^  mMzygn :THHCUr\ӗ]L<}J<2 -warY=i1& ue!(Bp_w7r؛ЄK *Ɣhb)B*}O]X,b˙O6G7<~]`Pcd~O 5%B%@q#:iIH@e(C|n b #f]H"ũH_Ηc]O&.~j,g"H 1)R"!E"j:tZ `"tu *7"pKARJsz 'cٔ0"i2PP]Yv`;ta0\X*"ֲ[E"L+pRҺFu;5 piQUu=r IIZar$]\6$Eρ1K,'@0he 0<݌9Dc ;l )ZH](! `ZO&6(18yY}YaRr#Bz P P͖78l܂ P%)-U! R@qHKm5b;!*:2I2blm`K YOj,]S5KѮE *'U ^h`, eDU5MZ) )|x+) VDMH DOymt6S t@4FC@ <@Hhl"@l۴VzYuh)-ص Ek,#sK]jHm6^k{U>`wR5n^s;fb}KP"'KԻj4-mS%|R G勰YH}S6$X 1!P!x8jZ?+(jBדbZӖiz+'Q\k@ YģT*3A`3eeJcu%S6tT?d Jnm½e!6z!]S.cbL~lH}@m# ;Ol=:Euv{]_&\[۽{V|]}z{7*Wշӧ[ή;q_}n{{{rfǧ np>{{Y+X}/_}۪X +Sw\Qy`5 ׳}tt*םJ'}q;}ޚG=ƒsU_y} g}^ 7}3fkGv=\ӻvx[ >ݺnZ6'}!V ]oQ@ {|h2{nS/’> }y]J7Gǝ|kZ>ƨ^k7>G݋ם{l}t+uH۴pt޻-Nw}xفN2xI" @h&@ɐi51044i6 L MS446ȞjbcMS6)hH4&@b O3T4fSMS5O(S xSA4MC2=&Pښb=A! LhFTaLi?(A66~)?M=FSi5=Ohz$lѩz5=G)$fS&(SOH$JRi1 I&J~AxS4ڞ4=?&jiiQ@4d Ph4P2 h4$FM0DM5=022Ld*Sa4dɩjz?'ȚhiT#&fOSmMLSƊ~)SOSj)56觵2ʚz$ Ё4A@<1C4D)*ɚ MORzý­(CX? x|MIl8kJ )HE.oCo}_>cPFuݮZ]A`óԺmobHyX"*e)Ҷ6ӝR5ڵ 0 Q7ou߁L$ABΦ,1OJ (2ڵԯ#a gX cX̑O_7£a|vZQy|Q&k򻓩BX˴ds £HH$jFu:+tjϕmض1&EnWOs# d!%Q 7ݟ|l7{:jFƱAڄ$ Db_.޿F˛Ksn 흮nT %ޕ9x^Z E,TwVwZ9sm2m Mf$ mIQM2#V4Rh+12aQ6՛[b PecklUBI I1)4AIH}[wi޾I, 3K WĢKG_'M{4Ku:Fm$*HRD%JREH©Q ($&z`MERcDi2EmL,lh MFkcLY$1$CE4X4kM)Kiџ3R9kjrԖ*UW4y:121Ql\lP`F%ITT`DYL_bJ#!DѥHAu: ۬Q Ɗ}1o[>4X̡,IDLŊfу13 *"(% (F#Da mEI2 P*(ES#$ZF A6BmLMEF+ѣH@6L $JL$1@X%Q)& HQ`C$Z1ch" E I-k|wKsoSS;mlN#х.-$HV$᱾^>vE%X;# ) 28Ql"<Pw'fo͗ս5ٔ$$ 2gݖ벤j7.!ژm@4Nhy7)D4@ _ܘ2fȝUv鷴g|>ϓoF0x};;CLcc uf(4N/yˋA$$L]F*cZ+"2*g,Ԓ_}mw2+ɔ[lc/y6֏P! ٪HdldCMJI m{] 8@ytN9y,H{_?"n&gy@gzj@ٰ!nAh%,Dkŗ)a< Uv]Bצtÿ<5[ovB(M TU0m+C16Koí !~x!-z<*"uцnYjM8\ и0cyRJ]~>v\}=Ȣ3lMZCmk{=k320`䘌0 c'$%DSIMHBig,@_cYn<UPM0~ĝ&E2YVLRn9!F4&{.fQ)P}u~l!|ފ߭e轨w~F=bZ=ZͲLQ0wxg I&L#8 m##rWϧ`L"25<SFĒG0fc "uwe$=ڝ$i5%^Bl])Bff@vj8fVOe<~@.(2|^ OKN1!]|67Iz \6  $Y%|94gݝΥFIl^M;2qm\J &ڔ(x6̴0(ua ٷau! MA0EZ=nQ#$OFdҺ@S{@&! {_P|@S#<:ˠ{l?UþlȜfjЪiny$D׵́9484<:H DcDSƍ "Ert\'Yn>@)IǺn#f!0kH}UTPO0_W;#({7tuǗkDnIEd4lr zyX}xnvws2͞/}g޻+v}ٽ|ۻe\b_3]fkO ??[ :9Cl"}mAdv>l+A"WP7Oc{ųYJNN:y0;]˟W}kmafl{hx;Q(JA H$deWFս7^|* ޢEcyv` $eB-ޯ,a<%df]1Dw Ay>|À{""f@H͠2-uO+i(^}{mˬddE%&!$B|ՀcѠ8"uFi5I%b|z7)M&"OO r<w +w SXY"I5Uv$$g'l%٫F n35d?$7eG-$?uH1K@!l\f-$ g30˝ 6.S 䙍=4N'3 y[h$r; +E24nMlZ.%XCyEKAacc[(:Φm B1W[؊Mֿ_8xaxk_. `,/O.v6 5]E@3bEwQqbu\y857pGN $$_s0t\mG^odޥ{h_SGKDSt"$$ |bk# }o`|S#} f4ƃL 0.rCy;Fc= QPcs0MrQz(*%&D&Qk xȄRFE$@L6k]qѝq`Zl@ we. Ff5$X2W{b 0dx^⻫@KoL`m>a1cI IE;{#ń{3쏝at 1CH̏cM `ѬXW4]qCgC1SXUQ g~a6C;'#i|Mbk b Yf[{FŏȲ]+{_ M0+NF刲  ֠Đ "ng4D(+^+sƾ:ϊF؆6Ms4 "Ӻ0#h6݉]DC(tCRēE=?F#ؠqD8ps>wm Όn P'}J25GVpAB޿>>|{T,o*fۖQsC8rw&2a C^9a]z "[!;BI(0{ޓ`Q&968}-#ʁzjQsʋ._ikcOVP[xv j2Uk [;<;h;"H!8 [LW5SEzґ"ZOUbmx2NH͹ЏqNߦ;R+ 0k쾋 չ%P0=6^`0)$DKD*(2YHG~Ōί~+CVyV{~=MOX @nQ@`ƩxkZ/-$6wQ}GYd\G.e{/۰3(H9ဏQY6m6Ex[m颰O_Kw{(RiHcĄdgLBI,\o?-hfJ+>gh@,8z7[S߲s\HRNHBaa3=GkiǫʗFy\N]dyoJdt nOBVpeXƑHY+[? k~cW=bY~˷JȁHhC jSKQ%7VBI'n}=?AP7*y$ e=}6wNpYM1 նMOt:w/*oW $I- $ @m{9lѷ8_QpI+@2 OvaƏ ~rx1'?xڛn۱9J?Ǯ|)&"}Ox/+UW ɇ|UG:%(} zFCJ%MF`Ggj~״֫2$ #ʺjyb/ %&֤K]M@seН +JXtj<9_/Ӵ~GF$/~ݸ%q'x[%!{5WR.]Ů0)6*e?ynQAکO `lx$~v7g|ݧ1pÚ9鿲>3a_+\{!1x^=+(njPhSRys.<GUJnM8ҌLbWZjkz XDs>SPܸ(cl,۫XoQ[uCO!@$d|/ Cc>d`ȑ# sBHIQ$G9u;[vݦk1bPI Zd?SȜPy lL8lm#׿l7 $FTªQ5!6-s5JPPO^GԇV$>|+{hOċ5';'L=$c<{WBmȉMw}Yxss|? r:)qjϟ*?>sǜ5HZjC._k*߼U h7'gRFf u5$J6}yI) H sЁGr C}lXZWQCMˮA9־kHoLmoj'mp#zHeR@Dal'ʛ(7v>%.(G!<$a@R7_mgj?+<^ _+O6!ȱMWi$$ E5b?/?3?S@x56Xg9yb!kkaSa#/ā$i?=/mowD "HI$g˲w-qI X]|ʩo]w˔ެ0ْ_*QexLUFWlN_#[w @QYu@8moBD%˂8 'Q$dOU LuQ@䐒2D̰ʇ i%ʌPe#EɄdi r7#aGoO+Aj8)BQl}x] Y JbBG}]z" Z8IA],1A;wi$bILV$[?]V 4YeJid~}vu754(mMk}{lMre(PŽ[{%{I"ȷ-/,y ^A8QRHZ|rC#zoٌM<#3ظ!C`n @m壤kQ620cm1v!abMueֺ&G .5ִ lݠŒ(mzJ` ni\.VT"ɰ$L/AŖŋs$cl{2> lL13Jtu3#73T^I 93C`!xi$ޟ9,)ےr{C^.}߷s|-&"/L`"H>.s$! sayֽpz,-Slɓ)U@'OqщШtB*HȢUuE]׳8l[~j`_MCN ,ulP}yݢ׆Ў1{H)04Skוᰰ|Zq9׆OG@5v8dIMMVwX$#lj "Ě1>7y1r`P9;w9uPLkVNVne hnk6>wUQv`sH`8@{U]aШX;ؤȖĆ8E`! b#LtLwz/" P$DPtR֫ .鷾(Wcd\bA2 f-O]Dhqp!+YʏVÊWvpv z4ҙݘ^aB/]E!b̃oyłCND}'fVHD*@g`6'1$!,5se&D='ᦘ{5!U}Ǻ6E7+o_۳1B*E  B88q^HiJHDĢ(lnن%S!FwJ( "0Z$*(-EE,XbFѸe+L5j'%=碔R|8b)Ú6ۂ(+b"U 8͵^fRժ@2]zl lػ hG`3WMUqD4΢qD\SfVNɩ˥0&9B,?yR(q˩" !ԻH zS`((@5^!QH=tOviDP4g{Q p=/9hzc:Dujf8Hum @*uNAeݐ1cɆs<6^VCeU@eypK[K 5mMx`)@hx"(F1fјxgA̿-6xTwpmgC7Zb"*l m쾾S$H?glBL=}sP>uK3Yrw%#w/bev֦T<վo]k $mkソbi B1BBna+:]?z 3%I t&ߕaMmquaU#_G62?{M ' DxzZ;&oKX[س hJ&5 0|.{~?3wWXg?onwoOLe7U<$Ҡڇ6"0D 4U)]u E53q˷$ `{Jo/,H,9Vfm]wI좨{2\ i@v ^18t"Hbf,IG"՛n5]0\ Lٌa\`72Zqb)5`XxtKUD!:}&! Tkb "NjQ :Ϧgu1v{=gurf@Wa 5 EwqlmøcT6An!.1c`FG$k|{}_mΧWr9~ݓC9ıZ&.<7={zg}C+,]I LKY$l4e e07ʈ %f ۜ ymi!pazP`IH | zNO'y6!aV @dFdd/Сܽ >1@٩Zٲv7H@4 h}yi_qԐ4jm@A*jo&vN / 1*'& Y)-sP5&$ K3d66BkQnH+¥!:xPB d !(H q$&FgietJ*L@~Đ]^= ;q+ο}O+/˚`>;<[XF۟$kgCшms|j{|J<5D3 T|%$P~+Y@=~<Ǣ"a4!@-ybA>Wd]‚QD"D=)hy ME(PE΃{ւ EAFPCdEO@U^V!U <*1@KARSTD,Bb/P2`JQՂ!*SVյ0P*$*@,>GLIn LZ_iկɚֽ׻ APDm]qtK ˺yFR.vbR;:횵2"e%% 3-iQ_g&׎V2 ( ǐ_ِ@dTb ikQZ̭clknVZ EXF+h&o[RUmV6/("g"t'w3Z3;!o[㈮7 3Z`"+:L"P|\Ԫ9f*B;Iж,`s9v{6Q4@)DDϠ ,"$Xڇad3"xJ*;E0DU]V떨AkOܬ8Z!7U5j-V*FnaJ˯k{-Z W\WB孵V[kbY_}JOo܅-,vώ~'FڋEiUh$BHDdAj`"#Ah0@K'PA&|H!|@]MER$D!3d[R; aP zY/ PO?SrPMP1Ӎ|_@6$dW<PN3֊9 A9$=(A/4I%@< ^fƮ0@/ mwZ FXVRĠW2,"|mÛA/aLm`Ⴉ81԰|ֲ e[nș@APN4ڬЁ E_Q=oH(dA@@Ed0"!Qx#[4fmd͡*Mc jlJ S"EjI5PkQ\;tlݶZjidk[H5D"lF$F*Ҕ5#TkF5E*m$bcFт0FͶ364DPZUZB%EV-*QF+%5jmsUT5hFmj(-cm5l͋Q IPFZ6fM5ckE-cLҕF1Q*X-ъՍE-t#O1޺fmjIhZ֢66 F2mAjThMUjV-d֪j TlI+)&֓jKEcbcXLVa`FEQ2Z6 FTnwQY5*-JZ55ZJXj6-bVT͊I(ыF -$h$LI*5EZ52FZn D7JGرVͩ6{򜦵#UJ䔣@dTDP=8BI!!F* Ԑ  'Ii]eKZؿD3"Gk֢^[uUoWi|NRR&=vrڽeQm3LTjFڈ! " " WB"')A2(h 0UN (( D;T _O,(`U@$DATdIW D(5I%DE@*)тQE0o-^.PBT[V-mQjmcUZV*[Z6ժTM1@ AImTjk*j! QTPh +Q@(  @"]Q[*+p@j( *jRT@D@DU""@ "}E8pD: D"fڄ3*H.4a(_ -*8-" ^b ԥzhN)*%}lcnaDOkxRM/ &t$I$ C3|78A#A>:0O,yG("F$C~^"sX~|@)P=}\!#.~C}-myC2f,6}~HD0hA`=pȡ B!͹-\p9V<ago5/ QL3!LkrO -N-")r C$D~=Ϟ|_J\/"_H|˷ci9#)$Y7/dc}]J#ezV1~L}X@qE_WЍB&i`,BOIıR1$UOøKo;O v'~Zj,tJ]3N\k87]7fNQsto;p p;]5]ۻv%114ʻH0nr5F 2CFBR"Y6rK% bQ7rXkL"+#6L$\.I0;%wFκisb)RTNvNrӗB"Mܹ1;Zwdu#s[\ŗt[!Q]ۥvj勥g:;-Fj@0l6ƙ!}?-rIv1H4 u3"@vπy'Ҳ8UKznU:":@%>D! .j+A[=s^JZbm0wpZ⸶,ch^y$3ܟ'Et͖31B_~q[r0\9#|Jb7"oba](@9#ȢH"H&pn؉W E ޭ_/5z`۹[٤*i\NakprM3Q)S tި͉hlOiM<ؠ ( ~ )JP$ws^2HHSCv/j~+y2MX1k*vϙN GE̥OIqp dg|޷cyb%J{᫜nZQkxڢ6j;;#;ͷ4ےwN5/W9r^\W~wm -FNli16[FL5blSm%")(imj"~'n*fjifXCfTQƓk-ib/my_ygչj8vrܻw[7vnqsE&ݍݛ.4aݢw.+˦lvɶ\ݻu[PFu\K;I7S\ӻr.4;ۥr:2T;k] :'9uu]Fnrήt-r'8qQtwj+rF^D#3 3d)g*bF,2fEZr e>_-O'&a$W{y`"ȤM K6~ΗY1[M?NW~qV{qtu0Ni}$2HR!jY(,U?*@" HB#"/s01'ȐbɂRh1! 3 j- L6Rl/Qկ/gn_/MfD'$Vg!]E~3`B:Gxg6Di\Uq@D* TH(m,rt_bADz;08w{BlegwFw}?Ӳwc$˭1q9Q"εt\"ks̯ٟr6nl6ַ`0.mܐPT:kpO!䐎1 Y,xr.:uzW؛ hk[dc':s{odFX2LxQd:owϗN}˙#q.^' 9=ՖN ʻ1˭&/^|CqHrA(dEPB6j߳Ԅۊn×Z{֛kak5$&5s9)k3tsbh='!Wծ\3j,<## 5 UaiNȬD2%It.tZ?~stwF)t'~yG{iweH80@ (͸w~HuTed BĜ%y[!kk'&t93eI8n-t)P$uA!Xu2ʿO~yR@a$}c{ di5=ͳ;I؉ ο A$[Y ?s!Fqx~C@#Q8qD*L:V?zxWogo}?XYV6Ĥ22 lgxb#m*ںwd1ƺĒBG*C)_2^V&FH@1UR*PTHnzgNFJpDXA'PR޷y$hA*׵"ҡJ!\RH EH'LMv0lڥ3jjT-i(@CPGU6P* [b%Q(N !癕~%Oի $L##m3JOtMB2JBru߭"t* b?Bp7m_ uma&mロj¨f2XI'p=޻蟻}a/>4ϯ]m5&8xoCq/ՄHfH\2 TvCsuN:6\dW!鄎U.W?a޹@'&LWWng&E00Vw\<"*3z1sêɍw!IɲNLz>'|)nUG˝7 [Ŧ1OW&݅OK/#?duY/>@ Z)\2 ,DVI =om|Qvw.Ӵ nvj7]čkwLJx0!I!2+|.)^zМPE[ Z[/?ĚQkB;ge3!{( qUDƙ9w>u>jc9=.onjLbE h!( D:QL}176d4H7AfGH`狈PLR7˦#~D<ΠY2qw-Ĕ/x\W[6I` :.*x$:GuƼB N<8X' X"8f@p]Ocў\|q BMSF惭ion674HMo`8a ˀ$  } ć֌T8/&L\栨*$pov Wz?72A,qDAF:2/NIvω\9\GʑN.!?5-pn;$H^SW =\p@HAz $iXA԰auIUEiƣ%8߰S&`)ˁÈ"*RpSH T)W@Rgzqy+9n{h=/d"(XHfȮkNjmEdg{Y*b%)Z홓'B_@a4ԃ6^NgǪ$Fn2tﺶNc@#$B `uԦ . @R1b1Km,c%3$ŅfGwm_?}}cEƆЏ<+pF8č"񠽗t0vƇ=<{~>ś=.Է 8UUU$ -n.WyayEܹ_OW7z^T'ѧKs"2Lt# Fwv'r. D7slu c>vM]yV&9:\M^$)"@G:kt^$Aϰǎ co.e3LΜj$iw\M e LaoTF^a%kod- YdĩI: YkXPu5 QXc髓{6xp A(f㚶 YJR"<( N>ripP?R2;(&+V[sω-ufdA҄܁J@ s c$(Oh@(#Th~zk<č:%7G|km5>I ~tQlGt nɸ h[Jk@ǽN$ ZhojCV +  @mnF Bq4Gm #$v{m8K"I!!@݁N2z[:=N+_ wlv!w0 _l3>/ԄQA~%]>gbۙ3wՌ0d @JN qHE#\q]lǝ6s\]n3iba ^VrEwk5V(pBʼn^:o Wi FEj lg^ G=BI֏&d\Ȇi)7n yk`Fm_wN&xhHC(-D`N9DbJ2#C!lsKH- ~]+z%BX2 %N"%I4DoF`NCY刴@$2j Y eȡƢ ED%.VNTOʹ7uG\ dd1 @&cU* h˜P9(@ urL.v D 9q:{d|T "FI$J$ _+kk[k%ی%<BaNs;kN[\9śR#(xS["H }bZQ(=7u[))*@DbDLgc- |J *+@xNu|U{?[E=ܚ0$~kKBG`?/`\)Qe $d1KeZKfڻHdOLo]ԝ/#=EjD{ A@X(:^7]m_W Z a{&@)q8ݧi/^ p~s]Lmx.ۺ!ͫpӲH2/v^NpXlYA*j-gޘgKpe`˸GBH]#{mۋ:V~ k:7՛r]|:?bKpZ%Ӡ! \2# e#jBkcY5FhDv* ȦN|8&MCNY#) lp%ԪaR9&QC<\e [Qszy:.x<5<8i# >Gw\D:&V9[tK"qɒo?Z$?8,)*[ڧPx<x>ʃM$+jV$KlSXN5ZCU?oѶ1V(,A DոLݘ2wfdf% &B+ԡ&8>XW;NWnqg믣6w'GuT*Og$rƌc*^Zֽ+#Պ(|\PC$ ѐx"ؑxPdB0I⩔S߉ |EhP"UŽ?=rdעGGD>>*o@(k DKz2Ok(PrqYZ??nmg?i$LLht;C`B:Ѡ y[@O+Mzo@OLLUs%2XEWwx` T9pOSԁ TMPZ m)\ö.prycUJ#zZҌϮ%B/D룟\ݻRih4˘C<ף+XՍrb'B$sq 觷(*>q8@,@ԣgmE$$5a3"8@M2B=]ib6 4w]ߪsgmNdGV[d_>_ِ P iaPgВmd ZjM{8kȂ8D x ?m%#,2P<ʚŋNjzy3`zII0rL(E!$s2#-ڐ, 4j7Z1>xtہ w<+,~Vݤƍ˖ݠʍ_y4 Ca^$e lJ3`2߰XWz}>wvQsdI˵| },= Huп=(!JC!:1?SJmm+L}y}kE̋'8Gha'chhȈ,7aXnJymuHawgkw߽ ɐ4*NdRHh؉ n5q~<#GB DYߵs/y|]HvfE~x;>(qO #W:J|ScQ,d=D9߆uЏw'—\)fSqX$ܿ,_}T1DzVNbH16s%KêOKbx-d=3Θ׉~|/7ne 01"xR_TP2võUC G Q@YzeyQlCXh7+,r|(*'σm Ia$c-@F ,;Qv\Qg\8)PybhbSp8sTZ Pz(PAY]A|.a--l0@sݡ"@r= ֖3!9Zg|j\01\$ -T~e&Vh+ _0R=1$L3*4%0?EUZOsLzjRi&kd L],?k1[6W ϴW֒T[KcN _}@`9$5v9T3yS32fe|gEXvAQ{n(E33&f(A_U 8w @L+UA,` *.g>4n* ;wdU Scه0- -`^(3S >jDm k`-2ꜩ53!CA-;4spLzb%av)Q]9qqm/mxZj#40UXtokk$2oAʃ*(PPeիY WFܸ ӡ oCtg?mwP ko U`Z_5Wg#2~/갬tūl} &Treh a {_7$ K{F9$TMX$frK1.u $>VdÏkhSc^*c~gH\Ai!D2Mt6v}@ˇ?=0lׯXpǦZDsׅq Ղ ̵ƍ;=Bb( {L &_zAh^jBX; m# *U」o]&YB֤ A! A,yPo $ĩHLpxtHŢ:vp Ϝבw*Ӣq6V*[t(c 6-Tl06H`$RHA [1Ī6@;}\חkyD3bU@nSuY/A(並=i yV1Y,EmG? 'DMgIL2'чM?;vÉQ:9=Dr ڤDAAE9^2ՀB`%23%9ǹ{u{Cq cic^"^%R$1#=zc-T܊X56w66{'z\?mP<ސ#>$E #ziN:9*9%ܪ C VF RLJ9oR*PllD)clg786jH6PţT:2Ð)sW4zC6KRB*Dn;&oo2 8p<s9y$d͇O3SbK}NÜ/+sE`^zxR Uj'dKbPR@>~H_5 GtKp| ,XMV4K*#eS@D $~na/(}PQM䟼"^S 5b=T+#!"L kecR&p3͑e`zե1 ’H[uFsn@c,82\])N[[l\Vus+d}Y9Yts|g,u\(.\2rz,6LCȪpACWW\^_q[Nsַ|D Lh:xF9`=3&Ɇ1{q䢜1tѼ{pIB6D62 Is.: CCY;uzU[U< j|+Uɹ^tՀ'ekGWO^ WLkĻHW|}w΃C4#.d9qql ~d`.B+/E,;! 'G5H>c>{3 /|Vpw@CF޻'3 pe@,LVK,2Y-Mzl~0c5ĉCϺ;L,n^o / ̾}݄`dP{&NOq'%WW$ =yhOHfnh0W滨X׊+QOo-i!|Rk=(d\@?jhYP,YYYYPe1k$%l*c "#Xpè zYlɽ>bɉԦF1JAÇzg.y3 jK(P s^ֱwh8{^s ui47-Y,+b1#g`q8yL_/ }ۑ5c].ml4cI&RFe\ˮZB!rny8umarC6pAy4ְŇO4RBGn<* ]3iVvH~\{ OA'4ϊ^qqx;*) ɜ50ss>S'Β ;)J; HqMкoxM J:]$)88bA8eA`-!C: d:*Nq+b^oݒ@G%xx{ ;h1 f+^=G2B%K)4ʄT6PD(feG#jx^ }#=mA!$FuL:鉝fN0MuԳ#)WNLi%nLsRR$$ ӷv+[ҒηSfFJL5-NbaLiahٱ1.fTB%4ED xX;zQ"Z*IA$ I7Ĩ3E Eԁ4ZdUJӊ !iB$THCYBx+"zAFEPVMnNw9 ORT_`j_˗콭9uw3Wwb @C .JMd8D w60݌Ǟ5SG# T2c`l;ɤ/Wr;f0a¢D)I*"Pz^#k(^.%Ef8Q8Ņ4$#ؒ09L%ĕ ˅u:<7+sRy^" +rȜ;2ȥI!@$aA$jG`v/*c(^=|%lQV1qqq`1Xr2Gl*c d.% ?b r;\gƖ3+6%Gs;\WC^ )糇 D1ȕ\EsAV1'*dhXƪQZD<"Kh҂wCi {w,|/zHb5c8zWVgɼoټϟ) /A77a>4&*{ØQc|__{=FğH |3:{gћQiJ%52U0v:nhؘuv6w\{"-iseuouE8Je涾>~=nZ1jhnx?M}zUs7J"2=05''[3_oAWJ$_^7ý*2Lha3֜rctoeWucEu3*ovfCh3Ә{G,dqlKSkӟh'oQGk99;؛1w 'UK[_|X;-h|EX `Fq`ݫK\*9 k7̯ay2y ߃hMH/ClP]ʧQf|2Rl87CEW]Ȥ# 㤣ߧW!p@đ`X9_]v=[$9$DA){_q6VOj'bpI\K_oyuw&xh{7"X fuw`, <Lb^-80E|tؔPXO] @ʭZ8 l%6Cn*6MEkڼڲv\֌Ƚ,k5o |:ͯަѧ&i/'?D`Ĺ8V5Vr 3e׿neo?6|Ma~gه@k}֨qɸBv|n6siIiun;5|؎*[~u}`ժ3Zdi2vkcabcfn,?_Uc\फFJ߫z!8bn-\dkY}ݫ;=$!h5쳣`(;Jc^GZkI&+L(./1~P(b5-io(n5ѭmWOеJwmP 1~ ˩G=( $X#sSLR>2MŌqE$JG1VnD j*[4M$ƅ`%%){1wHxno4s.. QgmR4Q񛋼wq/<6M=<39mikTp] Mgq˽- / XWJ sȘǎ͚iZ <> >l=[s(f~G_y~YjtCs!K}ѽ4z^<RF2cs==5*-Jdl‘=82eN2 fw^kޒCQA Q @.!u,;Z+хd Cjm]64"u9`>O-||fSA{sq*V,߅ܙ'OcTM]~'q풅"[Ed:rήyMo奈I0#(a,7Ԕ@ Cg{}cH8v&658ZZAEY%ٔ A۶zmBJ;I$ȍHh\1GD\3_A~pm4s0dw]Z(HJI.+z BnV9~w/|Umd ) %XfLY!7,UPvsclU-픷r)UKS*ܼ %{jؖ征1󶐰n6B{:vrOg_N#a܋~2 !Ȃ#n4޴Qx0"Q[66mdQ#(Գ'}ZUmW[v4Do=+Xi(_" 0CKp:wl!X!s [¾5hw5hD)qs%1މ̊ue(BIow*>ڑ+k&< |y>~cA2#6a -[I<1nKGYFZK`$mZDΝCrTŤuiYo]z,j},3.}8q-MAP`8"k(DvN0t[!)F.oյ`F BV%!W>G"w-;p_Ju!P-ǭK28\o0M ۹O'Oj$U{.kx0Ŀ?bfŭLG+J cnU\shIHk+k?k%=>*mf =ˮBEhiނ>P23j)4N_=ua{}V634F|߀C76 Bn躲8w=$F$AjkCUpo3>z}w'r,yGfaH2u,q:BBn|bM ,k6dzQR ^ReJT$WJ,JdBh 6@>8"3][V=\zb^OW/ߕky b%PWƕq]8ʓڶj*ֳHa91kx]A[[]*kxze[2 51g-;QhA`rgW=N6mmcH5[t&BRk0Ɂk)+s3s.suhƍu֊2W8j{;=/ usI )#TRQvH.۔PTU2Js2DdR%V#];iqĺJ^HY%A => !hGludMhFó&!-$OE5nTL‡Ha0p'\+PsۛafCfs.2;Bl+M8c Hji"}_F,XRjC(14J5.4\tA6cJAm p*L밌Y(RWj#R049mMwf1Pil{3P6S|oͱ" -۷1͌b7cU+F[hipP$ =̢(,j |JBddr Ȍ!Q&`ԗ&iQ'&5AL<]ّgxq˹3 L-;wYqAUx%_xjAS R` ģjƲG)3L.@[ 4)\{"1c- K9ءv^A)s;S4rcZsxyߜx}Ln؉֭iG\\6uo;uC@}ILPHAT0A+ђuuH 0S͡~.V ֞YЏ.m֠DB ACs9x1!&IK) H1FZt|L.<`&K(&8QBi*MPK#nq8< Iþ]"ZMυiiЁ::ֲdb'$Y)4<ΚaFdꤓ+( J#]]tP:Ha0y.->@h3x4=*evHHD HJimhޚ#&ASܥbƒELqQDT(K),:w;Rd=y⻠{?LX$=oM W>g7z B-./i6 ۯ$3/%GȯJj`XX;m"U[_dVw=pm+ -:U=ê& wH G'hwk裟|#D0zO͒ߚ89`n,Y^|Cmb_ݻ ͈_}y3>G;>T}W84hm$Ϣv%AM_⭯g}@tƁ$VNPq&1HL#2iqtxiAhj%D3#ER*N˰:R@Nl66R؄NL(5DJL*gqQ44t˹sk7;-q.ݵkHv]f]]v\r씼ԖQvh{2bIBAc!{o8.Y#8Y4aTd B27w}0E71d$)!$ܽS.$K7{ SE p|0w7% ܲdd8y^YѮwX/K-l4_ihp@bBV5hU$dȓlkEoڋb*5&d F4T0jKQ/;[%*Z)3 cwAKGv&  =,j0sa,֢@ޔN$}b!kCY\O 7ە.c7NdX@>͇,}gwRzkd-4K77Gd-#ech=Acl0|=YDpo k:ߏ<]X E?5/ys8Tѵ 9c2 `%&=Wn^]WpeCv hpv6I@Zuk*|\-Bu Phhnٛfez% 6vm=llyJ0ϯkQ/E +Af;+q7[<@mpoPl)NM 9rs  A`!P;26v_(t`E4﫰劸'Nb `7dtXP B\[pqQ@2MӭQOqH*}Cew}8,:hcBo4kXn3]L [,_Gj͍}z/rnZz(BΎ~7ҏ-͜oW64Z0d%ۨ ^ye跗w37*Z4pCnӃj4FQ,&j6C,lXMtC&1DPS5F#EEF.mmfh"$11gܣUQnIETn\*+ swZ%fV7FKmۣ 8wajE1*Ġ,]́IN]Ys,dmSbKA0 LiI xc7>?q^v釭3kWzu5Izw?DEe'ww@ Gw>VjT3Vf\(|Z9{I8g<s6ϙKѝC<,σK2I6}TP6H0DLmS"&ž1/D3h8K ;s&ŵm.Yl6ώy ԛ=wN(PJe k)9*H ipn7 [2 L&h;J4Ј9!(x2Up:7'Rs &8Z1X;%:R}}ロo 7j`V~ y NT^NŽUz/G&0Q!Kctrb&U(jSt s!Os ˖ w&p1[cT (xQ^ 1H7{|.<}֍:_dH5~!ə#+qgޙ4(Kڟ Cs|+}5xk*"u0N1YS-Z~]G)Ȭj^LJXfm/Х=/@CʙHe4lʨT[TK a/Uݷs]u3kuҮF`wTXWt]uŻM$nuWSL33]$4BZDel-4ɤF.$tQRR–Jm0 2*Jl=W5jOw>w)BHo:AOJ Ѧ<_vPs(^o,绗Cjh^" AYFw L`ͧp?FˋƗ 3Y8gyREPLɚL48mŧ3񊈇o4t6wB77Y =:`>ԧ/OaX.O( X`qqY A}3U vD:Oznh7 yfSg. Q#>^)ӨHmkӡ"F㚪͉TC IQg(!*Qc]k5F6^i0PRa;v046\{8>&;iYyt 7 Q.6R+f\-+2$ Srœ20mw tpS )t<⬤l< @!d1ʨΓYL0bلEP UckD!PT+"#Ym+1k*ߥzBI֯Ԃ^!|֊ʺdv* 6ҒLUL:7t:LڪJe?ԁL!yshUu{v>sbq>G-wMEԚ#+PЊ$p*(b`w-|xF24&ЍGaH3Ά$V%$iׯVW|VZScP!)A^;OfmSX`/mힷ=mgX7NC:ڻྕ+~$'e"lu<׵>[`:1s s9߶ G˕##L~[cGvK(YҬcH؅Ύr s2a55NM0{-!:fI2`б0XWٖmm ,tf ]d0Fr3Fh4e[nL xTxx5i!bb@ͭ@&/?W5.)Ɲ+i{}˰rx?Vuy2*,==#SË®cL*Ywܒh=Qr$^-' k%$iB̪k*eW[X'3ESUN?NfG x:^J*:EkJ̯V!bLn*; ~Gq4T:h/Ѯv۾oqoakSlqBCeo5 [d"+鮶HOF%=~y1Oʔ44撺Edx?E\ÃFV394L~V㻧r١H$/*;uzw`?L祾3%NݻzCкl|2O-`l}t~wܷ3ьj["oW1O۲2Z:<P&v9\B3.k@z<SXw3nxuuus_h001tht2eG *EszNDL2ob1NڈO3y`6J am`PP+,yf,m+4@W聗M:l F3 Å1B {G>MEw9X_A'R̓#L5#dqPC0o sv.X[ @ofp,TqL7cDABFڠȬ̹ N"Q$*Q22m#Zz\kf+gz^gEaDpϲGDt+Z MW>Xllg̤VZc =|Z+l/fH1 ⺵d"a:}XQ xzXX]@NO =6)ؠLcχy\ݏBvB/eGzHr|([w_g#/~͵A 砖F!4LF% P`*T(!pSBB0hxP: \ !XVm.GFa]j ,q`gu,M6 $O)tKu=4YW8Ӂ"u/L6l0Scg+? ^J~J4hQ~>0cm?sDǚȢj(3b agE^Z]>ݐZ?"\wig^gS|<70㚲yQ?NhgG4ErWeOK9cceE8Sصlm6Wu!!Xn1t̜1 (ۋHJF,sۡaOl`k:!\һ]_7 Ő }-Zu$*opRB;Q=1Bg΃/XR AA _,l?ΐoxŀCvno?xliϳLkso߳8#JٜZZmm cbZy[ G*6Fŋ4I/}bVd{ $$H$5kAo4Ɵ78MrBdg+^e2o$#3}O$taZLnnv~Ll"$`]j 2|殸aㄨ:^}{8  d0$3t[y((H#¬BlJE6m)p^S,+*ޘv0E)A=l,J(8@X(I(L꿴6@ݥ~ Ǧ<|^W'z0%Tvp`|MmoW=s\cT >12e%3XD J^cZ1m5M _B_H-h{H>S;p,fY{Հ,,+aw7MRV4 $F !X1zcBzƸ:(t $u$~X1A 1Eyϡ\ "$P*ʊXDV* e+pC };ss&g'ȸR],|3ǙC_ӮS#GvO=Vetk#reUIu 5*TT5cwG;mϓ u"d!R.OSl$'N HjΓ GN(r89㐀&_|.KcOhB }`'>ԥn$o쪓_rTl~ (Ԓ/pûmcy s=}!IgѸˮz{mw›1IZ]f"K>μ$Y \Ho~_[/6M2 { C|p,D^S1Tkh %?hc@o Zd=փ`fm-&9Z~~55?U;b<yiWs[IV!*w_01G6rB0_oy-ٻ{DF/XzޞmtBUqowlHH~Gx}7M0\uַojJ}׊dSwS''ޞ1YYV32dڋ ǽ9(2}Fdvk rU0J̢+3 ]ؕv +;"bu,mk_ҵ*Gd~?K)AǐX\RE<7zҧ5Thvc+R+Ƒ@"A/ I9zӻ7HYQ=|Ŋ ?<҃jFUn:!0S';OΘ -EXtŋxeġ8e@&i6 B.NY7טqF0I&pH ۡAO:UgZ2 p؍@aK*LML:m/Q{|tfJ<[C'\? ̿B5BM𻋏 ȝQJ)5x>\zN#=$Ş"c[uPP?B.!ɐO(01Nsپjmuݏ"4ԍKs_m|hF¡rD'Ӓ [<&A}hhZi=Vi\uBzcP M] W1J^% N2PI T˧m 7~C[+:y1z#D/|y@e}$PŎ(40Z)=B,=ZH5yvyr 3b\ +: 9LyE2&YpĎ]]UyFzfܵw84&fd58x.K&>>4L-'/yM>r>hj>8EEB"M'=lAAKhyD8)f SMS/(jame<_ g9͙:O+\PS?T|&&kFlRX3nun8b $ f U6fI!|I{$ mҭV9'/FzzѨ]@laD=1m.?&`ziYkUYk?q9|R_zB_qt'p,4KF-^C<#4/fAߊp#gK%h.#H5@_|/4AB=")Ot'UR${3ʀ*yf8 zR}riX6r@(+.pkB T}B:gAJ o">dMJ:Gx4:lm/'9XO,<0]0xIiIihKBwE=A/#jvW F`U7'f{dAcCc2 ŃOJ }]v;m3ڝ1?b @d81125mNTn%uZt^@ m; AxA5=s,bOb@ NO7!s^:ll(x ( 'u&L[=8eQZR1e0Lt0(ZBE{4ׇ4Cq~Oa~go6U)h,RN/g{`_r_&PMXͲ욕^.z6͵WNBB^խm˲:<lȆ|_7ñO_R:K4qY-5SR ZR;>)wn3]6oؿ?T~(Dx}wGS?.3S #'n"DtaT=5ل~OeuG޿4~ntd+w}fq}|:+fC]mvN\ 0oW#1%Jm[=4mMѤd$&|y.5,֘1=T9㳚-$%v$+NHfGv6p]]zތZ~D"b# "M1n:FÉ%)z?k@'&Mpfn¢ߋID\[K"l^?cv+ u%YR>Xd(U?,V49ҴA̛7d. :Jl7%jwsůa]/]#&  U]Zf!$y+l4BU=Co:n_ !ϟʹȿČ,UB5|y[s|{- M0a*w귄`CeA 3uHs@C!xImdai%4Hf.aSPgiv)lN: 1:΋h=(GB[s^۾N 5 f¯כͫOVz_-CM30]p\(H a06  e_Z`f:8(}=bQWfWa؝ l;Qyƺ]D@p) ;MZ+|@X~66:sAuC+ٱ߄To?KxZM;ZTH~ S57]WO9\a;H) (o IİG}Vo{O?u:C^qM''w?^`p0aD ܟo %4ļȃ]?חM׀'c|^k2u!N\{=R;۩aUZ]s0W~g$&+Oϫ>ckl`i~Qm~_`~_vϷf}*JM~W{h%t7^5'nfk,UؘPEeul[MhΕ$66ŴI`B&-EfL%# R 2lMDnΠss.tccVM˔E.'7d59M籍$cDm1P Ўz&0&8ow8$!**}t/k]!p1TR_L %SɀC_iHxn{]1TtZ 3x!F ָ}Dd3O_ow3ˡȍ)lY3ScOUUʲu)?/Kʪb;2ފW} e0u"/m@>ļPVTi&@̆yal03W6A={\ۜDs+I7lF>v]3l_;8mȤղ܏~i tQL*;TE묊UTO/?*hGߎS 00R9m*atiV(41J"G_ʷ߁$)AL?jiLk޷ͯ}kY7u/_>:?:نA7iJ:K>eTc6 s Alwje}/_'ޫ=:9@ah 9FMK <;I Le1&XĦz):4Z'e6m׷nݻvwAj|(rD|a p {:0.{}1"G_#Q~qo X&f&d<;u"i_ܙlr\qNwojQR !*IJ\}u~uar˪$aMֳFVW^fkci{dzͫS70gVr=Is\gMߵL7Y\gug!en[*yK] Tw}{,Nq7OD=RIRd-NmPy Ε=]s--nm-KmwP*h=nWb#ҥBA"=(;Y$4f5Mwb{!#x?f{ǿ5R6]ǬŶ8\G\ܹ>t`,دx\OS e|}/Kи3-Eܛt@CR z]{oLTc\b69WKE`ڃ rqA, -M "}0ӉnSs'8Z79y`GУ®PhR!G)SGrzE!}9[gV|Zic7!w&8q!CGXck-[N]q jBdEaf"d-eʡf°H4"4R -QE:tY$`H]@*'4R0. Quݓ9 lW; '<8+8EH&o5K7JH;]gk#K?Ѯ_El~oyP u?!3a#%AUHB "T^B6q! { Y.6& o! '=u .S\|p!\pxdq<{7"ct$"II@M $5;Zq0ȡ"Hf,1 $2@ 4"n-j WjUlWf ke$(J!{~<_fYˋ X7J+L"VƱ|U]bl)LtJ. $(o'B݌$ DY3PUK` gZXDH~p ߿ok"D_o R)5hZk.2mu? z=;vY >5˕/{$VDbF6T+| &?׋$ Goȇ{-tdIkXy-KM*!P,fGywNwfٶSQ(Bd˦ۯH=rSLR!!@$@$ J2 nZmߟMEMa"2֤^M{GM 3MSJtdYJ!y7 7KŽR@!S# h-o|{;tvdp;}40ћ86(MN{{ŭLDT @[F7wՖ-X1ܿ{f9nwE27V[͏uwNfL22I .z2gQv[ҫXy?km/'9*u,^x8_+9pA\{R|1n :|䉼=3EgMo0 єZn1`{6[.Apjl!Yô F]Mq~K7{X}EHWQ4vݢ/ܛt3 ߅$h k$9׌;9!=9uAhlĿ0ޕvM6yEj oO4Z~1(Byt=؏8U;ٌ9,g37.?S#iDQ'Q1ݚt ȋ`0bITAmu(#K5#+REd@ vbڇ B'/$ |+tzo?Ո}P?3/z֎ٻ O 7Z\jN\|hnv -L="aN"Ń (!%FpcgK$ mM_Db=燻1n cU;޾D {MgDc|a8P|T[ëC%iK& :gmM$?΀V\@׽d$n!]haĦI6;>LD،Eme #<іT4OLUe>6M!;a+yw*vPH!*1ƓM~YHzE;U-?_7}&$rr]iVM&A_B6,rn{#wh?]7MEd\ T/ 8n/u,+7k9#^rZ15L<{/*-x|P| k2@k05&ZTBأ*/Щ:h׎.Q]+rٶɱzB1i{kM{Y \V+0%< }yD?;ms->OK. Z й|vb1@]n/V{49ڑjPqպ\ TfD!khk{-, ͯe4c_t8Kg"Y5.%=;C$|o)+$9[T&EJЌ^9Tp..V@ 9i%W#jNDk?1o4~X^Cs j*''ͩ=%-H==-C S/ۺtUx7?5?{{QyWW4E$ғIf]b'~+9m/}RbPՒKS:Q)F'R n7:32ֹUe"eѻ9@~:応{Ư47UW?t$I#mg8a퐵 [Vピ Ħd S<\4vC@HqMT{⚍\a#YS%"8"ʹf "up qnU=`!8mgaY;#8mN01wt.7Wo<=B;;KP~g[Qq Wg^))*K~s{>0q? w%gBI5w`^S"n"xoXvG谢蒓"FD z=>Qe7_, enNS#Q6h&n."{!Cs7^#Q( o>C%+Wi*mГf-S4I#XD.[iq` $c?K-0-eMP$N,* f^cD:)ZJMyZI\8u)SBY0tK,G6g|+"eB- zyn*١Anc;8ƢȮ|I0zVyx7 R wTn0me p2m ^cY H[S"%xzZM=BP3z%r1yJe.y |xB8^oMJ0Z"3Jp,3ӿm` If$zKiX[umQLKOq|hn,C:*gB'gUP) >w 3>~x\F\)$a@sYF:zWy!=G Tꊿpdc2祷{Tpn};L"Rv ڋw-_d@D(. 1J % fFVxPôQMS=V | 8&=