orthanc-devel-1.9.3-bp153.1.1 >  A `0E!M@eeeN>w6X2fG) z c]`:3tW6`ܜ-6m #|B[k^;}LS?H$kR# (cꎝ=R(n/7&>\]3Og."7͘C#s_8 Z%ڸQ;hhj ֌ob^. )P)FV܎cKR(J;%?s8j2Xa:_ٜxD.&tm$4g7a9ef87e81492f639c05fc7691a0ce23db37844022cb8c59797b916a3d8cfd08ee2ea028fae64ad20acb4bda1004696fed06bcbbf$`0E!M@eee6,=9𳻒8LW~[TǗ4Ǧ; E`'Pgo9{ڟNce1F\0 sT=f" UP|/X62y'}%NM4`0\j֦ Pyvh*Gl2[A$hh ѻjLh} b>%y栬_k%$DH t֗BTQn i7N 0]-dLS -DPF@6:4ݛo0>p;???d  U %DJP\ b h t  &HT(8 9:F=KG=`H=lI=xX=|Y=\=]=^=b>c>d?)e?.f?1l?3u?Dv?Pz?o????Corthanc-devel1.9.3bp153.1.1Header and source files for creating Orthanc pluginsThis package includes the header files to develop C/C++ plugins for Orthanc.`0s390p21SUSE Linux Enterprise 15 SP3openSUSEGPL-3.0-or-laterhttps://bugs.opensuse.orgDevelopment/Libraries/C and C++http://www.orthanc-server.com/linuxs390xA큤`0 ``686f716ce06853e2f1c6c5b80192c19d9a4d15f1cea59ee5883c6f6130856a378719fa8151b126c10f4d3ca673beae24e9838fa9ad66591e25bf795962b33f9frootrootrootrootrootrootorthanc-1.9.3-bp153.1.1.src.rpmorthanc-develorthanc-devel(s390-64)orthanc-static    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1``7@`_k_@_j_@_d@_D@_&^V@^Ǿ^1^@^{G^y@^t@]@]W]R@\s\]o@\Q\P@@\G\'@Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun Axel Braun axel.braun@gmx.deAxel Braun Axel Braun Axel Braun - Version 1.9.3 * New configuration option: "DicomTlsRemoteCertificateRequired" to allow secure DICOM TLS connections without certificate * "ETag" headers for metadata and attachments now allow strong comparison (MD5 is included) * New CMake option: "ORTHANC_LUA_VERSION" to use a specific version of system-wide Lua * Fix the lifetime of temporary files associated with jobs that create ZIP archive/media: - In synchronous mode, their number could grow up to "JobsHistorySize" in Orthanc <= 1.9.2 - In asynchronous mode, the temporary files are removed as soon as their job gets canceled * Fix regression in the handling of "DicomCheckModalityHost" configuration option introduced by changeset 4182 in Orthanc 1.7.4 * Reduced memory consumption of "OrthancPluginHttpClient()", "OrthancPluginHttpClient2()" and "OrthancPluginCallPeerApi()" on POST/PUT if chunked transfer is disabled * Fix issue #195 (No need for BulkDataURI when Data Element is empty) - from version 1.9.2: * New configuration options related to multiple readers/writers: - "DatabaseServerIdentifier" identifies the server in the DB among a pool of Orthanc servers - "CheckRevisions" to protect against concurrent modifications of metadata and attachments * API version upgraded to 12 * "/system" reports the value of the "CheckRevisions" global option * "/.../{id}/metadata/{name}" and "/.../{id}/attachments/{name}/..." URIs handle the HTTP headers "If-Match", "If-None-Match" and "ETag" to cope with revisions * New function in the SDK: OrthancPluginCallRestApi() * Full refactoring of the database plugin SDK to handle multiple readers/writers, which notably implies the handling of retries in the case of collisions * Use the local timezone for query/retrieve in the Orthanc Explorer interface (was UTC before) * Fix "OrthancServer/Resources/Samples/Python/Replicate.py" for Python 3.x * Fix issue #83 (ServerIndex shall implement retries for DB temporary errors) * Upgraded dependencies for static builds (notably on Windows and LSB): - civetweb 1.14 - openssl 1.1.1k- version 1.9.1 * The "dicom-as-json" attachments are not explicitly stored anymore to improve performance * If the storage area doesn't support range reading, or if "StorageCompression" is enabled, a new type of attachment "dicom-until-pixel-data" is generated * New metadata automatically computed at the instance level: "PixelDataOffset" * New configuration option related to networking: - "Timeout" in "DicomModalities" to set DICOM SCU timeout on a per-modality basis - "Timeout" in "OrthancPeers" to set HTTP client timeout on a per-peer basis * API version upgraded to 11 * BREAKING CHANGES: - External applications should not call "/instances/.../attachments/dicom-as-json" anymore, and should use "/instances/.../tags" instead - "/instances/.../tags" route does not report the tags after "Pixel Data" (7fe0,0010) anymore * "/peers/{id}/store-straight": Synchronously send the DICOM instance in POST body to the peer * New arguments in the REST API: - "Timeout" in "/modalities/.../query" - "Timeout" in "/modalities/.../storage-commitment" - "Timeout" in "/queries/.../answers/.../query-{studies|series|instances}" * New value in enumeration: OrthancPluginDicomToJsonFlags_StopAfterPixelData * New value in enumeration: OrthancPluginDicomToJsonFlags_SkipGroupLengths * Improved precision of floating-point numbers in DICOM-as-JSON and DICOM summary * Optimization in C-STORE SCP by avoiding an unnecessary DICOM parsing * Fix build on big-endian architectures * Handle public tags with "UN" value representation and containing a string (cf. DICOM CP 246) * The numbering of sequences in Orthanc Explorer now uses the DICOM convention (starts at 1) * Possibility to generate a static library containing the Orthanc Framework- Version 1.9.0 * Support of DICOM TLS * New configuration options related to DICOM networking: - "DicomTlsEnabled" to enable DICOM TLS in Orthanc SCP - "DicomTlsCertificate" to provide the TLS certificate to be used in both Orthanc SCU and SCP - "DicomTlsPrivateKey" to provide the private key of the TLS certificate - "DicomTlsTrustedCertificates" to provide the list of TLS certificates to be trusted by Orthanc - "UseDicomTls" in "DicomModalities" to enable DICOM TLS in outgoing SCU on a per-modality basis - "MaximumPduLength" to tune the maximum PDU length (Protocol Data Unit) - "LocalAet" in "DicomModalities" to overwrite global "DicomAet" for SCU on a per-modality basis - "AcceptedTransferSyntaxes" to set the transfer syntax UIDs accepted by Orthanc C-STORE SCP - "H265TransferSyntaxAccepted" to enable/disable all the transfer syntaxes related to H.265 - "DicomAlwaysAllowFind" to disable verification of the remote modality in C-FIND SCP - "DicomAlwaysAllowGet" to disable verification of the remote modality in C-GET SCP * New configuration option: "DicomScuPreferredTransferSyntax" to control transcoding in C-STORE SCU * New command-line option: "--openapi" to write the OpenAPI documentation of the REST API to a file * New metadata automatically computed at the series level: "RemoteAET" * The DICOM meta-header and the transfer syntax are displayed at the "Instance" level * API version upgraded to 10 * "/tools/accepted-transfer-syntaxes": Get/set transfer syntaxes accepted by Orthanc C-STORE SCP * "/tools/unknown-sop-class-accepted": Get/set whether C-STORE SCP accepts unknown SOP class UID * "/modalities/{...}/query": New string argument "LocalAet" * "/tools/create-dicom": New flag "Force" to bypass consistency checks for the DICOM tags * BREAKING CHANGE: All the Lua callbacks "IsXXXTransferSyntaxAccepted()" and "IsUnknownSopClassAccepted()" have been removed * New functions in the SDK: - OrthancPluginCreateMemoryBuffer64() - OrthancPluginRegisterStorageArea2() - OrthancPluginCreateDicom2() * Refactoring and improvements to the cache of DICOM files (it can now hold many files) * New Prometheus metrics "orthanc_dicom_cache_count" and "orthanc_dicom_cache_size" * Fix upload of multiple DICOM files using one single POST call to "multipart/form-data" Could be the final resolution of issue #21 (DICOM files missing after uploading with Firefox) * Partial fix of issue #48 (Windows service not stopped properly), cf. comments 4 and 5 * Explicitly use little-endian to encode uncompressed file size with zlib compression * Upgraded dependencies for static builds (notably on Windows): - dcmtk 3.6.6 - jsoncpp 1.9.4- Workaround for boo#1180359- Version 1.8.2 * ZIP archives containing DICOM files can be uploaded using WebDAV * New config option "MallocArenaMax" to control memory usage on GNU/Linux * Explicit error log if trying to load a 32bit (resp. 64bit) plugin into a 64bit (resp. 32bit) version of Orthanc * New configuration options contributed by Varian Medical Systems: - "DeidentifyLogs" to remove patient identification from the logs (C-GET, C-MOVE, C-FIND) - "DeidentifyLogsDicomVersion" to specify the deidentification rules for the logs - "OrthancExplorerEnabled" to enable/disable the Orthanc Explorer Web user interface - "SslMinimumProtocolVersion" to set the minimal SSL protocol version (now defaults to SSL 1.2) - "SslCiphersAccepted" to set the accepted ciphers over SSL (now defaults to FIPS 140-2) * New configuration options related to ingest transcoding: - "IngestTranscodingOfUncompressed" to control whether uncompressed transfer syntaxes are transcoded - "IngestTranscodingOfCompressed" to control whether compressed transfer syntaxes are transcoded * "/instances" can be used to import ZIP archives provided in the POST body * Allow concurrency on the OrthancPluginRegisterIncomingHttpRequestFilter() callbacks * Allow empty request body in "/modalities/{id}/echo" * If meta-header is missing, best-effort to extract "TransferSyntax" in "/instances/{id}/metadata"- Version 1.8.1 * adaption to new systemd-macros (OBS) * New sample tool "OrthancImport.py" to easily import compressed archives (ZIP) into Orthanc * Logging categories (cf. command-line options starting with "--verbose-" and "--trace=") * New command-line option "--trace-dicom" to access full debug information from DCMTK * New config option "DicomEchoChecksFind" to automatically complement C-GET SCU with C-FIND SCU * API version upgraded to 9 * "/tools/dicom-echo": Execute C-Echo SCU to a modality that is not registered in "/modalities" * "/tools/log-level-*": Dynamically access and/or change the verbosity of logging categories * "/peers/{id}/configuration": Get the configuration of one peer (cf. "/peers?expand") * "/modalities/{id}/configuration": Get the configuration of one modality (cf. "/modalities?expand") * "/tools/dicom-echo" and "/modalities/{id}/echo" now accept the field "CheckFind" in their JSON body to complement C-GET SCU with C-FIND SCU ("DicomEchoChecksFind" on a per-connection basis) * Archive/media jobs report the size of the created ZIP file in content field "ArchiveSizeMB" * New function in the SDK: OrthancPluginGenerateRestApiAuthorizationToken() * C-GET SCP: Fix responses and handling of cancel * Fix decoding sequence if "BuiltinDecoderTranscoderOrder" is "Before" * Fix keep-alive in the embedded HTTP server by setting the "Keep-Alive" HTTP header * Fix access to videos as a single raw frame (feature broken since Orthanc 1.6.0) * REST API now returns 404 error if deleting an inexistent peer or modality * Improved forward ABI compatibility of Orthanc Framework (notably, no inline methods anymore) * Upgraded dependencies for static builds (notably on Windows and LSB): - civetweb 1.13- version 1.8.0 * Serving the content of Orthanc as a WebDAV network share * New config options: "WebDavEnabled", "WebDavDeleteAllowed" and "WebDavUploadAllowed"- Version 1.7.4 * New configuration options to enable HTTP peers identification through certificates: "SslVerifyPeers" and "SslTrustedClientCertificates" * New configuration option "SyncStorageArea" to immediately commit the files onto the disk (through fsync()), so as to avoid discrepencies between DB and filesystem in case of hard shutdown of the machine running Orthanc. This slows down adding new files into Orthanc. * Underscores are now allowed in peers/modalities symbolic names * Fix compatibility with C-MOVE SCU requests issued by Ambra * Fix transcoding in C-MOVE SCP, in the case where "SynchronousCMove" is "true" * When checking DICOM allowed methods, if there are multiple modalities with the same AET, differentiate them from the calling IP * Enable the access to raw frames in Philips ELSCINT1 proprietary compression * Support empty key passwords when using HTTP client certificates * Fix handling of "ModalitiesInStudy" (0008,0061) in C-FIND and "/tools/find"- Version 1.7.3 * API version upgraded to 8 * "/peers/{id}/store": New option "Compress" to compress DICOM data using gzip * "OrthancPeerStore" jobs now report the transmitted size in their public content * New config option "Worklist.LimitAnswers" for the sample modality worklist plugin * Add missing tag "Retrieve AE Title (0008,0054)" in C-FIND SCP responses * Fix DICOM SCP filters if some query tag has > 256 characters (list of UIDs matching) * "/series/.../ordered-slices" supports spaces in Image Position/Orientation Patient tags * Fix possible crash in HttpClient if sending multipart body (can occur in STOW-RS) * Support receiving multipart messages larger than 2GB in the embedded HTTP server- Version 1.7.2 * C-FIND SCP now returns private tags (cf. option "DefaultPrivateCreator") * Packaging of the Orthanc framework as a shared library * New change types in the SDK: JobSubmitted, JobSuccess, JobFailure * Issue #182: Better reporting of errors in plugins reading chunked HTTP body * Fix issue #183 (C-ECHO always fails in Orthanc Explorer, regression from 1.6.1 to 1.7.0)- version 1.7.1 * Fix decoding of DICOM images for plugins (for compatibility with Orthanc Web Viewer 2.6)- new version 1.7.0 * Support of DICOM C-GET SCP (contribution by Varian) * DICOM transcoding over the REST API * Transcoding from compressed to uncompressed transfer syntaxes over DICOM C-STORE SCU (if the remote modality doesn't support compressed syntaxes) * New configuration options related to transcoding: "TranscodeDicomProtocol", "BuiltinDecoderTranscoderOrder", "IngestTranscoding" and "DicomLossyTranscodingQuality" * See NEWS for details- version 1.6.1 sqlitewrapper.patch removed (included in 1.6.1)- sqlitewrapper.patch (boo#1167431)- various security hardenings (boo#1167431)- ConnectivityCheck Plugin enabled in build- version 1.6.0 bugfixes and improvements (see /usr/share/doc/packages/orthanc/NEWS rpmlintrc for some rpmlint warnings- for i586, one test disabled (fail due to rounding issues)- version 1.5.8 * various bugfixes, see NEWS for details- version 1.5.7 * Documentation added- version 1.5.5- version 1.5.4 civetweb.patch removed various bugfixes- civetweb.patch added- version 1.5.3 * New configuration option: "SaveJobs" to specify whether jobs are stored in the database * Don't return tags whose group is below 0x0008 in C-FIND SCP answers * Fix compatibility with DICOMweb plugin (allow multipart answers over HTTP Keep-Alive) * Fix issue #73 (/modalities/{modalityId}/store raises 500 errors instead of 404) * Fix issue #90 (C-Find shall match missing tags to null/empty string) * Fix issue #119 (/patients/.../archive returns a 500 when JobsHistorySize is 0) * Fix issue #128 (Asynchronous C-MOVE: invalid number of remaining sub-operations)- version 1.5.2 temporary fixes for civetweb 1.11 removed- Version 1.5.1 Initial OBS build spec file adapted from Fedora project s390p21 16209141951.9.3-bp153.1.11.9.3-bp153.1.11.9.3-bp153.1.1orthancOrthancCDatabasePlugin.hOrthancCPlugin.h/usr/include//usr/include/orthanc/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protectionobs://build.opensuse.org/openSUSE:Backports:SLE-15-SP3/standard/2b300fb2181e2a1be6eb55a2f3b49967-orthanccpioxz5s390x-suse-linuxdirectoryC source, ASCII text!Zɓ^%Uutf-84c051913c85a60e290e399395425e64cbbe347264b313b56a3c95a18345fecd1?P7zXZ !t/Ϧ)] crt:bLL 1dB&Ǿy:*xwʶyNl` ʖVSOzfKM6Zzkm'PrI&: WTj~RcO`^Klinu#);5$)z3[>ltWt̩dw!g`6l;0b m`$` kdL8 \Nb֮>!"JfPijt),p_RukuiҨg6uߕq>mX@%/HbeI铫;s+C51ON*[`C06藎wj0W1!9@Sz UQ|׍`y +}4OLF#k;&ۛdKo =/:MQD“c>'0ĕZ'k9kN̚ rmU6ںVջ Q\!͢*@Y8;il˿Ib:;y[PlsJy|Vr[TbmZ[S5wsќ{'fpBOZ[;6'qӴusi|ajPXZa*\M8b>c>?4'qGIRtdlGTqgM^T йFbFf`8/:t嵩& cH.ݵd?7i?mT˕-e}k|xt48h^ 2:k+R$V0E cX#6ˣ* jCa2a~s PMT5coXrUUj[K,j#aQfB_ׂ 0= IzBOOK(LI2\\pSQ+'WNCrZ+BSPDXZg3;80=Qn;̩l^t5l#+ t!Ov.nb 묭e8˰ 5))9hl%L%N̲*8R;2$WHoQ0|ஜEUTtjW5лI|Pv'wwT^Vw;̯Y9dvt9 YV顝( 7#X^M=M2[>;TlNtSz-Y^Tqt3⹜KK"\IE]qji+ʧRaI> ֋d `5VD>Zg#a 8#KMz_[W^m]2t0t%X{[G;j{K ^>Q]#(zGY'KL\g3i?0/_?Ʌg/- À=R玮J: ݮ̢ T]ҡZV@gɐ4?3+(]|83"ujNU9B8 z[S;h3ph|JIq˃K I';iG&A@n rk^4AuWaVlba^d0cBGcB_Dj\@5iw'( `j5]OaYhuU1 ]ۻ -A z?wy7OՄBVr3F"ז*]G=z9Ll"s3BJ/Y\XhD Ik\^srF[:g#a'/ZڭJ܆ʀRna;d3dXfEniYJ&5b2yUH& o\aҶl*՜lfZuNkR*~6;{8ӁH5YUL )ԩ38"g6p\)wyڇ831#hJ[pVMLŒGAyw̛>`jM=Js^AdYUЋQ6s(Fl2y)OoKoY%tHc?,`SVѷi $Qfwv$ YFS3S2^ @01_S?_p0t. kkIE^XԽ?7#$V(X4%m͔~po&QG4,ٶo\L(&EX673 7.De] q lMT@OTCm(qA-\֮- ږO3h`aY(%ȋ!в0 "QK@P~=`6(ip=w,;cm4h90qc0"->hoYVLi4ۛي F'Sii},-V#/k3G]l6[@Lwk*7B4vck -!rljX7)&l,I7#yd0v\SPZdj2t4M:9P@JVeǑe a!| S1}5";Xij8:Gk(5kwi;53e'.DP.C(3@rc(RT@D*>M0GsYT^#Nآ{ 9_xj)3V BDl0_h3LqI>pOIgODVMQJ+'3O̞;"J@"®;kgUX(۠J/d)(#ߑVXI]nϔgcD\Yj.U>o+,KB)B~(fms 9@ Tj4/l1T-/t@LI5Zt/׃SC{2w{1/8; DӁr =ڑ%QK2c7'E#^ {[wa\&ɕL/5ÙKy|$A8!7chS'j =N|ZQ&{Ere*4 O  0QlvF]湨ԧHr'so\};nSP>"iWhc:u8>Z k4Nd"Ӻt@#M6.qɳ9-۪-\7EѱDӊM?ZeaML}4;?[DT"bhO;OCW8@[l EeDEC$TAWB%a⁘XEfd%#'g;-ء'QjvjZ=^:?L-E *KUخs9}SBv ,; uzl,d\#K2"l'KPuE{B;} %KWquTnlwU;= }By>oC`w ߿`]x΍ ϯ )[pXO&zdYZ 9ZMW{q;{>:1awCK( !ho[44sۆL+/Trk31Hr%c"0PsڈΥ1]/5e\iBufh+i(ۂ69^MC4 F );[&J3_En γnAmoP9g|KqfՁVOFKk:E!> 6L>Zr868ЕlUٮN4""y sj=ƫ?q3) s'gxsacRÛj)ƘA =%K/@n!+siFt|$5~>+cwk&_%9[[9G1^ a ZVox%P@D74D;aSjfIYdWua/ğx_d47)X ҐE0/lL4 F7#_\9` ؔŘZe-QăWL8AXXKN X҅9bO=ܮDE wN.hse6VqAsII#֤:œp: wYNeB%Ғr7KԌT;y z)(KN ?"/=gܵ,%n#G {8h(G"vx-&$}ZΫ:~c?5 fl{YRz _ZcsԽ[hGss^bȰOM# b_&S/u#2ߌy,1Gے=)p6$ ݎ*j`>c$RL+xXbf-@ 'ѣ%IɱCtˋU*I q55mH$I!\ &lbXǥ*i\sc`}OHڟ'=g+ yJGw|m;(B ؠBFO! ^Ve[.{r(Oke.Jkpb;!SQdb6a4 9D=Y. CFChb_€IFJm >JioGǹ;~Uin<|y kchh|"sیcZ.AI`0cJ[R 9)"ADԸbg쉣3G@c؋}lKDFF~&uƧ ʅ v=^sXX|TJljnCJ_!zf ;a]H)9XN|PC_`E e?8IzMC趥Ii 2$T&$uւLW$S)s}2OrIh'Ȅt`yʏ[Y' 7${;$,rڧ5IۏCړ"Nܱ~5iO7n3yeky˅Й=7hxLUD}ٰZr nGPޮg ]UZlZ,ŮW"ݓ9,tT$^1]#J`Dj_]U}mNf5ʥCᶩi?y1 *;صoп~F#\T1%uZbO͗4|q@iYogq3a<0?Fn2Uve?˫.nRφ[U~w/15fţ@?a0<25܄xe3Do - <ٲc4):~_Lx3Z' o]5-RPxe:X mcS( <=T B-%E vӍ¹wZMQS+CcxΣTVF(vUoaryz4Cі Bu{ e)2.[h1Oݒ*qITxTlVʞfW|2inMz] qӆ/<%@n86iO+Tz3 f M5ͲREsJ3w%V'oa%LXW@(,n6oJxّJBLlBLPv.,|R8!_l3^S}NN@BϪB9ouW][$}ˬE;7A=ݾ8[zcDuGF eBnRОh+t3I#84i\+c,::Ot~Sz=:;mL.IPoZm×TdOwz2s氁" A7Ll@ {%"/}i?=1u8Lq=ƚz}m{ݘ ihp v(0rcK  c&PkѦ߇zt;?'|ϲAII\I>`Z3,ٕIfP%b]Ah.5L?CKߙ@BpsL)0IR"g]}e`1eM..w⠺ۤ!{(.5YT]o E_$%Tw R0pU_lJh&h>}8YpVs_Y;JSS.,&z%oX ~x6)mܘwSyt7+Dz gRɦ±)j V?wwߝ-%H̪kuSDԃ4h -a*&7H7}0qKA;_EЛ"91Exnʢ6!3ca9ۼʅc+4N/qBF-y~7a"q+A?ղZGUO5wֳ|| mYЎŠ?Mh Q! gJ{>ȏmst̪6*%gl=5#j;Y?)Iu\骪c[8s^g`0J# 5к^7eCLec/eSظ4]2 /U3e l Iy=wos$%b:vrPO}'\4ؘUa{0`Բx@aHquȊ[-)lt*kjNiSut][s_Y!>4i7&)I.f[=)Y{ ̺^"[h^즨'챧 1Ւ!φD5`(~մ-_ XgOaO,D\۠p!yj$e򀜀?g{w}##ɾ famL,"Y !tf9P(~գ%wOPs +2} -CPN$)"UoB d[-g'pR~j*򋪐H~YVBs1q+gup>M.oU!(p4KSCUm).r1ܖ-9 tj؝[,})97~Vj9 #p:dh) G㷚 B6J²%KK$9݈RC&w9d2F6ʹ[+ޱ3΋N4@9 ]1a6'].Qz S 7-5ZD(- ӓ*0E5}|m,*H :DS ba"ӈ͜˥AU5(?54}2ޖxMzhBaؠ=kn˿KLib5 _-nHyX/3'{>KhLiYYS!u >KL/_֕N^=]*gT'c͆AEg][jn>Pe[d%a %^UDӯI!Y_3k'YfvPWxf6P[vA-:%䍓8ryP^GIM2%sXT1sQ8q;c'aI` .WA2Lm;qуBW bg=$I/wn69asx^`ת-1h 5Nʑݘ|D2.mě>ۏM[^bmQ?۪QNPG<*A:g 5-zqm+=Ju푁j;t 6)I,ޱ>@r%Ks)J8|3Owtkr3AMە׍%A.Qth4FA}t`=`luȈzU1$Eߓʛ0^&Dj4l66YrX*9L ?{]uS]t:NE;%,n0K3v&D>a頲v/kԽ6|zs$o<<ݦ'N7ÁϨx `Véğ>"Q {#7*BsCʡ8D<,F|*#$[ ZYz^5Q rƤ QWNf_qQr,u^U@NÉVx^3 yi\dDV:S^JNj7IV \7$\LN`YR)\OC] 3VvCSe  zVi- oވGJ&.q峝fϩ)fm@9Kc~dK:DNԙop(rfzˏ6_jh99._5.ԵsINJ+/s !N\[9eNndV7x2t5oO CאfJƳ9à F z}İޖ63yq^PUCHUPr`ڃFMOמhx4runR̠sw䗼"]m}w'+kXM;927&iϨÑm8tR3.]7=A'<{"SD2bA&XE Ҫ$^r`~/N6Bm=F˯ R ^, Y^g#/^ 3dq}WK;E`SPۙHd7p&4X@ }Zp} j3H$4f~ By!R_I"n$, qd#":NJ\3s 7%Zb_d*}?r#iʨ6)p{fG8`xKW1tO/&}j .O?0N%2<="erIa7pqSՂkOf$]e.&ӆ)I˓S\cIxE6ˤFJπJ8&Ca<1e_B:vыe@3.->" 抜*mL?x|s_-0Y=)R0>cv ll`+/盈=yYeFƘQ\y=*KprvraxBjZ_ta@,1o@X9,pg+ 7ePCGocJCR9eQ+y2Ai6F6S9ѦKP/WGZy' <"]778`Tfp20碈lRK~ĵtDn-0-؅,Դ=TM]KmDy-4?<U$~'l GPZUrS>A%\++Eޑ}ڨW1q Qv_ubŪZ:Z%۲ W3SЮh7nϸp!M{,'+;-'],6Frh.EpfVE1Bg?J~ܝB(D)h3QYy.ƵAL"tI+C;w5, o$ OcW H*P"PZFcc0] X  !y X0wo4Cft9dXRm2W_ /ts5^2t˓Zw,UFru~N(Rt&j'tUP.|+n i;VY@tlAgmM0Qu$VɂD􈿞C>S@Gq-Pgbnޘs~- ̪T}OQ$td\;7+O䁿qlqN:04`.Ys^ pΊ /%Vo.l%Pv3 "@9B!팂xuO˾ScSB<oTV lS3ΟrHJ2kL =!Sd3Ko s Q\_jb] +L "ųnMdTUX'cCvUl|Oڎ {Q_1sGN ,\GJd D\HrďNrG_`oY EҲr>61Ð ~?gvCɂҷIZ}CC\X)pP]WgvlV cBBC8Ӳ o)8ԻU-^][j %z3D(/-H;XJfB*^{ kFsAZHBSMCF^'n&F8sTw#ypX򰸾ά4w!EQ-&K?=?1fUr}  ќ!)C}:F%5j:}Ɛ TU!mv9#h8ϊ5=_Rъ \z{\ޔ2>R!Cx(AN]8,q("JQ1l %lvuxgAri7Wi]ƍ74 㣥k)t]bP<|T`++uH͆ 'J낚-U$ٰ۾6pLzGEq ; N=rbv?4}^}'LRKqNd@"ٳ,둤BJ'L.55SU8yـGA(k{k69p`b`M\%\l HhyT]_.%/(E 4?AGO %.> rT*h bڂ]ޅ$#cL#Pli<],-w%E,2p~VA1sb}rTMdf'%57Jj.ٔչc |kKfTI! uy5LN5PqsNihd|Op .0#(1tF23 x,t" ] 1cmuY-Z5ԣѰn 祿G׏D'TfDΤuWn wOur4֠Lپr'S֌Jze\H';#9zASZCӽ&c]*VbhVI$>"żP,MNWUb Z?t(PsJ+A3W݉<Ĥk#;aL#A Yc|Qmc1V( 1x;tscOV R/F+yHkcthu<Pe]N:׃rgJ,ibXxkDܺOxn:kHOyx2b"YCT[K1~iDaki"EO84ScervyFϱB;"pxŬSX8hi i'q mh$)"݋ {8B\-]ry4g2wZFѓܑ3GuǺQ)#؟þ67 ݺ~D~=SH +=;K ܳҙ\ 1sZ!R f[/R6qbQ+> LYDt?Og).|{>)&QQf&4ڋ, =эM}wkaK'|?]٠XӒDoyLhA|MNtg@cFQrN+>,V\߲qrm"FqHr _b^MӽAQ?CG/_;41Ea3F Ůe<#XqIŲ M&jee''M{{MS*_nZR~Zcaՠ"87,ںX|_˳`lİֲe& }V_r3|{6|:B?""]!,F\:2\gFj/I2du~ջngWϰ#=zRG `򪨾4x#IcKzqr.:`(rFJ8u]a/ܔΊ&tNePGoso"IFc{!DE f+r00EJ]T@+kREZ8+p`[G< .("P<nwgXe*pTQJE.s4W W>Sڏ \%T)b9slI@.ZVx`T[]4Q߿-3nZg 6ooJ^?pǝi, xrcR1f5avG^) e5h/I~{HIN8vWh6|E9!OcEd%\OmlrvWW45.^F[SRJI]]K09ˀ@[ގq6g} <տ.R;=4lwmӀnrWFG 㮃Ҳ#|ev,䒄o,uo@5o-Vlטx$Չv؄nW${0~w贋Kцi.ww쬩-Ɛ oâyBd.˄cc sb(s),x?u?n|P"饳q4 ehCR*Vka !؀r$ ^1[ <Kg}SY2ԧ-뉭-x!lS)}kṪ#hDB71;Ξӓ9|RxHMK%~͌:f G^V 2dF 4kph %',1Z"T 7VnZHLB?J߽1Ws/MQmɩy c̨Ŕ?a.9/7 p W|USѢ rϺ<4ajb|cO Ffٰ?sw;篭3+xl lS#qҽ#`(tw:UٜF*1o6>~ l*,w \t7bqZdgs.Ll2ˮ 4*j ey+HGTKEa^xcHQ-_´h̻7޸w-o캏u_(L*Cw"Y ;ލI$y2LxRPu<Ѻ8= IrX, M^S̮0fLM2R; Z~pq [}(fqC_ٱ'-s<;-OWl'T-xd5Hqt$~d3:=OmW(- W5N$ezL+ # {`Ӫ24ChԿrSZȑl(r>'Olq*΃Y)W`xg#!5S8 ATqRkZbZy Baq9do SYX FxJS ] r?ߦ+8K?F\aSLC մԡF﾿J.s,a޳#gSnd < < ) ,(|*bFAHq4Vug{@A佋cښ-eW. IƢna_7Gup]B"%hmQn68 AT?Nz ]-B[gi@yz) ԁΗk-N!׶^X`yҌ=WӀ4Q+Ch wE ݙ}Aq {h8&!GʼD~O2emx_JUSvkzYLViI]wNNa0ȹjE ґ}\z]o.0Tu]j2XSv>:`!Arr=Y"q⛁R]HYT wTm*Ϳ 1ENn7i01lbq2i;oBNb[_@,N*y`GMPowȚZg\20f5ލ!O^cfMTJ^*]%rv z4JAV+7jA+`wZG|)w<1Df9;>]?"c^?Bmfo1^.f4Hu:* }ʽ!<ᖻt7"`Y&g^iӌc9}ll%z5fRƓ+PDA*)xj1;ėh4JNBFP!#xOGa],aHS%%:&ҵZ݉2 %-lPQLnEoŰj=Smqgfg8\2MJ3#uR,2 G:}&8_u`9b 0(d4fXg58;  (-U:m[Py6T^6}W w9ިwP8޹-j~W"DEA∍a l'RN<j[H!ws+#j-*񁗶/i`/7L'z cXP@*IgxzÅZ&16"~vmLcedz~ݎUZ?JGc5.T=+Ye~pCz?Z!X8B @s'? ]y{l~u#$6 ;p_\܇~1eȪW7! #J2:n1g"ᎏ:]-c_ rag@Aq*tH 4,|P،oo\ V2s `(WQWJvXSco [kOp*Ԭ/a(|#E d+@:NIQ`"+)̡KCfLs h1P5?+Uo sp Ts I0 x$|k!㕙TU4f/mQHXOz^ c^/jUE07kg2M\h8r) r΁ݮBj˧ %j鰸ar1n+"36/.^ 7lې PnB⌘+f5oM,2ֲjOeN{]LAЁsZcwB;;ٱ_J"'-:3]g!y3mmܧ0ģbnga:*QH:g=MSڥFbnk^{fgqUuʡXa)~lS U?eu OQNwaQF`aLl7$,#W!2Zx0>JpX~V(E#jb\Rue!PKA4! ѤNVW^ݝ?gt5eJܳ'5LVd_yF Pw-\09&:+3ж Mc2jO 0_ęuhrvt͍9CB$!yG34DKڽ&W:aѦZv #`yYVOZG(I4h5jyGܥeVNMyY'~Jq;vq1;2|cP'7P=<{~?mԃ.]UIVtNnar%.&&DT}qbrE?OXQhA{[DA)N)݂Jc8VvA|2gXQFn-?p:/:*4w!oa}ppt1>K_q%m *mnA<#~w& Q̫oyt'X Y߾Kߏ^dD!Tp";Gs͜?0tq+(EC3MqZDr盺s]6˵+k]\BМĭ6wLHCpI7+wsa01NL\#uшҘtPt#ѝ{mC{},loa@ZtL[0XaT,`G$Jg!Ԉ貘& h-O6cPZdxg3;S-z`By R+=a||*9\⛸A >X+E$F]ԄA7ysf 5ZreoPLf.(ʷ ܆3t= |VgdD~ keW=QgrD9wuη`~Ehɬ1кGi1>(2iLu1 S0 2^TWZrJTK}IV.bKN"(q qB!ug-{ِE&zvv_wf $?*G pMC4vFJ<$ _LDP$CmlCuẍ́S{۩R~]L z1teb6-M<'Śl G ffkerC!> FlCD1}Y?>qI#nhP"(tC/кv#4+Y(= ]r6zqw5`'9X.zoiBYi75̄hz6{=8_w쒰WTO V[*)yC0| h޾1&.g!f^):"|b3{Jw-yU,jIo)"D}B _|`培ng-U-Uzb) ` U3_n A}SahU+9i swlE|uW5aY6yJ ϼe(&uj K5 5fEZ+䶍^2/Cb V— O|W f#_T2CO~PZ;S®{Hk7> Ê xj xmb( ;QWRٗ>Wqw֞GQװ ^nyQb@8N `B rMy急o$fٶ+PSl z^)4hYEH.ESE KdzÀ8-FQI?ܣͿ Ζň uSpWjLJn2>T#R ZJ/.|\sDKvԆ4@sr@VhEc嚿ufX7 *C#6 ) Ÿ? +|D;UL١ѿfRz,z\L3Sj5"0z"]MEHV8hl `Tmh}b@^z~'Rc[sWg;Vn2orD oMXK"N7'Ϣ^DKŨT.o5Fh~&;YHQ ~K/] Z .jn 2C$fvM}"A \m Xq"2@}ε8w̧}.SV]y;|vl,MK?7g1渶"2Tpgo@|GHwYKѯͱl>ֺ&K@"YKgeE˃5_+v W #";($E'0xa)<-Jy֖x[WX: KLj4̒qƃ-_xyycnk$_g&PeEkr^lK"-<fW0­}m*jTO`!we-Aѳ4x&j0'G3&O C7E\.."߼Dl-QbRX8BV%vn<7$gKveԣMwVAn.ĘA#v[X"懠` lV,8i)E[" 8yfpfc(wӁެipz/W , b`ׅ2V2Րh&k2 8 R|k9s,>-+0NӃ}?,7?_>"Iu1o"+!X+u-"i'NRL!{S6zGrqSgkݛxvl7Uv)V` L[uO+5NJu=S5hL(r wf)<ϫ?tuðNhQ%&Z4tZF@}3)[~Ƚ^=:&APtiZt,?t ۾ J53砷n pgkuҠ؅)jM?bYتUZ*1z=Ed'juSl!e~܋' JMOݸ!pGyOsYuɿC̡_OZIT vzX5՘]Ee xY<9Sۚ4^D'B9T=^/::Sdwe|W %8&fغ=y:hvd[԰~]s5!jd;F LwM>OMa-XX W ; } XMYIq1Jh5*6apX!:#Ɗ%z+Jtum1=.5,=}uᒁw*xX2Жjr֑;n+#cL[G !G;]lCL©ͷ]jS`[j [:cm%P 5%vn#hhrd6PCV@>jn(.<$vuu?n;ʢⷴ`$MYt2jiI>Aؤ(s<{F ߌ*31#>ejs ~ `~8xD?c~0=^McHv-!t|O#=Q@ ^}3_R;'r{H;چDfTҒ68k*X@Sw>8#v8 Gi"p)ΑBO ee[wAV^LԶ 8ҾgpLC] Q[0jd& N+&oSZ<~sepJ20$E(51JDrlORZY V6a3([ T /w$@GwH$ѠeH_)R9ş㖀we'[cE9xZ v +S /]%qհgB ʪyhM\zqWRףg/f|HÛ[!=nK5:5^mNA㇛sj_ ln['^0" :{y&&D%_LԡMA=̈́\rT')o2x(ˬX9o'q'ݸ$I)`2I[70\cڕFZ*F|}!䭺N*9\ 'u ,|LBt MAn!߿O9ujD3\ܠKo_4$eߏ}r%Rmbj?EV3s -xQwX|Zm%Ӝ#1{KLVQ{'g6MS5BY~)8MFirUd,1OPjtGfLlʊp p/q,75gO 4t-rۙckќYB;ԅF`NKFDtL ߈,zԱ:ɥwB~;>9Ϥ'ggKk} s!:ӭ:W?0k_~hժwxklD"o֩O΃ 1g揞 2ZN9ZF***7P<{OЗ@O J7à2",  fZ/fdAU+Pͼ+5p|^-GAA=5trȦ %V[rrԺ[,sฯ,Gna~j. c‰*G}鋦"J="l[s$>B7:$pX>1[LTP,mv8m8fa%gSa /arBqH42g l/?TD{vEdk^FL]Nx{4t|;⠣F24̼NkfW_,HH;g7b+&Ȇ2t{0 Ʊw/.V^yy$VrB o)7 x7Oi/tnyprћ&3EA\~uUS*,!'Ma-\MCtHvlv;Qb ux\ % #F3y|\}#{O`ؐ]-U'(E C: WN HL]EH.{*V,7t2]r#![x竹M6 GϮ]'g8mBˉ:`R`ۅ.2ЦuQJyG;ds0i ZW+<-ghE m""5m$ ?BIɳoj G&QeďkP*.*Qg&"Y8t9UkRV$ʩTܪ{g qɁ' r_cW>ʑ%\K(yV +_ maKxؾN~ϖ/{ dApEFb TkW_m[NhXN,aδ,]xa/@/k Aoe7^5I8A7W% 4/9FkGB!;QؔzzakU{ Hf56ɋTbmzN AֻSHܭIB- -a$+=&V B5Zr]F# TNC4UIUN^JkTGyNgjvN}a+PSSYzQ"#Wŝ*P8.kL%v=d tBcкG r=C/¿z1nw^xb N? 9It>0K7H$.=>MAc  bsnLO&;M`鋅#sq+[r+RXYө]̩m Mlʭ2g3a!,0lM^TnNιdy.1Fo^klrA M/kҕVrXtcA:1wĨx,nFgE>B6IyUm<#?!P߲4L!Ybw3E B[#MĐd?_Mʉ`.u,՚C}c 튴5M)i|iB⩲PXQ(=yƯjxE.АBWtD[LOxR[dTIMChd g"`MM~B9i ؘ@ zKԿk#rA24Y<).?"墘$ 1*{HN:D_z젃N|' pXF\}J`5QG@Ցkc8YivU0Z5́a~ VYh)Y1Cjf征jL&,͂шR<&#ʽ r*'me~?a37O,YB8F[^/s' ۫SPAE ߇/D#P"9/ixSU!}\,t%ŜC%dˉtҰpc,IzXΜO|v/^PcFɋHhǻ?  guʶ[M@'oɎ zKEpyn/v‘eB)yo|(T[RH#CD7nGe(5a}i;/a*3S۹e Us6uTzAք j!Gh1ꉭawnLRY(oU(~'T.ae)lۜf{p6N-q(V9VUQVtݛz< 4 xxD=ww[3^Jk~t Tҿ־ν/Tݯ9@P#Bl9vvZ"vqD&l3tMR-ݘ;ƼCGaK];h(Q؋# e^mQ18cd?g0aQ~u+⦪U w?:GˠsǒPʕV1mcvDXa5`봷4B6Q[xq OCaٕt/B_ CVt^Qiut9gDS81T' 6TX_$JxMW@GCIqi>IKHiw⪌䖫꠫7W:D (ٓGs 4i) Ru٢WL\A^@#)U^~+TblV0-I~>W)*9+Zi9!DF1n|>?T'}97N2` .D_N' m8y wXѕ=|9š̬aBV_fǍ\a:Ԯ(' Gst%ͼ`ˇg̻J_\PreDD<{;{:y%_8ٵo~fC!pzH$x,7\m6o iT.`?nfcCub? KK8VsR>'yN|W]+|4uX@Y{eߥ*B CSaJzlH)QtǍ"Vr> bI!3u6@[f[|LnC|=JÇ 9ڹD'i(0^q'H6 CzT,%QR #KaMT#0-9Yz [@ח~ՃO޵vtm\! $\yYsxN+J{$Ȍ'}(|=k`nVX[A],bmٓ au >nDg2xP/ءʑz{;r2Aclp:ښڙ*C fRcO0FCyĝK_R3&+Y[_ d|E[_l8HItrX##ѿĶSkRf!3{.2 i|δ9xOmA{7tUnD(}lD([2fб4ͫwE=r|R#Fᅭ7M|yo؆SC|V?vq$$NI&h iWWWْ%fhϨeSoUudlE/\/l Dhlnsa+k ۜ8僽c͍ɨ hé =#}P̫ќ4&@`"0JЙMKʣL`<#6l۰ek=:bқ"!<̵ O `XRn'- gDyˢh*c3rm9qDzfʷ3ъs9˕q~+-'ӭNFcr"y}E,HjתJoBѤIב WGI /~ORvz֋yÛ$"AĂ')b,MQB.G^pOWSV'X\AY{JW-rν9&m6bv O R؀vΔopezΨrGA쪌1D( Lnh4&t\%D+=X9io= 6/jlhsEYC» ffrN.RဈYPD?qf;$]Cw<R%CJLIGF \RGeXS7$mixqlk7'#GOڽ^^qx_ <3T=$"a4 ME{m;C+S xpG0r20Ds*f2g\%tE,Z@ Tc]B@ FЅ @[C XB4{5ўV? z }'HЮ`1Ηݽ^ݬe6*"v@yC<Pu ^sɬ>FZ؁ Z68k`z<:0}NͿl=p<}$'Lr0wJVqsW2ߑ) Wzf pEyß@zk:gVZ ѦJm^(~wwncE8feTU|̵q(k`-+:~)S@ImNZڹLU& eȷ+Ye!<Bwu:|ʨϰC.V?&gTgc(ߪ=G`62="ѕW-Z۔ ËsJ!A;D&47cg#Zobkv V'=ͯ 3C{j5(T/cMU{)ݴ[2:k@E`YpkpqKTaWxŇ,1+dX[!z~z]appVâVAD==j%xib^2ݰ|JMdަK߸*xc&0: ̼$:u]5Jh28,Es$64_ 'ɪW&ͭ ^3x( [rtCXnc c^ I߻R,X@DB_^8 [݁H* 5R'Ϧ8# b>ZvvFg-^I섥,@/ a2)œ ƄDH/ )\QSIaMu>m?uZ/j Ts`|ů>|fyv#T8iŻLCþPrhaZ(,n\>FEŢat,R`w5sQ WCM0}]Ӯb'k# haܳm8VW7 BYFxx5~iȞ Trb?MBG}\r5eLEaI 1eվp UFE7W?[}+)Fڅ|Y(l`A( ꃁ׮E9V_#)-Јnwv,,nO@ԳrAn"l5yI:th_-A:D&.*\Va X@U =. f$ F&*sՂB!컊d}m`ʩɈ&ZznFPeKbipDA>K_rM ru`^~L>seQ8Lo0SHFZ;YΘyybN,4B`DsYܾt>)n4>BeKo3Gv.Prk4-kbE.ƫkUQӯdmFG[f:ϹE'QyP{I iϣ1f| V=Λ w0 Y0 b7Y)0Hy_qq$tkuxcLT`V큽q}[=)ӏoXh+E .RȵF۬P2Gnm-^}5$QK&Yv q.V7\$!Ʊ 415N8s<9.Ka~dBm\],hKToq?TtdAi!>1U`qn-S)gMh:!JeF `6|cP}R+j~BC3hQ#T( r0<:ٰlY,@R+=BOFf+{í2Ixy4@~1KN\J -!w^i%'"Z$c&8n;,2uz(eўBf:^5NV aZTcWa̵w]?5UWL)|KEjm$J+cw_YK^кI׭/5z|@(1VD ȗf29PK'3ȧ b\1xxA?//FHisV]5(koRϣ_OҫVE|'یp VK$4ML!Y|) vLKD(lJũMHb^(9Zc+ Q%y#"aߎ+k\>H#6%QblQF uS(*-yVa<km;W\9~LN~l)Mk#(E!FDw06+|aIb18Ϣ{l o#$G-D|3\ l쒜E9M!,g[W9~J V'Ld.3Qv0)>i^Ʌ6Rtji_)|*G~s%iZ~մE-4^yyn;7ĸ,lwd7  Jq'G S"VUfQHpM.N,f:F,Մz.>QP_d`߶iQ}CT 2 fH:LP?$# l5 Α7,>~.׍@ .y]Q6sҡwJy [!ŔM|h`u|z=(AHL\M1҇KrUq=/ޭqmO77W0/S5C9Z׾H9긤] :? gpJ%yF@ڱ7 ?Y\@SCV$7w eosyJ~+c/Rc;-Rzg`%Q"ϭpZ19G.7%!\m6 vX5BBOX3Tk%`G*b(XyTMT/t~.qun` LClKq#}, m3o=ٽݛEB-^.>)S*u|#fu v_ެ,W, 9àM&O%[h'jQ>$`,Ru>[j SҠo,bew[TBޕOn!0_>!+yQluoA`90i kz a8VqVo}םaPofQC$zzM i%4M.Пd YZ