summaryrefslogtreecommitdiffstats
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* Fix H5Eget_auto2/H5Eauto_is_v2 to not clear error stack (#625) (#647)Larry Knox2021-05-161-1/+4
| | | Co-authored-by: jhendersonHDF <jhenderson@hdfgroup.org>
* Merge PRs in issue #642 to hdf5_1_12 (#643)Larry Knox2021-05-1518-164/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Snapshot version 1.12 release 1-3. Update version to 1.12.1-4. * First cut of the H5 public API documentation. (#80) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Full set of current H5F documentation. (#105) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Migrated documentation for SWMR functions. * Catching up on MDC functions. * Integrated the H5F MDC function documentation. * Added MDC and parallel H5F functions. * Slightly updated main page. * Added doxygen/dox/H5AC_cache_config_t.dox to MANIFEST. * Doxygen - added (mostly) beginner functions (#112) * Doxygen - added (mostly) beginner functions * Removed duplicate H5Pset_szip function * Add src/H5module.h to MANIFEST. * close #195. (#196) * Update HDF5PluginMacros.cmake * Update HDF5PluginMacros.cmake * Avoid aligned access for references by decoding into temporary buffer and then copying the result into the actual buffer. Update test to be more thorough with using compound datatype fields everywhere. (#206) * Modify temporary rpath for testing in java example scripts. (#230) * Fix undefined left shifting of negative numbers (#338) Undefined Bahavior Sanitizer errored here about left shifting negative numbers. * Fixes various warnings noticed on Windows (#425) * Fixes various warnings noticed on Windows - Adds a prototype for our implementation of vasprintf - Return type of H5_get_utf16_str() is now non-const - Fixes possible uninitialized return type in Wremove_utf8 - Better isolation of fork() code in accum.c:test_swmr_write_big() - Better isolation of non-zlib code in dsets.c:test_filter_delete() - Removed unused variable in trefer.c:test_reference_cmpnd_obj() * Fixes clang-format issues * Applied clang-tidy readability-non-const-parameter warning fixes auto… (#429) * Automatically applied clang-tidy readability-avoid-const-params-in-decls fixes Removes useless const declarations. * Fixed most readability-non-const-parameter warnings These changes were made automatically by clang-tidy, but I manually reverted the changes related to the H5Z_func_t signature. * Reformat source with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Added C++11 override keyword where appropriate (#433) Added H5_OVERRIDE macro for compatibility with both C++11 and older. * Various clang tidy warning fixes (#448) * Fixed clang-tidy bugprone-reserved-identifier warnings * Fixed clang-tidy bugprone-assert-side-effect warnings * Fixed clang-tidy bugprone-copy-constructor-init warning * Fixed clang-tidy readability-redundant-preprocessor warning For error_test.c the removed code was already dead, because it was in the else of an `#if H5_USE_16_API` block. Based on H5Location.h, I think p_get_ref_obj_type was meant to be in `#ifndef DOXYGEN_SHOULD_SKIP_THIS` and an `#endif` was missing. Similarly, in the header, getObjTypeByIdx is only in H5_NO_DEPRECATED_SYMBOLS, not DOXYGEN_SHOULD_SKIP_THIS. * Fixed clang-tidy readability-redundant-string-init warnings * Fixed some clang-tidy performance-type-promotion-in-math-fn warnings * Fixed clang-tidy performance-unnecessary-value-param warnings * Reformat source with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Removed checks/workarounds for pre-C++89 compatibility (#449) After 30+ years, just assume that the following exist: - extension-less includes - namespaces - std:: - static_cast - bool * Fixed all clang-tidy bugprone-suspicious-string-compare warnings (#451) * Fixed all clang-tidy bugprone-suspicious-string-compare warnings This change was generated entirely by clang-tidy itself. * Reformat code with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Remove 2 functions incorrectly merged from develop in a cherry-pick merge of PR #451. * Minor parallel improvements (#519) * Improve MPI error reporting, handled failed operations in parallel tests more nicely, and clean up MPI_Allreduce for determining whether to break collective I/O * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Clean up MPI-IO VFD tracing support (#520) * Clean up tracing support * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Brings the native implementation of H5Fdelete() from Bitbucket (#524) * Committing clang-format changes * Brings the native VFD H5Fdelete() implementation from Bitbucket Only brings the 'del' callbacks, not the 'open/close' scheme. * Formatter changes * Committing clang-format changes * Fixes direct VFD callback name * Removes UNUSED macro from family API call * Adds barrier and rank 0 check to MPI-I/O VFD delete * Revert "Adds barrier and rank 0 check to MPI-I/O VFD delete" This reverts commit 909765f759d9d96e84f4b8b1cc14f7d2b3ac8143. * Revert "Revert "Adds barrier and rank 0 check to MPI-I/O VFD delete"" This reverts commit 9b04bef1157853fc79fcb8fcc3e8ba1371091702. * Adds a second barrier after the delete in MPI-I/O VFD * Only delete files in the core VFD when the backing store flag is set * Fixes string issues in multi VFD Also, h5test.c cleanup code now uses H5Fdelete(). * Formatted source * Rework fapl checks for MPI-I/O VFD delete callback Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Minor warning fixes in develop (#526) * Committing clang-format changes * Minor warning fixes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Removes implementation of my_strdup() from the multi VFD (#527) * Committing clang-format changes * Removes my_strdup() from the multi VFD * Use strdup directly when memory sanity checks are off Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Removes dead H5ST package from the library (#528) * Committing clang-format changes * Removes the unused H5ST package from the library Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Fix HDFFV-11232 (#530) * fixed missed closing of a dataset * fixed missed closing of a dataset * fixed typo in error return * Committing clang-format changes * minor edits * code format * Committing clang-format changes * code format * minor edit * added H5fortkit dependency for H5VLff.F90, HDFFV-11232 Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Fixes incorrect usage of H5I_BADID (#554) * Committing clang-format changes * Fixes incorrect use of H5I_BADID Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Fixes a segfault when H5Pset_mdc_log_options is called multiple times on a fapl (#601) * Committing clang-format changes * Fixes a segfault when H5Pset_mdc_log_options() is called multiple times An internal string is incorrectly freed when the API call is invoked multiple times on a property list, which will usually cause a segfault to occur. On the first call the log location is NULL so the problem doesn't occur. Fixes HDFFV-11239 * Fixes typos Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Fix for a segfault when H5Pset_fapl_log is passed an invalid fapl ID (#607) * Committing clang-format changes * Fixes an issue where H5Pset_fapl_log sefaults when passed an invalid fapl ID This was due to a pointer-containing struct being memset after the first internal API call. If the first call failed, the error condition would check if the pointer was not NULL and then attempt to free it if not. This would lead to the freeing of a wild pointer if an invalid fapl ID were passed in. This was fixed by reordering the memset and adding a test to ensure the problem stays fixed. Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Fixes crashes when size_hint > UINT32_MAX is passed to H5Gcreate1 (#611) * Committing clang-format changes * Fixes incorrect size_hint handling in H5Gcreate1 * Updates the size hint type for group creation * Updates the RELEASE.txt note * Revert "Updates the RELEASE.txt note" This reverts commit 3df386acca806d652bbe2209f7c4503b30f068ff. * Reverts previous behavior to use a uint32_t struct field * Updates RELEASE.txt Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Revert "Brings the native implementation of H5Fdelete() from Bitbucket (#524)" This reverts commit 38d1b121ae428138b8863c2a319518c7363c2d94. * Removed mentions of Wdeclaration-after-statement now that C99 is requ… (#447) * Removed mentions of Wdeclaration-after-statement now that C99 is required * Remove -Werror=declaration-after-statement from error-general file. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Made private my_yyinput function static (#618) This prevents it being exported as a public symbol. * Adds const to a few global variables (#623) * Committing clang-format changes * Adds consts to a few global variables Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * (fix) Segmentation fault when using a compound type. (#143) * (fix) Segmentation fault when using a compound type. In the case when a compounded attribute is written to dataset followed by writing the data with a data transform function to the dataset will result in a segmentation fault. It turns out the data is classified as compounded while it is not. Now, the state is always reset first to not compounded followed by the existing check if the variable is compounded. * (fix) Removed undesired comment lines. * (fix) Segmentation fault when using a compound type: added test. * (fix) Added the missing cmpd_transform.c file to MANIFEST. * (fix) cmpd_dtransform test: autotools and source header. Added the cmp_dtransform test to the autotools configuration and updated the HDF Group copyright header. Co-authored-by: Jan-Willem Blokland <Jan-Willem.Blokland@Shell.com> * (fix) H5Z_xform_create function and scientific notation (#144) * (fix) H5Z_xform_create function and scientific notation Implemented a more sophisticated check to support scientific notation in the expression of the H5Zset_data_transform function. * (fix) H5Z_xform_create and scientific notation: Added test. Added a test to demonstrate that the parsing of expression which includes scientific notation works correctly. Improved inline comment. Co-authored-by: Jan-Willem Blokland <Jan-Willem.Blokland@Shell.com> * Committing clang-format changes * Fix H5Eget_auto2/H5Eauto_is_v2 to not clear error stack (#625) * Cleanup tools debug build warnings (#627) * OESS-98 convert plugin option to FetchContent, add tests * Fixes for pkcfg files because of plugin option * OESS-98 fix tools test for plugins * Keep doxygen comments under 100 chars long - format hint * Whitespace * HDFFV-11144 - Reclassify CMake messages * HDFFV-11099/11100 added help text * Reworked switch statement to compare string instead * Fix typo * Update CDash mode * Correct name of threadsafe * Correct option name * Undo accidental commit * Note LLVM 10 to 11 format default changes * Update format plugin * Undo clang-format version 11 changes * One more correction * Update supported platforms * Revert whitespace changes * Correct whitespace * Changes from PR#3 * HDFFV-11213 added option to control gcc10 warnings diagnostics * HDFFV-11212 Use the new references correctly in JNI utility and tests * format source * Fix typo * Add new test file * HDFFV-11212 - update test and remove unused arg * Minor non-space formatting changes * Use H5I_INVALID_ID instead of "-1" * source formatting * add missing testfile, update jni function * Undo commit of debug code * remove mislocated file * Fix h5repack test for handling of fapls and id close * Update h5diff test files usage text * HDFFV-11212 add new ref tests for JNI export dataset * src format update * Remove blank line typo * src format typo * long double requires %Lg * Another long double foramt specifer S.B. %Lg * issue with t128bit test * Windows issue with h5dump and type. * Fix review issues * refactor function nesting and fix error checks * format fixes * Remove untested functions and javadoc quiet comments * Restore TRY block. * Change string append errors to memory exception * revert to H5_JNI_FATAL_ERROR - support functions need work * Add assertion error for h5util functions * remove duplicate function * format fix * Revert HD function error handling * Update copyright comments * GH #386 java folder copyright corrections * Whitespace * GH #359 implement and fix tools 1.6 API usage * remove excessive comments * Flip inits to correct ifdef section * rework ifdef to be simpler * format issue * Reformat ifdef inits * remove static attribute * format compliance * Update names * Revert because logic relies on float not being int * Changes noticed from creating merge of #412 * Double underscore change * Correct compiler version variable used * Remove header guard underscores * Whitespace cleanup * Split format source and commit changes on repo push * remove pre-split setting * Change windows TS to use older VS. * correct window os name * HDFFV-11212 JNI export util and Javadoc * Suggested review changes * Another change found * Committing clang-format changes * HDFFV-11113 long double in tools * HDFFV-11113 add note * Disable long double tests for now * HDFFV-11228 remove arbitrary CMake warning groups. * Make each flag a string * Some Javadoc warning fixes * Updated javadoc fixes * # WARNING: head commit changed in the meantime HDFFV-11229 Fix long double usage in tools and java Changed h5dump and h5ls to just print 128-bit for long double type. Added test and file for dataset and attributes with all three float types. * Committing clang-format changes * HDFFV-11229 Add release note * HDFFV-11229 windows testfile needed * fix typo * Remove non supported message text * HDFFV-11229 - change ldouble test to check both native and general * HDFFV-11229 add second file compare * HDFFV-11229 fix reference file * HDFFV-11229 autotools check two refs * HDFFV-11229 revert back to removal of NATIVE_LDOUBLE in tools output * Committing clang-format changes * Update release note * Update attribute type of ref file * Change source of ninja for macs * try port instead of brew * Recommended is to use brew. * Undo non long double changes * remove unneeded file * Fix perl and doxygen CMake code * Add "option" command for clang options * Rework CMake add_custom to use the BYPRODUCTS argument * Add stamp files to BYPRODUCTS * Only one copy of file exists * Fix custom cmmand depends targets * Fix fortran custom command DEPENDS * Add LD_LIBRARY_PATH to tests * Add custom target for DEPENDS * Add h5detect conditionaly to generated target DEPENDS * Correct DEPENDS targets * Parallel builds need the mpi compiler for pkgconfig scripts. * install only if MPI build * Fortran target depends * Remove incorrect source attribute * doxygen adjustments * doxygen build updates * Correct version * Correct function version - function has been merged to 1.12 * Correct version string for map functions * Cleanup warnings for tools debug builds Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * h5diff subset indexing (#628) * OESS-98 convert plugin option to FetchContent, add tests * Fixes for pkcfg files because of plugin option * OESS-98 fix tools test for plugins * Keep doxygen comments under 100 chars long - format hint * Whitespace * HDFFV-11144 - Reclassify CMake messages * HDFFV-11099/11100 added help text * Reworked switch statement to compare string instead * Fix typo * Update CDash mode * Correct name of threadsafe * Correct option name * Undo accidental commit * Note LLVM 10 to 11 format default changes * Update format plugin * Undo clang-format version 11 changes * One more correction * Update supported platforms * Revert whitespace changes * Correct whitespace * Changes from PR#3 * HDFFV-11213 added option to control gcc10 warnings diagnostics * HDFFV-11212 Use the new references correctly in JNI utility and tests * format source * Fix typo * Add new test file * HDFFV-11212 - update test and remove unused arg * Minor non-space formatting changes * Use H5I_INVALID_ID instead of "-1" * source formatting * add missing testfile, update jni function * Undo commit of debug code * remove mislocated file * Fix h5repack test for handling of fapls and id close * Update h5diff test files usage text * HDFFV-11212 add new ref tests for JNI export dataset * src format update * Remove blank line typo * src format typo * long double requires %Lg * Another long double foramt specifer S.B. %Lg * issue with t128bit test * Windows issue with h5dump and type. * Fix review issues * refactor function nesting and fix error checks * format fixes * Remove untested functions and javadoc quiet comments * Restore TRY block. * Change string append errors to memory exception * revert to H5_JNI_FATAL_ERROR - support functions need work * Add assertion error for h5util functions * remove duplicate function * format fix * Revert HD function error handling * Update copyright comments * GH #386 java folder copyright corrections * Whitespace * GH #359 implement and fix tools 1.6 API usage * remove excessive comments * Flip inits to correct ifdef section * rework ifdef to be simpler * format issue * Reformat ifdef inits * remove static attribute * format compliance * Update names * Revert because logic relies on float not being int * Changes noticed from creating merge of #412 * Double underscore change * Correct compiler version variable used * Remove header guard underscores * Whitespace cleanup * Split format source and commit changes on repo push * remove pre-split setting * Change windows TS to use older VS. * correct window os name * HDFFV-11212 JNI export util and Javadoc * Suggested review changes * Another change found * Committing clang-format changes * HDFFV-11113 long double in tools * HDFFV-11113 add note * Disable long double tests for now * HDFFV-11228 remove arbitrary CMake warning groups. * Make each flag a string * Some Javadoc warning fixes * Updated javadoc fixes * # WARNING: head commit changed in the meantime HDFFV-11229 Fix long double usage in tools and java Changed h5dump and h5ls to just print 128-bit for long double type. Added test and file for dataset and attributes with all three float types. * Committing clang-format changes * HDFFV-11229 Add release note * HDFFV-11229 windows testfile needed * fix typo * Remove non supported message text * HDFFV-11229 - change ldouble test to check both native and general * HDFFV-11229 add second file compare * HDFFV-11229 fix reference file * HDFFV-11229 autotools check two refs * HDFFV-11229 revert back to removal of NATIVE_LDOUBLE in tools output * Committing clang-format changes * Update release note * Update attribute type of ref file * Change source of ninja for macs * try port instead of brew * Recommended is to use brew. * Undo non long double changes * remove unneeded file * Fix perl and doxygen CMake code * Add "option" command for clang options * Rework CMake add_custom to use the BYPRODUCTS argument * Add stamp files to BYPRODUCTS * Only one copy of file exists * Fix custom cmmand depends targets * Fix fortran custom command DEPENDS * Add LD_LIBRARY_PATH to tests * Add custom target for DEPENDS * Add h5detect conditionaly to generated target DEPENDS * Correct DEPENDS targets * Parallel builds need the mpi compiler for pkgconfig scripts. * install only if MPI build * Fortran target depends * Remove incorrect source attribute * doxygen adjustments * doxygen build updates * Correct version * Correct function version - function has been merged to 1.12 * Correct version string for map functions * Cleanup warnings for tools debug builds * TRILAB-227 - fix indexing for h5diff selections * Correct location of pos to index function call Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Removes gratuitous (double)x.yF casts (#632) * Committing clang-format changes * Removes gratuitous (double)x.yF casts * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Cleans up a const warning left over from previous constification (#633) * Committing clang-format changes * Adds consts to a few global variables * Cleans up a const warning left over from previous constification Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Purges UFAIL from the library (#637) * Committing clang-format changes * Purges UFAIL from the library * H5HL_insert change requested in PR Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Bmr dev hdffv 11223 (#640) * Fixed HDFFV-11223 (CVE-2018-14460) Description - Added checks against buffer size to prevent segfault, in case of data corruption, for sdim->size and sdim->max. - Renamed data files in an existing test to shorten their length as agreed with other developers previously. Platforms tested: Linux/64 (jelly) * Committing clang-format changes * Updated for test files * Updated for HDFFV-11223 Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Revert "Fix H5Eget_auto2/H5Eauto_is_v2 to not clear error stack (#625)" This reverts commit 7a682862846fa206aa3a0151c0aa08d7c759b1f7. Co-authored-by: Gerd Heber <gheber@hdfgroup.org> Co-authored-by: bljhdf <58825073+bljhdf@users.noreply.github.com> Co-authored-by: H. Joe Lee <hyoklee@hdfgroup.org> Co-authored-by: Quincey Koziol <quincey@koziol.cc> Co-authored-by: Sean McBride <sean@rogue-research.com> Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com> Co-authored-by: Quincey Koziol <koziol@lbl.gov> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Scot Breitenfeld <brtnfld@hdfgroup.org> Co-authored-by: Jan-Willem Blokland <J.W.S.Blokland@XS4All.nl> Co-authored-by: Jan-Willem Blokland <Jan-Willem.Blokland@Shell.com> Co-authored-by: jhendersonHDF <jhenderson@hdfgroup.org> Co-authored-by: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Co-authored-by: bmribler <39579120+bmribler@users.noreply.github.com>
* Brings the thread-safety recursive writer locks to 1.12 (#466)Dana Robinson2021-05-145-1/+1336
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * First cut at replaceing the existing mutex with a recursive R/W lock. This implementation has the following issues: 1) pthreads implementation only -- we still need a windows version. 2) must investigate thread cancelation issues 3) Error reporting is very poor. I followed the error reporting on the existing thread safe code, but this should be re-visited and improved. Code is currently setup to use the new recursive R/W lock instead of the global mutex to control entry to the library in threadsafe builds. To revert to the global mutex, set H5TS__USE_REC_RW_LOCK_FOR_GLOBAL_MUTEX in H5TSprivate.h to FALSE. Added a reasonably robust regression test for the reursive R/W lock in test/ttsafe_rec_rw_lock.c Note that the change to hl/src/H5LTanalyse.c is an artifact of clang-format. Tested serial threadsafe debug and production on jelly, and also regular serial / debug. On Windows builds, the new recursive R/W lock should not be built and we should use the existing global mutex -- however this is not tested at this time. * Updates CMake to build recursive RW lock test * Updates to allow building on Windows * Moves #if statements to better protect non-RW lock code * Adds configure and CMake options for the recursive RW locks * Committing clang-format changes * Updates RELEASE.txt and the build options * Renames H5TS RW lock things * Makes struct members platform independent Also removes _ptr from identifiers * Partial thread-safety RW locks platform independence * Committing clang-format changes * Pthreads side of things is platform-independent now * Formatted source * Added Windows equivalents for some Pthreads calls * Rename H5TS takedown call to destroy * Reorg of RW lock code * Committing clang-format changes * Changes to Pthreads code after development on Visual Studio * Moves stats macros to static inline functions and tidies memory allocs * Converts RW lock print stats call to use C99 formatting * Fixes typos * Formatted source * Updates the RELEASE.txt note to indicate no Win32 threads support Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Brings hash table IDs to 1.12 from develop (#638)Dana Robinson2021-05-111-138/+242
| | | | | * Brings hash table IDs from develop * Fixes free callback in tid.c
* Merge PRs #143, 144 to hdf5_1_12 (#630)Larry Knox2021-05-064-1/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Snapshot version 1.12 release 1-3. Update version to 1.12.1-4. * First cut of the H5 public API documentation. (#80) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Full set of current H5F documentation. (#105) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Migrated documentation for SWMR functions. * Catching up on MDC functions. * Integrated the H5F MDC function documentation. * Added MDC and parallel H5F functions. * Slightly updated main page. * Added doxygen/dox/H5AC_cache_config_t.dox to MANIFEST. * Doxygen - added (mostly) beginner functions (#112) * Doxygen - added (mostly) beginner functions * Removed duplicate H5Pset_szip function * Add src/H5module.h to MANIFEST. * close #195. (#196) * Update HDF5PluginMacros.cmake * Update HDF5PluginMacros.cmake * Avoid aligned access for references by decoding into temporary buffer and then copying the result into the actual buffer. Update test to be more thorough with using compound datatype fields everywhere. (#206) * Modify temporary rpath for testing in java example scripts. (#230) * Fix undefined left shifting of negative numbers (#338) Undefined Bahavior Sanitizer errored here about left shifting negative numbers. * Fixes various warnings noticed on Windows (#425) * Fixes various warnings noticed on Windows - Adds a prototype for our implementation of vasprintf - Return type of H5_get_utf16_str() is now non-const - Fixes possible uninitialized return type in Wremove_utf8 - Better isolation of fork() code in accum.c:test_swmr_write_big() - Better isolation of non-zlib code in dsets.c:test_filter_delete() - Removed unused variable in trefer.c:test_reference_cmpnd_obj() * Fixes clang-format issues * Applied clang-tidy readability-non-const-parameter warning fixes auto… (#429) * Automatically applied clang-tidy readability-avoid-const-params-in-decls fixes Removes useless const declarations. * Fixed most readability-non-const-parameter warnings These changes were made automatically by clang-tidy, but I manually reverted the changes related to the H5Z_func_t signature. * Reformat source with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Added C++11 override keyword where appropriate (#433) Added H5_OVERRIDE macro for compatibility with both C++11 and older. * Various clang tidy warning fixes (#448) * Fixed clang-tidy bugprone-reserved-identifier warnings * Fixed clang-tidy bugprone-assert-side-effect warnings * Fixed clang-tidy bugprone-copy-constructor-init warning * Fixed clang-tidy readability-redundant-preprocessor warning For error_test.c the removed code was already dead, because it was in the else of an `#if H5_USE_16_API` block. Based on H5Location.h, I think p_get_ref_obj_type was meant to be in `#ifndef DOXYGEN_SHOULD_SKIP_THIS` and an `#endif` was missing. Similarly, in the header, getObjTypeByIdx is only in H5_NO_DEPRECATED_SYMBOLS, not DOXYGEN_SHOULD_SKIP_THIS. * Fixed clang-tidy readability-redundant-string-init warnings * Fixed some clang-tidy performance-type-promotion-in-math-fn warnings * Fixed clang-tidy performance-unnecessary-value-param warnings * Reformat source with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Removed checks/workarounds for pre-C++89 compatibility (#449) After 30+ years, just assume that the following exist: - extension-less includes - namespaces - std:: - static_cast - bool * Fixed all clang-tidy bugprone-suspicious-string-compare warnings (#451) * Fixed all clang-tidy bugprone-suspicious-string-compare warnings This change was generated entirely by clang-tidy itself. * Reformat code with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Remove 2 functions incorrectly merged from develop in a cherry-pick merge of PR #451. * Minor parallel improvements (#519) * Improve MPI error reporting, handled failed operations in parallel tests more nicely, and clean up MPI_Allreduce for determining whether to break collective I/O * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Clean up MPI-IO VFD tracing support (#520) * Clean up tracing support * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Brings the native implementation of H5Fdelete() from Bitbucket (#524) * Committing clang-format changes * Brings the native VFD H5Fdelete() implementation from Bitbucket Only brings the 'del' callbacks, not the 'open/close' scheme. * Formatter changes * Committing clang-format changes * Fixes direct VFD callback name * Removes UNUSED macro from family API call * Adds barrier and rank 0 check to MPI-I/O VFD delete * Revert "Adds barrier and rank 0 check to MPI-I/O VFD delete" This reverts commit 909765f759d9d96e84f4b8b1cc14f7d2b3ac8143. * Revert "Revert "Adds barrier and rank 0 check to MPI-I/O VFD delete"" This reverts commit 9b04bef1157853fc79fcb8fcc3e8ba1371091702. * Adds a second barrier after the delete in MPI-I/O VFD * Only delete files in the core VFD when the backing store flag is set * Fixes string issues in multi VFD Also, h5test.c cleanup code now uses H5Fdelete(). * Formatted source * Rework fapl checks for MPI-I/O VFD delete callback Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Minor warning fixes in develop (#526) * Committing clang-format changes * Minor warning fixes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Removes implementation of my_strdup() from the multi VFD (#527) * Committing clang-format changes * Removes my_strdup() from the multi VFD * Use strdup directly when memory sanity checks are off Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Removes dead H5ST package from the library (#528) * Committing clang-format changes * Removes the unused H5ST package from the library Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Fix HDFFV-11232 (#530) * fixed missed closing of a dataset * fixed missed closing of a dataset * fixed typo in error return * Committing clang-format changes * minor edits * code format * Committing clang-format changes * code format * minor edit * added H5fortkit dependency for H5VLff.F90, HDFFV-11232 Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Fixes incorrect usage of H5I_BADID (#554) * Committing clang-format changes * Fixes incorrect use of H5I_BADID Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Fixes a segfault when H5Pset_mdc_log_options is called multiple times on a fapl (#601) * Committing clang-format changes * Fixes a segfault when H5Pset_mdc_log_options() is called multiple times An internal string is incorrectly freed when the API call is invoked multiple times on a property list, which will usually cause a segfault to occur. On the first call the log location is NULL so the problem doesn't occur. Fixes HDFFV-11239 * Fixes typos Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Fix for a segfault when H5Pset_fapl_log is passed an invalid fapl ID (#607) * Committing clang-format changes * Fixes an issue where H5Pset_fapl_log sefaults when passed an invalid fapl ID This was due to a pointer-containing struct being memset after the first internal API call. If the first call failed, the error condition would check if the pointer was not NULL and then attempt to free it if not. This would lead to the freeing of a wild pointer if an invalid fapl ID were passed in. This was fixed by reordering the memset and adding a test to ensure the problem stays fixed. Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Fixes crashes when size_hint > UINT32_MAX is passed to H5Gcreate1 (#611) * Committing clang-format changes * Fixes incorrect size_hint handling in H5Gcreate1 * Updates the size hint type for group creation * Updates the RELEASE.txt note * Revert "Updates the RELEASE.txt note" This reverts commit 3df386acca806d652bbe2209f7c4503b30f068ff. * Reverts previous behavior to use a uint32_t struct field * Updates RELEASE.txt Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Revert "Brings the native implementation of H5Fdelete() from Bitbucket (#524)" This reverts commit 38d1b121ae428138b8863c2a319518c7363c2d94. * Removed mentions of Wdeclaration-after-statement now that C99 is requ… (#447) * Removed mentions of Wdeclaration-after-statement now that C99 is required * Remove -Werror=declaration-after-statement from error-general file. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Made private my_yyinput function static (#618) This prevents it being exported as a public symbol. * Adds const to a few global variables (#623) * Committing clang-format changes * Adds consts to a few global variables Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * (fix) Segmentation fault when using a compound type. (#143) * (fix) Segmentation fault when using a compound type. In the case when a compounded attribute is written to dataset followed by writing the data with a data transform function to the dataset will result in a segmentation fault. It turns out the data is classified as compounded while it is not. Now, the state is always reset first to not compounded followed by the existing check if the variable is compounded. * (fix) Removed undesired comment lines. * (fix) Segmentation fault when using a compound type: added test. * (fix) Added the missing cmpd_transform.c file to MANIFEST. * (fix) cmpd_dtransform test: autotools and source header. Added the cmp_dtransform test to the autotools configuration and updated the HDF Group copyright header. Co-authored-by: Jan-Willem Blokland <Jan-Willem.Blokland@Shell.com> * (fix) H5Z_xform_create function and scientific notation (#144) * (fix) H5Z_xform_create function and scientific notation Implemented a more sophisticated check to support scientific notation in the expression of the H5Zset_data_transform function. * (fix) H5Z_xform_create and scientific notation: Added test. Added a test to demonstrate that the parsing of expression which includes scientific notation works correctly. Improved inline comment. Co-authored-by: Jan-Willem Blokland <Jan-Willem.Blokland@Shell.com> * Committing clang-format changes Co-authored-by: Gerd Heber <gheber@hdfgroup.org> Co-authored-by: bljhdf <58825073+bljhdf@users.noreply.github.com> Co-authored-by: H. Joe Lee <hyoklee@hdfgroup.org> Co-authored-by: Quincey Koziol <quincey@koziol.cc> Co-authored-by: Sean McBride <sean@rogue-research.com> Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com> Co-authored-by: Quincey Koziol <koziol@lbl.gov> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Scot Breitenfeld <brtnfld@hdfgroup.org> Co-authored-by: Jan-Willem Blokland <J.W.S.Blokland@XS4All.nl> Co-authored-by: Jan-Willem Blokland <Jan-Willem.Blokland@Shell.com>
* Cherry-pick 12 develop branch PRs to hdf5_1_12 (#622)Larry Knox2021-05-0512-404/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Snapshot version 1.12 release 1-3. Update version to 1.12.1-4. * First cut of the H5 public API documentation. (#80) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Full set of current H5F documentation. (#105) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Migrated documentation for SWMR functions. * Catching up on MDC functions. * Integrated the H5F MDC function documentation. * Added MDC and parallel H5F functions. * Slightly updated main page. * Added doxygen/dox/H5AC_cache_config_t.dox to MANIFEST. * Doxygen - added (mostly) beginner functions (#112) * Doxygen - added (mostly) beginner functions * Removed duplicate H5Pset_szip function * Add src/H5module.h to MANIFEST. * close #195. (#196) * Update HDF5PluginMacros.cmake * Update HDF5PluginMacros.cmake * Avoid aligned access for references by decoding into temporary buffer and then copying the result into the actual buffer. Update test to be more thorough with using compound datatype fields everywhere. (#206) * Modify temporary rpath for testing in java example scripts. (#230) * Fix undefined left shifting of negative numbers (#338) Undefined Bahavior Sanitizer errored here about left shifting negative numbers. * Fixes various warnings noticed on Windows (#425) * Fixes various warnings noticed on Windows - Adds a prototype for our implementation of vasprintf - Return type of H5_get_utf16_str() is now non-const - Fixes possible uninitialized return type in Wremove_utf8 - Better isolation of fork() code in accum.c:test_swmr_write_big() - Better isolation of non-zlib code in dsets.c:test_filter_delete() - Removed unused variable in trefer.c:test_reference_cmpnd_obj() * Fixes clang-format issues * Applied clang-tidy readability-non-const-parameter warning fixes auto… (#429) * Automatically applied clang-tidy readability-avoid-const-params-in-decls fixes Removes useless const declarations. * Fixed most readability-non-const-parameter warnings These changes were made automatically by clang-tidy, but I manually reverted the changes related to the H5Z_func_t signature. * Reformat source with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Added C++11 override keyword where appropriate (#433) Added H5_OVERRIDE macro for compatibility with both C++11 and older. * Various clang tidy warning fixes (#448) * Fixed clang-tidy bugprone-reserved-identifier warnings * Fixed clang-tidy bugprone-assert-side-effect warnings * Fixed clang-tidy bugprone-copy-constructor-init warning * Fixed clang-tidy readability-redundant-preprocessor warning For error_test.c the removed code was already dead, because it was in the else of an `#if H5_USE_16_API` block. Based on H5Location.h, I think p_get_ref_obj_type was meant to be in `#ifndef DOXYGEN_SHOULD_SKIP_THIS` and an `#endif` was missing. Similarly, in the header, getObjTypeByIdx is only in H5_NO_DEPRECATED_SYMBOLS, not DOXYGEN_SHOULD_SKIP_THIS. * Fixed clang-tidy readability-redundant-string-init warnings * Fixed some clang-tidy performance-type-promotion-in-math-fn warnings * Fixed clang-tidy performance-unnecessary-value-param warnings * Reformat source with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Removed checks/workarounds for pre-C++89 compatibility (#449) After 30+ years, just assume that the following exist: - extension-less includes - namespaces - std:: - static_cast - bool * Fixed all clang-tidy bugprone-suspicious-string-compare warnings (#451) * Fixed all clang-tidy bugprone-suspicious-string-compare warnings This change was generated entirely by clang-tidy itself. * Reformat code with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Remove 2 functions incorrectly merged from develop in a cherry-pick merge of PR #451. * Minor parallel improvements (#519) * Improve MPI error reporting, handled failed operations in parallel tests more nicely, and clean up MPI_Allreduce for determining whether to break collective I/O * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Clean up MPI-IO VFD tracing support (#520) * Clean up tracing support * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Brings the native implementation of H5Fdelete() from Bitbucket (#524) * Committing clang-format changes * Brings the native VFD H5Fdelete() implementation from Bitbucket Only brings the 'del' callbacks, not the 'open/close' scheme. * Formatter changes * Committing clang-format changes * Fixes direct VFD callback name * Removes UNUSED macro from family API call * Adds barrier and rank 0 check to MPI-I/O VFD delete * Revert "Adds barrier and rank 0 check to MPI-I/O VFD delete" This reverts commit 909765f759d9d96e84f4b8b1cc14f7d2b3ac8143. * Revert "Revert "Adds barrier and rank 0 check to MPI-I/O VFD delete"" This reverts commit 9b04bef1157853fc79fcb8fcc3e8ba1371091702. * Adds a second barrier after the delete in MPI-I/O VFD * Only delete files in the core VFD when the backing store flag is set * Fixes string issues in multi VFD Also, h5test.c cleanup code now uses H5Fdelete(). * Formatted source * Rework fapl checks for MPI-I/O VFD delete callback Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Minor warning fixes in develop (#526) * Committing clang-format changes * Minor warning fixes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Removes implementation of my_strdup() from the multi VFD (#527) * Committing clang-format changes * Removes my_strdup() from the multi VFD * Use strdup directly when memory sanity checks are off Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Removes dead H5ST package from the library (#528) * Committing clang-format changes * Removes the unused H5ST package from the library Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Fix HDFFV-11232 (#530) * fixed missed closing of a dataset * fixed missed closing of a dataset * fixed typo in error return * Committing clang-format changes * minor edits * code format * Committing clang-format changes * code format * minor edit * added H5fortkit dependency for H5VLff.F90, HDFFV-11232 Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Fixes incorrect usage of H5I_BADID (#554) * Committing clang-format changes * Fixes incorrect use of H5I_BADID Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Fixes a segfault when H5Pset_mdc_log_options is called multiple times on a fapl (#601) * Committing clang-format changes * Fixes a segfault when H5Pset_mdc_log_options() is called multiple times An internal string is incorrectly freed when the API call is invoked multiple times on a property list, which will usually cause a segfault to occur. On the first call the log location is NULL so the problem doesn't occur. Fixes HDFFV-11239 * Fixes typos Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Fix for a segfault when H5Pset_fapl_log is passed an invalid fapl ID (#607) * Committing clang-format changes * Fixes an issue where H5Pset_fapl_log sefaults when passed an invalid fapl ID This was due to a pointer-containing struct being memset after the first internal API call. If the first call failed, the error condition would check if the pointer was not NULL and then attempt to free it if not. This would lead to the freeing of a wild pointer if an invalid fapl ID were passed in. This was fixed by reordering the memset and adding a test to ensure the problem stays fixed. Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Fixes crashes when size_hint > UINT32_MAX is passed to H5Gcreate1 (#611) * Committing clang-format changes * Fixes incorrect size_hint handling in H5Gcreate1 * Updates the size hint type for group creation * Updates the RELEASE.txt note * Revert "Updates the RELEASE.txt note" This reverts commit 3df386acca806d652bbe2209f7c4503b30f068ff. * Reverts previous behavior to use a uint32_t struct field * Updates RELEASE.txt Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Revert "Brings the native implementation of H5Fdelete() from Bitbucket (#524)" This reverts commit 38d1b121ae428138b8863c2a319518c7363c2d94. Co-authored-by: Gerd Heber <gheber@hdfgroup.org> Co-authored-by: bljhdf <58825073+bljhdf@users.noreply.github.com> Co-authored-by: H. Joe Lee <hyoklee@hdfgroup.org> Co-authored-by: Quincey Koziol <quincey@koziol.cc> Co-authored-by: Sean McBride <sean@rogue-research.com> Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com> Co-authored-by: Quincey Koziol <koziol@lbl.gov> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Scot Breitenfeld <brtnfld@hdfgroup.org>
* Hdf5 1 12 merge changes (#604)Allen Byrne2021-04-281-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * OESS-98 fix tools test for plugins * sync fork * Merge of changes from dev * Move problem option to bottom of the list until fixed * HDFFV-11106 - fix parsing optional args * HDFFV-11106 add note * grammer fix * Whitespace after clang formatting * Undo format version 11 changes * Update check to working version * Merge workflow and minor changes from develop * Update supported platforms * PR#3 merge from develop * Merge gcc 10 diagnostics option from develop * Merge #318 OSX changes from develop * Merge serval small changes from dev * fix typo * Minor non-space formatting changes * GH #386 copyright corrections for java folder * revert because logic requires false return * Merges from develop #358 patches from vtk #361 fix header guard spelling * Remove case statement for H5I_EVENTSET * Correct call with versioning * Remove tabs * Double underscore change * Merges from develop #340 clang -Wformat-security warnings #360 Fixed uninitialized warnings Remove more underscores from header guards * Merge #380 from develop * Correct date entry * Split format source and commit changes on repo push * remove pre-split setting * Change windows TS to use older VS. * HDFFV-11212 JNI export util and Javadoc * Suggested review changes * Another change found * Committing clang-format changes * Some Javadoc warning fixes * Committing clang-format changes * Updated javadoc fixes * HDFFV-11228/9 merges from develop * remove obsolete debug comment * Fix conflict * HDFFV-11229 merge changes from develop * HDFFV-11229 merge second compare from develop * HDFFV-11229 fix reference file * HDFFV-11229 update autotools test script for two ref files * HDFFV-11229 merge dev changes for long double display in tools * Committing clang-format changes * Update with changes from develop * Add "option" command for clang options * Rework CMake add_custom to use the BYPRODUCTS argument Update pkgconfig scripts for parallel builds. Fix install COPYING file reference. Remove unused round defines. Change CMake default setting of BUILD_CPP to off. Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* 112 copying update (#563)Larry Knox2021-04-261-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Snapshot version 1.12 release 1-3. Update version to 1.12.1-4. * First cut of the H5 public API documentation. (#80) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Full set of current H5F documentation. (#105) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Migrated documentation for SWMR functions. * Catching up on MDC functions. * Integrated the H5F MDC function documentation. * Added MDC and parallel H5F functions. * Slightly updated main page. * Added doxygen/dox/H5AC_cache_config_t.dox to MANIFEST. * Doxygen - added (mostly) beginner functions (#112) * Doxygen - added (mostly) beginner functions * Removed duplicate H5Pset_szip function * Add src/H5module.h to MANIFEST. * close #195. (#196) * Update HDF5PluginMacros.cmake * Update HDF5PluginMacros.cmake * Avoid aligned access for references by decoding into temporary buffer and then copying the result into the actual buffer. Update test to be more thorough with using compound datatype fields everywhere. (#206) * Modify temporary rpath for testing in java example scripts. (#230) * Fix undefined left shifting of negative numbers (#338) Undefined Bahavior Sanitizer errored here about left shifting negative numbers. * Fixes various warnings noticed on Windows (#425) * Fixes various warnings noticed on Windows - Adds a prototype for our implementation of vasprintf - Return type of H5_get_utf16_str() is now non-const - Fixes possible uninitialized return type in Wremove_utf8 - Better isolation of fork() code in accum.c:test_swmr_write_big() - Better isolation of non-zlib code in dsets.c:test_filter_delete() - Removed unused variable in trefer.c:test_reference_cmpnd_obj() * Fixes clang-format issues * Applied clang-tidy readability-non-const-parameter warning fixes auto… (#429) * Automatically applied clang-tidy readability-avoid-const-params-in-decls fixes Removes useless const declarations. * Fixed most readability-non-const-parameter warnings These changes were made automatically by clang-tidy, but I manually reverted the changes related to the H5Z_func_t signature. * Reformat source with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Added C++11 override keyword where appropriate (#433) Added H5_OVERRIDE macro for compatibility with both C++11 and older. * Various clang tidy warning fixes (#448) * Fixed clang-tidy bugprone-reserved-identifier warnings * Fixed clang-tidy bugprone-assert-side-effect warnings * Fixed clang-tidy bugprone-copy-constructor-init warning * Fixed clang-tidy readability-redundant-preprocessor warning For error_test.c the removed code was already dead, because it was in the else of an `#if H5_USE_16_API` block. Based on H5Location.h, I think p_get_ref_obj_type was meant to be in `#ifndef DOXYGEN_SHOULD_SKIP_THIS` and an `#endif` was missing. Similarly, in the header, getObjTypeByIdx is only in H5_NO_DEPRECATED_SYMBOLS, not DOXYGEN_SHOULD_SKIP_THIS. * Fixed clang-tidy readability-redundant-string-init warnings * Fixed some clang-tidy performance-type-promotion-in-math-fn warnings * Fixed clang-tidy performance-unnecessary-value-param warnings * Reformat source with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Removed checks/workarounds for pre-C++89 compatibility (#449) After 30+ years, just assume that the following exist: - extension-less includes - namespaces - std:: - static_cast - bool * Fixed all clang-tidy bugprone-suspicious-string-compare warnings (#451) * Fixed all clang-tidy bugprone-suspicious-string-compare warnings This change was generated entirely by clang-tidy itself. * Reformat code with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Remove 2 functions incorrectly merged from develop in a cherry-pick merge of PR #451. * Update top-level COPYING file and remove COPYING files from subdirectories. * Update top-level COPYING file and remove COPYING files from subdirectories (#561) * Modify temporary rpath for testing in java example scripts. * Update URL in source file Copyright headers for web copy of COPYING (license) file. * Add release_docs/code-conventions.md file. * Add script to test h5py. * Fix script error. * Add file h5pytest.yml. * Test declaration of counter variables in for loops. * Committing clang-format changes * Committing clang-format changes * Added [] to line 126 of H5LTanalyze.l. Ran bin/genparser with flex v2.6.4 and Bison v3.0.4 on jelly. * Revert "Added [] to line 126 of H5LTanalyze.l." This reverts commit e4a9cee441efa75b16a8ee030c86189e186dd266. * Revert extra commits to match canonical develop. * Update top-level COPYING file and remove COPYING files from subdirectories. * Remove subdirectory COPYING files from MANIFEST. Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Gerd Heber <gheber@hdfgroup.org> Co-authored-by: bljhdf <58825073+bljhdf@users.noreply.github.com> Co-authored-by: H. Joe Lee <hyoklee@hdfgroup.org> Co-authored-by: Quincey Koziol <quincey@koziol.cc> Co-authored-by: Sean McBride <sean@rogue-research.com> Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* 1 12 merge CMake flag groups and tools long double changes from develop (#523)Allen Byrne2021-04-192-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * OESS-98 fix tools test for plugins * sync fork * Merge of changes from dev * Move problem option to bottom of the list until fixed * HDFFV-11106 - fix parsing optional args * HDFFV-11106 add note * grammer fix * Whitespace after clang formatting * Undo format version 11 changes * Update check to working version * Merge workflow and minor changes from develop * Update supported platforms * PR#3 merge from develop * Merge gcc 10 diagnostics option from develop * Merge #318 OSX changes from develop * Merge serval small changes from dev * fix typo * Minor non-space formatting changes * GH #386 copyright corrections for java folder * revert because logic requires false return * Merges from develop #358 patches from vtk #361 fix header guard spelling * Remove case statement for H5I_EVENTSET * Correct call with versioning * Remove tabs * Double underscore change * Merges from develop #340 clang -Wformat-security warnings #360 Fixed uninitialized warnings Remove more underscores from header guards * Merge #380 from develop * Correct date entry * Split format source and commit changes on repo push * remove pre-split setting * Change windows TS to use older VS. * HDFFV-11212 JNI export util and Javadoc * Suggested review changes * Another change found * Committing clang-format changes * Some Javadoc warning fixes * Committing clang-format changes * Updated javadoc fixes * HDFFV-11228/9 merges from develop * remove obsolete debug comment * Fix conflict * HDFFV-11229 merge changes from develop * HDFFV-11229 merge second compare from develop * HDFFV-11229 fix reference file * HDFFV-11229 update autotools test script for two ref files * HDFFV-11229 merge dev changes for long double display in tools * Committing clang-format changes * Update with changes from develop Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Hdf5 merge issue 537 v112 (#538)Larry Knox2021-04-0213-141/+221
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Snapshot version 1.12 release 1-3. Update version to 1.12.1-4. * First cut of the H5 public API documentation. (#80) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Full set of current H5F documentation. (#105) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Migrated documentation for SWMR functions. * Catching up on MDC functions. * Integrated the H5F MDC function documentation. * Added MDC and parallel H5F functions. * Slightly updated main page. * Added doxygen/dox/H5AC_cache_config_t.dox to MANIFEST. * Doxygen - added (mostly) beginner functions (#112) * Doxygen - added (mostly) beginner functions * Removed duplicate H5Pset_szip function * Add src/H5module.h to MANIFEST. * close #195. (#196) * Update HDF5PluginMacros.cmake * Update HDF5PluginMacros.cmake * Avoid aligned access for references by decoding into temporary buffer and then copying the result into the actual buffer. Update test to be more thorough with using compound datatype fields everywhere. (#206) * Modify temporary rpath for testing in java example scripts. (#230) * Fix undefined left shifting of negative numbers (#338) Undefined Bahavior Sanitizer errored here about left shifting negative numbers. * Fixes various warnings noticed on Windows (#425) * Fixes various warnings noticed on Windows - Adds a prototype for our implementation of vasprintf - Return type of H5_get_utf16_str() is now non-const - Fixes possible uninitialized return type in Wremove_utf8 - Better isolation of fork() code in accum.c:test_swmr_write_big() - Better isolation of non-zlib code in dsets.c:test_filter_delete() - Removed unused variable in trefer.c:test_reference_cmpnd_obj() * Fixes clang-format issues * Applied clang-tidy readability-non-const-parameter warning fixes auto… (#429) * Automatically applied clang-tidy readability-avoid-const-params-in-decls fixes Removes useless const declarations. * Fixed most readability-non-const-parameter warnings These changes were made automatically by clang-tidy, but I manually reverted the changes related to the H5Z_func_t signature. * Reformat source with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Added C++11 override keyword where appropriate (#433) Added H5_OVERRIDE macro for compatibility with both C++11 and older. * Various clang tidy warning fixes (#448) * Fixed clang-tidy bugprone-reserved-identifier warnings * Fixed clang-tidy bugprone-assert-side-effect warnings * Fixed clang-tidy bugprone-copy-constructor-init warning * Fixed clang-tidy readability-redundant-preprocessor warning For error_test.c the removed code was already dead, because it was in the else of an `#if H5_USE_16_API` block. Based on H5Location.h, I think p_get_ref_obj_type was meant to be in `#ifndef DOXYGEN_SHOULD_SKIP_THIS` and an `#endif` was missing. Similarly, in the header, getObjTypeByIdx is only in H5_NO_DEPRECATED_SYMBOLS, not DOXYGEN_SHOULD_SKIP_THIS. * Fixed clang-tidy readability-redundant-string-init warnings * Fixed some clang-tidy performance-type-promotion-in-math-fn warnings * Fixed clang-tidy performance-unnecessary-value-param warnings * Reformat source with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Removed checks/workarounds for pre-C++89 compatibility (#449) After 30+ years, just assume that the following exist: - extension-less includes - namespaces - std:: - static_cast - bool * Fixed all clang-tidy bugprone-suspicious-string-compare warnings (#451) * Fixed all clang-tidy bugprone-suspicious-string-compare warnings This change was generated entirely by clang-tidy itself. * Reformat code with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Remove 2 functions incorrectly merged from develop in a cherry-pick merge of PR #451. * More warning fixes (#400) * Fixed -Wunused-local-typedef warning * Fixed -Wformat warnings In one case also removed a `z` character. There was a `z%d` that I think was supposed to be `%zd` * Fixed -Wshorten-64-to-32 warnings * Fixed -Wself-assign warnings * Fixed -Wreserved-id-macro warnings * Commit format changes from clang-format, clang version 10.0.1. * Fixed -Wself-assign warnings * Fixed -Wunused-local-typedef warning * Fixed -Wformat warnings In two cases also removed a `z` character. There was a `z%d` that was supposed to be `%zd`. * Fixed -Wshorten-64-to-32 warnings * Fixed -Wreserved-id-macro warnings * Fixed -Wself-assign warnings * Format source. * Remove blank lines to pass format check. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Changes found during merge to 1.12 (#414) * OESS-98 convert plugin option to FetchContent, add tests * Fixes for pkcfg files because of plugin option * OESS-98 fix tools test for plugins * Keep doxygen comments under 100 chars long - format hint * Whitespace * HDFFV-11144 - Reclassify CMake messages * HDFFV-11099/11100 added help text * Reworked switch statement to compare string instead * Fix typo * Update CDash mode * Correct name of threadsafe * Correct option name * Undo accidental commit * Note LLVM 10 to 11 format default changes * Update format plugin * Undo clang-format version 11 changes * One more correction * Update supported platforms * Revert whitespace changes * Correct whitespace * Changes from PR#3 * HDFFV-11213 added option to control gcc10 warnings diagnostics * HDFFV-11212 Use the new references correctly in JNI utility and tests * format source * Fix typo * Add new test file * HDFFV-11212 - update test and remove unused arg * Minor non-space formatting changes * Use H5I_INVALID_ID instead of "-1" * source formatting * add missing testfile, update jni function * Undo commit of debug code * remove mislocated file * Fix h5repack test for handling of fapls and id close * Update h5diff test files usage text * HDFFV-11212 add new ref tests for JNI export dataset * src format update * Remove blank line typo * src format typo * long double requires %Lg * Another long double foramt specifer S.B. %Lg * issue with t128bit test * Windows issue with h5dump and type. * Fix review issues * refactor function nesting and fix error checks * format fixes * Remove untested functions and javadoc quiet comments * Restore TRY block. * Change string append errors to memory exception * revert to H5_JNI_FATAL_ERROR - support functions need work * Add assertion error for h5util functions * remove duplicate function * format fix * Revert HD function error handling * Update copyright comments * GH #386 java folder copyright corrections * Whitespace * GH #359 implement and fix tools 1.6 API usage * remove excessive comments * Flip inits to correct ifdef section * rework ifdef to be simpler * format issue * Reformat ifdef inits * remove static attribute * format compliance * Update names * Revert because logic relies on float not being int * Changes noticed from creating merge of #412 * Double underscore change * Correct compiler version variable used * Remove header guard underscores * Whitespace cleanup * Align with "parallel fence" changes (#479) * Small code updates and simplifications * Committing clang-format changes * Fix 'make installcheck' for parallel builds Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * File locks now work on Windows (#480) * File locks now work on Windows Uses LockFileEx() and UnlockFileEx(). Fixes HDFFV-10191 (partial). * Committing clang-format changes * Committing clang-format changes * Fixes commenting in h5repack * Reworks H5Fis_accessible() H5Fis_accessible() created a new file handle and attempted to read through it, which will fail when a file has been opened with an exclusive lock on operating systems that have mandatory locks. This change uses the same scheme we use in H5Fopen() to check if the file is already open and only tries to read the file signature if the file has not already been opened. Also adds a test for this behavior. * Committing clang-format changes * Trivial change to force github to run actions Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * small edits (#481) * fixed missed closing of a dataset * fixed missed closing of a dataset * fixed typo in error return * Committing clang-format changes * minor edits * code format * Committing clang-format changes * code format * minor edit Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Adds an implementation for nanosleep on Windows (#483) * Adds an implementation for nanosleep on Windows * Committing clang-format changes * Fix insane formatter issue Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Updates HSYS_GOTO_ERROR to emit GetLastError() values on Win32 (#492) * Committing clang-format changes * Updates H5SYS_GOTO_ERROR to emit Win32's GetLastError() * Committing clang-format changes * Format source changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Updates that allow accum SWMR tests to work on Windows (#493) * Committing clang-format changes * Updates the accum test to work on Windows Uses CreateProcess() on Windows * Source formatting * Fix for Unix child result * Fixes process return code bug on Windows Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Disable long double tests and remove CMake flag groups (#494) * OESS-98 convert plugin option to FetchContent, add tests * Fixes for pkcfg files because of plugin option * OESS-98 fix tools test for plugins * Keep doxygen comments under 100 chars long - format hint * Whitespace * HDFFV-11144 - Reclassify CMake messages * HDFFV-11099/11100 added help text * Reworked switch statement to compare string instead * Fix typo * Update CDash mode * Correct name of threadsafe * Correct option name * Undo accidental commit * Note LLVM 10 to 11 format default changes * Update format plugin * Undo clang-format version 11 changes * One more correction * Update supported platforms * Revert whitespace changes * Correct whitespace * Changes from PR#3 * HDFFV-11213 added option to control gcc10 warnings diagnostics * HDFFV-11212 Use the new references correctly in JNI utility and tests * format source * Fix typo * Add new test file * HDFFV-11212 - update test and remove unused arg * Minor non-space formatting changes * Use H5I_INVALID_ID instead of "-1" * source formatting * add missing testfile, update jni function * Undo commit of debug code * remove mislocated file * Fix h5repack test for handling of fapls and id close * Update h5diff test files usage text * HDFFV-11212 add new ref tests for JNI export dataset * src format update * Remove blank line typo * src format typo * long double requires %Lg * Another long double foramt specifer S.B. %Lg * issue with t128bit test * Windows issue with h5dump and type. * Fix review issues * refactor function nesting and fix error checks * format fixes * Remove untested functions and javadoc quiet comments * Restore TRY block. * Change string append errors to memory exception * revert to H5_JNI_FATAL_ERROR - support functions need work * Add assertion error for h5util functions * remove duplicate function * format fix * Revert HD function error handling * Update copyright comments * GH #386 java folder copyright corrections * Whitespace * GH #359 implement and fix tools 1.6 API usage * remove excessive comments * Flip inits to correct ifdef section * rework ifdef to be simpler * format issue * Reformat ifdef inits * remove static attribute * format compliance * Update names * Revert because logic relies on float not being int * Changes noticed from creating merge of #412 * Double underscore change * Correct compiler version variable used * Remove header guard underscores * Whitespace cleanup * Split format source and commit changes on repo push * remove pre-split setting * Change windows TS to use older VS. * correct window os name * HDFFV-11212 JNI export util and Javadoc * Suggested review changes * Another change found * Committing clang-format changes * HDFFV-11113 long double in tools * HDFFV-11113 add note * Disable long double tests for now * HDFFV-11228 remove arbitrary CMake warning groups. * Make each flag a string Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Misc warning fixes (#495) * Committing clang-format changes * Misc warning fixes from Visual Studio * Committing clang-format changes * Fixes warnings in swmr.c test * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Removes support for pre-2015 Visual Studio (#496) * Committing clang-format changes * Removes work-around code for pre-2015 Visual Studio HDF5 no longer provides an implementation for: * <inttypes.h> * snprintf and vsnprintf * llround(f), lround(f), round(f) * strtoll and strtoull * va_copy * struct timespec Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Remove extra parameter from merge. * Resolve missed merge conflict. Co-authored-by: Gerd Heber <gheber@hdfgroup.org> Co-authored-by: bljhdf <58825073+bljhdf@users.noreply.github.com> Co-authored-by: H. Joe Lee <hyoklee@hdfgroup.org> Co-authored-by: Quincey Koziol <quincey@koziol.cc> Co-authored-by: Sean McBride <sean@rogue-research.com> Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com> Co-authored-by: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Co-authored-by: Quincey Koziol <koziol@lbl.gov> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Scot Breitenfeld <brtnfld@hdfgroup.org>
* Hdf5 merge issue 488 v112 (#534)Larry Knox2021-04-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Snapshot version 1.12 release 1-3. Update version to 1.12.1-4. * First cut of the H5 public API documentation. (#80) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Full set of current H5F documentation. (#105) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Migrated documentation for SWMR functions. * Catching up on MDC functions. * Integrated the H5F MDC function documentation. * Added MDC and parallel H5F functions. * Slightly updated main page. * Added doxygen/dox/H5AC_cache_config_t.dox to MANIFEST. * Doxygen - added (mostly) beginner functions (#112) * Doxygen - added (mostly) beginner functions * Removed duplicate H5Pset_szip function * Add src/H5module.h to MANIFEST. * close #195. (#196) * Update HDF5PluginMacros.cmake * Update HDF5PluginMacros.cmake * Avoid aligned access for references by decoding into temporary buffer and then copying the result into the actual buffer. Update test to be more thorough with using compound datatype fields everywhere. (#206) * Modify temporary rpath for testing in java example scripts. (#230) * Fix undefined left shifting of negative numbers (#338) Undefined Bahavior Sanitizer errored here about left shifting negative numbers. * Fixes various warnings noticed on Windows (#425) * Fixes various warnings noticed on Windows - Adds a prototype for our implementation of vasprintf - Return type of H5_get_utf16_str() is now non-const - Fixes possible uninitialized return type in Wremove_utf8 - Better isolation of fork() code in accum.c:test_swmr_write_big() - Better isolation of non-zlib code in dsets.c:test_filter_delete() - Removed unused variable in trefer.c:test_reference_cmpnd_obj() * Fixes clang-format issues * Applied clang-tidy readability-non-const-parameter warning fixes auto… (#429) * Automatically applied clang-tidy readability-avoid-const-params-in-decls fixes Removes useless const declarations. * Fixed most readability-non-const-parameter warnings These changes were made automatically by clang-tidy, but I manually reverted the changes related to the H5Z_func_t signature. * Reformat source with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Added C++11 override keyword where appropriate (#433) Added H5_OVERRIDE macro for compatibility with both C++11 and older. * Various clang tidy warning fixes (#448) * Fixed clang-tidy bugprone-reserved-identifier warnings * Fixed clang-tidy bugprone-assert-side-effect warnings * Fixed clang-tidy bugprone-copy-constructor-init warning * Fixed clang-tidy readability-redundant-preprocessor warning For error_test.c the removed code was already dead, because it was in the else of an `#if H5_USE_16_API` block. Based on H5Location.h, I think p_get_ref_obj_type was meant to be in `#ifndef DOXYGEN_SHOULD_SKIP_THIS` and an `#endif` was missing. Similarly, in the header, getObjTypeByIdx is only in H5_NO_DEPRECATED_SYMBOLS, not DOXYGEN_SHOULD_SKIP_THIS. * Fixed clang-tidy readability-redundant-string-init warnings * Fixed some clang-tidy performance-type-promotion-in-math-fn warnings * Fixed clang-tidy performance-unnecessary-value-param warnings * Reformat source with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Removed checks/workarounds for pre-C++89 compatibility (#449) After 30+ years, just assume that the following exist: - extension-less includes - namespaces - std:: - static_cast - bool * Fixed all clang-tidy bugprone-suspicious-string-compare warnings (#451) * Fixed all clang-tidy bugprone-suspicious-string-compare warnings This change was generated entirely by clang-tidy itself. * Reformat code with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Remove 2 functions incorrectly merged from develop in a cherry-pick merge of PR #451. * Purge the buffer used in type conversion. (#263) Some of the uniniitialized bits in the buffer may get carried through all the way to disk, creating a risk for leaks. We observed an msan error during the floating point output conversion. Due to the encoding certain bits could remain untouched during the conversion. In this draft we zero initialize the dbuf used by every convertor. * Fixed HDFFV-10480 (CVE-2018-11206) and HDFFV-11159 (CVE-2018-14033) (#405) * Fixed HDFFV-10480 (CVE-2018-11206) and HDFFV-11159 (CVE-2018-14033) Description Checked against buffer size to prevent segfault, in case of data corruption. + HDFFV-11159 CVE-2018-14033 Buffer over-read in H5O_layout_decode + HDFFV-10480 CVE-2018-11206 Buffer over-read in H5O_fill_new[/old]_decode Platforms tested: Linux/64 (jelly) * Accidentally left in another occurrence of the previous patch from user after a more correct fix was applied, that is the check now accounted for the previous advance of the buffer pointer. Removed it. * Typo * Fixed format issues. * Added test. * Changed arguments to ADD_H5_TEST * Fixing arguments to ADD_H5_TEST again. * Fixing arguments again. * Took out the CMake changes until Allen can help. * Added files: tCVE_2018_11206_fill_old.h5 tCVE_2018_11206_fill_new.h5 * Revert "Took out the CMake changes until Allen can help." This reverts commit c21324d6e0044994c5cd24b0671e7d1dd41096cc. * Revert "Fixing arguments again." This reverts commit 5832a70674339e4b524749adde5a181f8c3a446a. * Revert "Fixing arguments to ADD_H5_TEST again." This reverts commit b45de823c22ce83a388d46466ef7c04b66ff05ed. * Revert "Changed arguments to ADD_H5_TEST" This reverts commit 16719824f57e52158451ddd261788c0dcaa3ec55. * Added first argument to ADD_H5_TEST for HDFFV-10480 fix. * Changed argument 0 to 1 * Revert "Changed argument 0 to 1" This reverts commit b343d6613ba681b43248dd5820e96389984ebcf7. * Revert "Added first argument to ADD_H5_TEST for HDFFV-10480 fix." This reverts commit b8a0f9a9e8ec8e6c6ff38d33195d63edff76a563. * Added first argument and corrected the second. * Updated fixes for HDFFV-10480 and HDFFV-11159/HDFFV-11049 * Improved error messages. * Added description of the current HDF5 branches; added a draft of contribution policy. (#445) * Added description of the current HDF5 branches. * Removed capitalization in from Develop, Release, Feature to reflect the real naming schema * Added a draft of contributions guidance document. * Fixed typos. * Fixed section title. * Fixed typo. * Fixed typos and formatting. * Fixed many typos and simplified the text (e.g., removed testing instructions and left pointers to where to find them, etc.) * Fixed a typo. Please enter the commit message for your changes. Lines starting * Added contributing.md file and rearranged doc entries in alphabetical order. * ddressed Gerd's review comments; found and fixed more typos. * Addressed comments from Larry and Scot. * Fix CMake error message location. (#478) Print error message if Perl is not found. * Committing clang-format changes Co-authored-by: Gerd Heber <gheber@hdfgroup.org> Co-authored-by: bljhdf <58825073+bljhdf@users.noreply.github.com> Co-authored-by: H. Joe Lee <hyoklee@hdfgroup.org> Co-authored-by: Quincey Koziol <quincey@koziol.cc> Co-authored-by: Sean McBride <sean@rogue-research.com> Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com> Co-authored-by: Yu Feng <rainwoodman@gmail.com> Co-authored-by: bmribler <39579120+bmribler@users.noreply.github.com> Co-authored-by: epourmal <epourmal@hdfgroup.org> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Hdf5 merge issue 487 v112 (#491)Larry Knox2021-03-2664-684/+2749
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Snapshot version 1.12 release 1-3. Update version to 1.12.1-4. * First cut of the H5 public API documentation. (#80) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Full set of current H5F documentation. (#105) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Migrated documentation for SWMR functions. * Catching up on MDC functions. * Integrated the H5F MDC function documentation. * Added MDC and parallel H5F functions. * Slightly updated main page. * Added doxygen/dox/H5AC_cache_config_t.dox to MANIFEST. * Doxygen - added (mostly) beginner functions (#112) * Doxygen - added (mostly) beginner functions * Removed duplicate H5Pset_szip function * Add src/H5module.h to MANIFEST. * close #195. (#196) * Update HDF5PluginMacros.cmake * Update HDF5PluginMacros.cmake * Avoid aligned access for references by decoding into temporary buffer and then copying the result into the actual buffer. Update test to be more thorough with using compound datatype fields everywhere. (#206) * Modify temporary rpath for testing in java example scripts. (#230) * Fix undefined left shifting of negative numbers (#338) Undefined Bahavior Sanitizer errored here about left shifting negative numbers. * Fixes various warnings noticed on Windows (#425) * Fixes various warnings noticed on Windows - Adds a prototype for our implementation of vasprintf - Return type of H5_get_utf16_str() is now non-const - Fixes possible uninitialized return type in Wremove_utf8 - Better isolation of fork() code in accum.c:test_swmr_write_big() - Better isolation of non-zlib code in dsets.c:test_filter_delete() - Removed unused variable in trefer.c:test_reference_cmpnd_obj() * Fixes clang-format issues * Applied clang-tidy readability-non-const-parameter warning fixes auto… (#429) * Automatically applied clang-tidy readability-avoid-const-params-in-decls fixes Removes useless const declarations. * Fixed most readability-non-const-parameter warnings These changes were made automatically by clang-tidy, but I manually reverted the changes related to the H5Z_func_t signature. * Reformat source with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Added C++11 override keyword where appropriate (#433) Added H5_OVERRIDE macro for compatibility with both C++11 and older. * Various clang tidy warning fixes (#448) * Fixed clang-tidy bugprone-reserved-identifier warnings * Fixed clang-tidy bugprone-assert-side-effect warnings * Fixed clang-tidy bugprone-copy-constructor-init warning * Fixed clang-tidy readability-redundant-preprocessor warning For error_test.c the removed code was already dead, because it was in the else of an `#if H5_USE_16_API` block. Based on H5Location.h, I think p_get_ref_obj_type was meant to be in `#ifndef DOXYGEN_SHOULD_SKIP_THIS` and an `#endif` was missing. Similarly, in the header, getObjTypeByIdx is only in H5_NO_DEPRECATED_SYMBOLS, not DOXYGEN_SHOULD_SKIP_THIS. * Fixed clang-tidy readability-redundant-string-init warnings * Fixed some clang-tidy performance-type-promotion-in-math-fn warnings * Fixed clang-tidy performance-unnecessary-value-param warnings * Reformat source with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Removed checks/workarounds for pre-C++89 compatibility (#449) After 30+ years, just assume that the following exist: - extension-less includes - namespaces - std:: - static_cast - bool * Fixed all clang-tidy bugprone-suspicious-string-compare warnings (#451) * Fixed all clang-tidy bugprone-suspicious-string-compare warnings This change was generated entirely by clang-tidy itself. * Reformat code with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Remove 2 functions incorrectly merged from develop in a cherry-pick merge of PR #451. * Simplified hl parsing (#399) * Stop using global variables to share parse context with the lexer. The lexer uses an unconventional strategy for parsing lexical categories NUMBER (decimal numbers) and STRING (double-quoted strings) that involves sharing the parse context with the lexer using global variables. There are a couple of problems with that. First, the lexer is too complicated for the simple tokenization it performs—it's hard to tell if it is correct. Second, as @seanm points out, the shared global variables spill into the namespace shared by other libraries and application programs—e.g., VTK. * Regenerate source files from *.[yl]. * Replace strndup, which isn't available on Windows, with a custom routine, `trim_quotes`, that produces a copy of its `const char *` argument with leading and trailing double quotes ('"') removed. While I am here, remove the unnecessary statement `BEGIN INITIAL;`, which I should have deleted in a previous commit. * Regenerate .c from .l. * You haven't programmed in C until you have programmed in High-Definition (HD) C. * \#include "H5private.h" for HD* definitions. * Regenerate *.[ch] from *.[yl]. * Removed workarounds for pre-standard inline keyword (#423) Fixes -Wreserved-identifier warnings due to multiple underscores in H5_HAVE___INLINE. * Replaces checks for fork, etc. with checks for unistd.h (#457) * Replaces checks for fork, etc. with H5_HAVE_UNISTD_H Code previously checked for individual POSIX API calls using H5_HAVE_FORK, etc. The calls we use have been standardized for decades and available via unistd.h. Some test messages that were missing when tests are skipped due to a lack of unistd.h were also added. The configure checks for individual POSIX API calls will be removed in a later commit. * Stupid formatter * develop JNI export references and java updates (#467) * OESS-98 convert plugin option to FetchContent, add tests * Fixes for pkcfg files because of plugin option * OESS-98 fix tools test for plugins * Keep doxygen comments under 100 chars long - format hint * Whitespace * HDFFV-11144 - Reclassify CMake messages * HDFFV-11099/11100 added help text * Reworked switch statement to compare string instead * Fix typo * Update CDash mode * Correct name of threadsafe * Correct option name * Undo accidental commit * Note LLVM 10 to 11 format default changes * Update format plugin * Undo clang-format version 11 changes * One more correction * Update supported platforms * Revert whitespace changes * Correct whitespace * Changes from PR#3 * HDFFV-11213 added option to control gcc10 warnings diagnostics * HDFFV-11212 Use the new references correctly in JNI utility and tests * format source * Fix typo * Add new test file * HDFFV-11212 - update test and remove unused arg * Minor non-space formatting changes * Use H5I_INVALID_ID instead of "-1" * source formatting * add missing testfile, update jni function * Undo commit of debug code * remove mislocated file * Fix h5repack test for handling of fapls and id close * Update h5diff test files usage text * HDFFV-11212 add new ref tests for JNI export dataset * src format update * Remove blank line typo * src format typo * long double requires %Lg * Another long double foramt specifer S.B. %Lg * issue with t128bit test * Windows issue with h5dump and type. * Fix review issues * refactor function nesting and fix error checks * format fixes * Remove untested functions and javadoc quiet comments * Restore TRY block. * Change string append errors to memory exception * revert to H5_JNI_FATAL_ERROR - support functions need work * Add assertion error for h5util functions * remove duplicate function * format fix * Revert HD function error handling * Update copyright comments * GH #386 java folder copyright corrections * Whitespace * GH #359 implement and fix tools 1.6 API usage * remove excessive comments * Flip inits to correct ifdef section * rework ifdef to be simpler * format issue * Reformat ifdef inits * remove static attribute * format compliance * Update names * Revert because logic relies on float not being int * Changes noticed from creating merge of #412 * Double underscore change * Correct compiler version variable used * Remove header guard underscores * Whitespace cleanup * Split format source and commit changes on repo push * remove pre-split setting * Change windows TS to use older VS. * correct window os name * HDFFV-11212 JNI export util and Javadoc * Suggested review changes * Another change found * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Fix display of long double in tools (#469) * OESS-98 convert plugin option to FetchContent, add tests * Fixes for pkcfg files because of plugin option * OESS-98 fix tools test for plugins * Keep doxygen comments under 100 chars long - format hint * Whitespace * HDFFV-11144 - Reclassify CMake messages * HDFFV-11099/11100 added help text * Reworked switch statement to compare string instead * Fix typo * Update CDash mode * Correct name of threadsafe * Correct option name * Undo accidental commit * Note LLVM 10 to 11 format default changes * Update format plugin * Undo clang-format version 11 changes * One more correction * Update supported platforms * Revert whitespace changes * Correct whitespace * Changes from PR#3 * HDFFV-11213 added option to control gcc10 warnings diagnostics * HDFFV-11212 Use the new references correctly in JNI utility and tests * format source * Fix typo * Add new test file * HDFFV-11212 - update test and remove unused arg * Minor non-space formatting changes * Use H5I_INVALID_ID instead of "-1" * source formatting * add missing testfile, update jni function * Undo commit of debug code * remove mislocated file * Fix h5repack test for handling of fapls and id close * Update h5diff test files usage text * HDFFV-11212 add new ref tests for JNI export dataset * src format update * Remove blank line typo * src format typo * long double requires %Lg * Another long double foramt specifer S.B. %Lg * issue with t128bit test * Windows issue with h5dump and type. * Fix review issues * refactor function nesting and fix error checks * format fixes * Remove untested functions and javadoc quiet comments * Restore TRY block. * Change string append errors to memory exception * revert to H5_JNI_FATAL_ERROR - support functions need work * Add assertion error for h5util functions * remove duplicate function * format fix * Revert HD function error handling * Update copyright comments * GH #386 java folder copyright corrections * Whitespace * GH #359 implement and fix tools 1.6 API usage * remove excessive comments * Flip inits to correct ifdef section * rework ifdef to be simpler * format issue * Reformat ifdef inits * remove static attribute * format compliance * Update names * Revert because logic relies on float not being int * Changes noticed from creating merge of #412 * Double underscore change * Correct compiler version variable used * Remove header guard underscores * Whitespace cleanup * Split format source and commit changes on repo push * remove pre-split setting * Change windows TS to use older VS. * correct window os name * HDFFV-11212 JNI export util and Javadoc * Suggested review changes * Another change found * Committing clang-format changes * HDFFV-11113 long double in tools * HDFFV-11113 add note Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Update clang config (#473) * Update clang config to put H5E_BEGIN_TRY / H5E_END_TRY on separate lines, empty C++ methods on separate lines, understand that ALL_MEMBERS / UNIQUE_MEMBERS are foreach macros, and properly skip the 'config' directory in the find command without emiting a warning * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Correct syntax error. (#474) a Fortran compile -> a Fortran compiler * Cleans up a couple of MSVC warnings in testhdf5 (#475) * Fixes a few testhdf5 warnings raised in Visual Studio Visual Studio is grumpier about treating pointers like integers than gcc. * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Fix typos and grammar errors. (#476) * Suppresses the tcheck_version test's abort dialog on Windows (#477) * Suppresses the tcheck_version test's abort dialog on Windows Windows raises a modal abort/retry/ignore dialog box when CRT calls abort(). This change installs a report hook that suppresses the dialog so that the CMake tests don't time out waiting for a nonexistent user to click a dialog box. * Committing clang-format changes * Removes __cdecl from callback Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Rerun genparser. * Fix merge issues and rerun genparser. Co-authored-by: Gerd Heber <gheber@hdfgroup.org> Co-authored-by: bljhdf <58825073+bljhdf@users.noreply.github.com> Co-authored-by: H. Joe Lee <hyoklee@hdfgroup.org> Co-authored-by: Quincey Koziol <quincey@koziol.cc> Co-authored-by: Sean McBride <sean@rogue-research.com> Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com> Co-authored-by: David Young <dyoung@hdfgroup.org> Co-authored-by: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Quincey Koziol <koziol@lbl.gov>
* Hdf5 merge issue 486 v112 (#489)Larry Knox2021-03-249-67/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Snapshot version 1.12 release 1-3. Update version to 1.12.1-4. * First cut of the H5 public API documentation. (#80) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Full set of current H5F documentation. (#105) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Migrated documentation for SWMR functions. * Catching up on MDC functions. * Integrated the H5F MDC function documentation. * Added MDC and parallel H5F functions. * Slightly updated main page. * Added doxygen/dox/H5AC_cache_config_t.dox to MANIFEST. * Doxygen - added (mostly) beginner functions (#112) * Doxygen - added (mostly) beginner functions * Removed duplicate H5Pset_szip function * Add src/H5module.h to MANIFEST. * close #195. (#196) * Update HDF5PluginMacros.cmake * Update HDF5PluginMacros.cmake * Avoid aligned access for references by decoding into temporary buffer and then copying the result into the actual buffer. Update test to be more thorough with using compound datatype fields everywhere. (#206) * Modify temporary rpath for testing in java example scripts. (#230) * Fix undefined left shifting of negative numbers (#338) Undefined Bahavior Sanitizer errored here about left shifting negative numbers. * Fixes various warnings noticed on Windows (#425) * Fixes various warnings noticed on Windows - Adds a prototype for our implementation of vasprintf - Return type of H5_get_utf16_str() is now non-const - Fixes possible uninitialized return type in Wremove_utf8 - Better isolation of fork() code in accum.c:test_swmr_write_big() - Better isolation of non-zlib code in dsets.c:test_filter_delete() - Removed unused variable in trefer.c:test_reference_cmpnd_obj() * Fixes clang-format issues * Applied clang-tidy readability-non-const-parameter warning fixes auto… (#429) * Automatically applied clang-tidy readability-avoid-const-params-in-decls fixes Removes useless const declarations. * Fixed most readability-non-const-parameter warnings These changes were made automatically by clang-tidy, but I manually reverted the changes related to the H5Z_func_t signature. * Reformat source with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Added C++11 override keyword where appropriate (#433) Added H5_OVERRIDE macro for compatibility with both C++11 and older. * Various clang tidy warning fixes (#448) * Fixed clang-tidy bugprone-reserved-identifier warnings * Fixed clang-tidy bugprone-assert-side-effect warnings * Fixed clang-tidy bugprone-copy-constructor-init warning * Fixed clang-tidy readability-redundant-preprocessor warning For error_test.c the removed code was already dead, because it was in the else of an `#if H5_USE_16_API` block. Based on H5Location.h, I think p_get_ref_obj_type was meant to be in `#ifndef DOXYGEN_SHOULD_SKIP_THIS` and an `#endif` was missing. Similarly, in the header, getObjTypeByIdx is only in H5_NO_DEPRECATED_SYMBOLS, not DOXYGEN_SHOULD_SKIP_THIS. * Fixed clang-tidy readability-redundant-string-init warnings * Fixed some clang-tidy performance-type-promotion-in-math-fn warnings * Fixed clang-tidy performance-unnecessary-value-param warnings * Reformat source with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Removed checks/workarounds for pre-C++89 compatibility (#449) After 30+ years, just assume that the following exist: - extension-less includes - namespaces - std:: - static_cast - bool * Fixed all clang-tidy bugprone-suspicious-string-compare warnings (#451) * Fixed all clang-tidy bugprone-suspicious-string-compare warnings This change was generated entirely by clang-tidy itself. * Reformat code with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Remove 2 functions incorrectly merged from develop in a cherry-pick merge of PR #451. * Simplified hl parsing (#399) * Stop using global variables to share parse context with the lexer. The lexer uses an unconventional strategy for parsing lexical categories NUMBER (decimal numbers) and STRING (double-quoted strings) that involves sharing the parse context with the lexer using global variables. There are a couple of problems with that. First, the lexer is too complicated for the simple tokenization it performs—it's hard to tell if it is correct. Second, as @seanm points out, the shared global variables spill into the namespace shared by other libraries and application programs—e.g., VTK. * Regenerate source files from *.[yl]. * Replace strndup, which isn't available on Windows, with a custom routine, `trim_quotes`, that produces a copy of its `const char *` argument with leading and trailing double quotes ('"') removed. While I am here, remove the unnecessary statement `BEGIN INITIAL;`, which I should have deleted in a previous commit. * Regenerate .c from .l. * You haven't programmed in C until you have programmed in High-Definition (HD) C. * \#include "H5private.h" for HD* definitions. * Regenerate *.[ch] from *.[yl]. * Removed workarounds for pre-standard inline keyword (#423) Fixes -Wreserved-identifier warnings due to multiple underscores in H5_HAVE___INLINE. * Replaces checks for fork, etc. with checks for unistd.h (#457) * Replaces checks for fork, etc. with H5_HAVE_UNISTD_H Code previously checked for individual POSIX API calls using H5_HAVE_FORK, etc. The calls we use have been standardized for decades and available via unistd.h. Some test messages that were missing when tests are skipped due to a lack of unistd.h were also added. The configure checks for individual POSIX API calls will be removed in a later commit. * Stupid formatter * develop JNI export references and java updates (#467) * OESS-98 convert plugin option to FetchContent, add tests * Fixes for pkcfg files because of plugin option * OESS-98 fix tools test for plugins * Keep doxygen comments under 100 chars long - format hint * Whitespace * HDFFV-11144 - Reclassify CMake messages * HDFFV-11099/11100 added help text * Reworked switch statement to compare string instead * Fix typo * Update CDash mode * Correct name of threadsafe * Correct option name * Undo accidental commit * Note LLVM 10 to 11 format default changes * Update format plugin * Undo clang-format version 11 changes * One more correction * Update supported platforms * Revert whitespace changes * Correct whitespace * Changes from PR#3 * HDFFV-11213 added option to control gcc10 warnings diagnostics * HDFFV-11212 Use the new references correctly in JNI utility and tests * format source * Fix typo * Add new test file * HDFFV-11212 - update test and remove unused arg * Minor non-space formatting changes * Use H5I_INVALID_ID instead of "-1" * source formatting * add missing testfile, update jni function * Undo commit of debug code * remove mislocated file * Fix h5repack test for handling of fapls and id close * Update h5diff test files usage text * HDFFV-11212 add new ref tests for JNI export dataset * src format update * Remove blank line typo * src format typo * long double requires %Lg * Another long double foramt specifer S.B. %Lg * issue with t128bit test * Windows issue with h5dump and type. * Fix review issues * refactor function nesting and fix error checks * format fixes * Remove untested functions and javadoc quiet comments * Restore TRY block. * Change string append errors to memory exception * revert to H5_JNI_FATAL_ERROR - support functions need work * Add assertion error for h5util functions * remove duplicate function * format fix * Revert HD function error handling * Update copyright comments * GH #386 java folder copyright corrections * Whitespace * GH #359 implement and fix tools 1.6 API usage * remove excessive comments * Flip inits to correct ifdef section * rework ifdef to be simpler * format issue * Reformat ifdef inits * remove static attribute * format compliance * Update names * Revert because logic relies on float not being int * Changes noticed from creating merge of #412 * Double underscore change * Correct compiler version variable used * Remove header guard underscores * Whitespace cleanup * Split format source and commit changes on repo push * remove pre-split setting * Change windows TS to use older VS. * correct window os name * HDFFV-11212 JNI export util and Javadoc * Suggested review changes * Another change found * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Update h5LT files with latest flex and Bison available on jelly (#502) * Modify temporary rpath for testing in java example scripts. * Update URL in source file Copyright headers for web copy of COPYING (license) file. * Add release_docs/code-conventions.md file. * Add script to test h5py. * Fix script error. * Add file h5pytest.yml. * Test declaration of counter variables in for loops. * Committing clang-format changes * Committing clang-format changes * Added [] to line 126 of H5LTanalyze.l. Ran bin/genparser with flex v2.6.4 and Bison v3.0.4 on jelly. * Revert "Added [] to line 126 of H5LTanalyze.l." This reverts commit e4a9cee441efa75b16a8ee030c86189e186dd266. * Revert extra commits to match canonical develop. * Added [] to H5LTanalyze.l line 126 to eliminate warning "rule could not be matched". Ran bin/genparser hl/src with flex v2.6.4 and Bison v3.0.4 on jelly. * Added HD to strdup in H5LTparse.y line 338. Ran bin/genparser hlsrc again. * Removed line 126 from H5LTanalyze.l - previous line matches. Added previously removed line 318 of H5LTparse.y to fix hl_test_lite failure. Ran bin/genparser. Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Gerd Heber <gheber@hdfgroup.org> Co-authored-by: bljhdf <58825073+bljhdf@users.noreply.github.com> Co-authored-by: H. Joe Lee <hyoklee@hdfgroup.org> Co-authored-by: Quincey Koziol <quincey@koziol.cc> Co-authored-by: Sean McBride <sean@rogue-research.com> Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com> Co-authored-by: David Young <dyoung@hdfgroup.org> Co-authored-by: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Hdf5 merge issue #458 to hdf5_1_12 (#463)Larry Knox2021-03-1243-506/+511
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Snapshot version 1.12 release 1-3. Update version to 1.12.1-4. * First cut of the H5 public API documentation. (#80) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Full set of current H5F documentation. (#105) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Migrated documentation for SWMR functions. * Catching up on MDC functions. * Integrated the H5F MDC function documentation. * Added MDC and parallel H5F functions. * Slightly updated main page. * Added doxygen/dox/H5AC_cache_config_t.dox to MANIFEST. * Doxygen - added (mostly) beginner functions (#112) * Doxygen - added (mostly) beginner functions * Removed duplicate H5Pset_szip function * Add src/H5module.h to MANIFEST. * close #195. (#196) * Update HDF5PluginMacros.cmake * Update HDF5PluginMacros.cmake * Avoid aligned access for references by decoding into temporary buffer and then copying the result into the actual buffer. Update test to be more thorough with using compound datatype fields everywhere. (#206) * Modify temporary rpath for testing in java example scripts. (#230) * Fix undefined left shifting of negative numbers (#338) Undefined Bahavior Sanitizer errored here about left shifting negative numbers. * Fixes various warnings noticed on Windows (#425) * Fixes various warnings noticed on Windows - Adds a prototype for our implementation of vasprintf - Return type of H5_get_utf16_str() is now non-const - Fixes possible uninitialized return type in Wremove_utf8 - Better isolation of fork() code in accum.c:test_swmr_write_big() - Better isolation of non-zlib code in dsets.c:test_filter_delete() - Removed unused variable in trefer.c:test_reference_cmpnd_obj() * Fixes clang-format issues * Applied clang-tidy readability-non-const-parameter warning fixes auto… (#429) * Automatically applied clang-tidy readability-avoid-const-params-in-decls fixes Removes useless const declarations. * Fixed most readability-non-const-parameter warnings These changes were made automatically by clang-tidy, but I manually reverted the changes related to the H5Z_func_t signature. * Reformat source with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Added C++11 override keyword where appropriate (#433) Added H5_OVERRIDE macro for compatibility with both C++11 and older. * Various clang tidy warning fixes (#448) * Fixed clang-tidy bugprone-reserved-identifier warnings * Fixed clang-tidy bugprone-assert-side-effect warnings * Fixed clang-tidy bugprone-copy-constructor-init warning * Fixed clang-tidy readability-redundant-preprocessor warning For error_test.c the removed code was already dead, because it was in the else of an `#if H5_USE_16_API` block. Based on H5Location.h, I think p_get_ref_obj_type was meant to be in `#ifndef DOXYGEN_SHOULD_SKIP_THIS` and an `#endif` was missing. Similarly, in the header, getObjTypeByIdx is only in H5_NO_DEPRECATED_SYMBOLS, not DOXYGEN_SHOULD_SKIP_THIS. * Fixed clang-tidy readability-redundant-string-init warnings * Fixed some clang-tidy performance-type-promotion-in-math-fn warnings * Fixed clang-tidy performance-unnecessary-value-param warnings * Reformat source with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Removed checks/workarounds for pre-C++89 compatibility (#449) After 30+ years, just assume that the following exist: - extension-less includes - namespaces - std:: - static_cast - bool * Fixed all clang-tidy bugprone-suspicious-string-compare warnings (#451) * Fixed all clang-tidy bugprone-suspicious-string-compare warnings This change was generated entirely by clang-tidy itself. * Reformat code with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Remove 2 functions incorrectly merged from develop in a cherry-pick merge of PR #451. Co-authored-by: Gerd Heber <gheber@hdfgroup.org> Co-authored-by: bljhdf <58825073+bljhdf@users.noreply.github.com> Co-authored-by: H. Joe Lee <hyoklee@hdfgroup.org> Co-authored-by: Quincey Koziol <quincey@koziol.cc> Co-authored-by: Sean McBride <sean@rogue-research.com> Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com>
* Hdf5 merge issue 435 (#460)Larry Knox2021-03-1017-202/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Snapshot version 1.12 release 1-3. Update version to 1.12.1-4. * First cut of the H5 public API documentation. (#80) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Full set of current H5F documentation. (#105) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Migrated documentation for SWMR functions. * Catching up on MDC functions. * Integrated the H5F MDC function documentation. * Added MDC and parallel H5F functions. * Slightly updated main page. * Added doxygen/dox/H5AC_cache_config_t.dox to MANIFEST. * Doxygen - added (mostly) beginner functions (#112) * Doxygen - added (mostly) beginner functions * Removed duplicate H5Pset_szip function * Add src/H5module.h to MANIFEST. * close #195. (#196) * Update HDF5PluginMacros.cmake * Update HDF5PluginMacros.cmake * Avoid aligned access for references by decoding into temporary buffer and then copying the result into the actual buffer. Update test to be more thorough with using compound datatype fields everywhere. (#206) * Modify temporary rpath for testing in java example scripts. (#230) * Fix undefined left shifting of negative numbers (#338) Undefined Bahavior Sanitizer errored here about left shifting negative numbers. * Fixes various warnings noticed on Windows (#425) * Fixes various warnings noticed on Windows - Adds a prototype for our implementation of vasprintf - Return type of H5_get_utf16_str() is now non-const - Fixes possible uninitialized return type in Wremove_utf8 - Better isolation of fork() code in accum.c:test_swmr_write_big() - Better isolation of non-zlib code in dsets.c:test_filter_delete() - Removed unused variable in trefer.c:test_reference_cmpnd_obj() * Fixes clang-format issues * Fixed clang-tidy readability-misleading-indentation warnings (#427) * Fixed clang-tidy readability-misleading-indentation warnings * Reformatted src/H5Zscaleoffset.c with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Fixed clang-tidy readability-redundant-control-flow warnings (#428) * Fixed clang-tidy readability-redundant-control-flow warnings Just removed useless trailing return statements. * Removed blank lines from h5diffgentest.c with clang-format v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Removed bad function pointer casts (#434) * Removed bad function pointer casts In one case fixed the actual function signature to be correct. * Reformat source with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * fix block coordinate printing example (#437) Co-authored-by: Gerd Heber <gheber@hdfgroup.org> Co-authored-by: bljhdf <58825073+bljhdf@users.noreply.github.com> Co-authored-by: H. Joe Lee <hyoklee@hdfgroup.org> Co-authored-by: Quincey Koziol <quincey@koziol.cc> Co-authored-by: Sean McBride <sean@rogue-research.com> Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com> Co-authored-by: Mike Smith <grimbough@gmail.com>
* 1 12 Merges from develop (#421)Allen Byrne2021-03-045-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * OESS-98 fix tools test for plugins * sync fork * Merge of changes from dev * Move problem option to bottom of the list until fixed * HDFFV-11106 - fix parsing optional args * HDFFV-11106 add note * grammer fix * Whitespace after clang formatting * Undo format version 11 changes * Update check to working version * Merge workflow and minor changes from develop * Update supported platforms * PR#3 merge from develop * Merge gcc 10 diagnostics option from develop * Merge #318 OSX changes from develop * Merge serval small changes from dev * fix typo * Minor non-space formatting changes * GH #386 copyright corrections for java folder * revert because logic requires false return * Merges from develop #358 patches from vtk #361 fix header guard spelling * Remove case statement for H5I_EVENTSET * Correct call with versioning * Remove tabs * Double underscore change * Merges from develop #340 clang -Wformat-security warnings #360 Fixed uninitialized warnings Remove more underscores from header guards
* 1 12 merges from develop (#412)Allen Byrne2021-03-034-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * OESS-98 fix tools test for plugins * sync fork * Merge of changes from dev * Move problem option to bottom of the list until fixed * HDFFV-11106 - fix parsing optional args * HDFFV-11106 add note * grammer fix * Whitespace after clang formatting * Undo format version 11 changes * Update check to working version * Merge workflow and minor changes from develop * Update supported platforms * PR#3 merge from develop * Merge gcc 10 diagnostics option from develop * Merge #318 OSX changes from develop * Merge serval small changes from dev * fix typo * Minor non-space formatting changes * GH #386 copyright corrections for java folder * revert because logic requires false return * Merges from develop #358 patches from vtk #361 fix header guard spelling * Remove case statement for H5I_EVENTSET * Correct call with versioning * Remove tabs * Double underscore change
* 1 12 merge java copyright header changes (#391)Allen Byrne2021-03-011-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * OESS-98 fix tools test for plugins * sync fork * Merge of changes from dev * Move problem option to bottom of the list until fixed * HDFFV-11106 - fix parsing optional args * HDFFV-11106 add note * grammer fix * Whitespace after clang formatting * Undo format version 11 changes * Update check to working version * Merge workflow and minor changes from develop * Update supported platforms * PR#3 merge from develop * Merge gcc 10 diagnostics option from develop * Merge #318 OSX changes from develop * Merge serval small changes from dev * fix typo * Minor non-space formatting changes * GH #386 copyright corrections for java folder * revert because logic requires false return
* Merge "Fix undefined left shifting of negative numbers" (#338) to hdf5_1_12 ↵Larry Knox2021-02-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#369) * Snapshot version 1.12 release 1-3. Update version to 1.12.1-4. * First cut of the H5 public API documentation. (#80) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Full set of current H5F documentation. (#105) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Migrated documentation for SWMR functions. * Catching up on MDC functions. * Integrated the H5F MDC function documentation. * Added MDC and parallel H5F functions. * Slightly updated main page. * Added doxygen/dox/H5AC_cache_config_t.dox to MANIFEST. * Doxygen - added (mostly) beginner functions (#112) * Doxygen - added (mostly) beginner functions * Removed duplicate H5Pset_szip function * Add src/H5module.h to MANIFEST. * close #195. (#196) * Update HDF5PluginMacros.cmake * Update HDF5PluginMacros.cmake * Avoid aligned access for references by decoding into temporary buffer and then copying the result into the actual buffer. Update test to be more thorough with using compound datatype fields everywhere. (#206) * Modify temporary rpath for testing in java example scripts. (#230) * Fix undefined left shifting of negative numbers (#338) Undefined Bahavior Sanitizer errored here about left shifting negative numbers. Co-authored-by: Gerd Heber <gheber@hdfgroup.org> Co-authored-by: bljhdf <58825073+bljhdf@users.noreply.github.com> Co-authored-by: H. Joe Lee <hyoklee@hdfgroup.org> Co-authored-by: Quincey Koziol <quincey@koziol.cc> Co-authored-by: Sean McBride <sean@rogue-research.com>
* Update URL in source file Copyright headers for web copy of COPYINGLarry Knox2021-02-20203-203/+203
| | | | file - src and test directories.
* Port PR 291 to 1.12 branch: Allow using virtual datasets in files opened ↵Neil Fortner2021-02-081-2571/+2665
| | | | | | | | | | | | with H5F_CLOSE_SEMI and H5F_CLOSE_STRONG (#322) * Modify VDS code to always open source files with H5F_CLOSE_WEAK close (#291) degree. Add test cases to VDS test for this, and reduce the amount of output from that test. * Run formatter on H5Dvirtual.c * Run formatter on test/vds.c
* Test script 112 (#301)Allen Byrne2021-02-035-10/+28
| | | | | | | | | | | | | | | | | | | | | | | | | * OESS-98 fix tools test for plugins * sync fork * Merge of changes from dev * Move problem option to bottom of the list until fixed * HDFFV-11106 - fix parsing optional args * HDFFV-11106 add note * grammer fix * Whitespace after clang formatting * Undo format version 11 changes * Update check to working version * Merge workflow and minor changes from develop * test testing script merge from develop
* 1 12 Whitespace changes after clang-format run (#288)Allen Byrne2021-01-2939-164/+180
| | | | | | | | | | | | | | | | | | | | | * OESS-98 fix tools test for plugins * sync fork * Merge of changes from dev * Move problem option to bottom of the list until fixed * HDFFV-11106 - fix parsing optional args * HDFFV-11106 add note * grammer fix * Whitespace after clang formatting * Undo format version 11 changes * Update check to working version
* Hdf5 1 12 - Fix unaligned access to reference buffer during datatype ↵Larry Knox2020-12-271-35/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | conversion on 64-bit Solaris (#231) * Snapshot version 1.12 release 1-3. Update version to 1.12.1-4. * First cut of the H5 public API documentation. (#80) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Full set of current H5F documentation. (#105) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Migrated documentation for SWMR functions. * Catching up on MDC functions. * Integrated the H5F MDC function documentation. * Added MDC and parallel H5F functions. * Slightly updated main page. * Added doxygen/dox/H5AC_cache_config_t.dox to MANIFEST. * Doxygen - added (mostly) beginner functions (#112) * Doxygen - added (mostly) beginner functions * Removed duplicate H5Pset_szip function * Add src/H5module.h to MANIFEST. * close #195. (#196) * Update HDF5PluginMacros.cmake * Update HDF5PluginMacros.cmake * Avoid aligned access for references by decoding into temporary buffer and then copying the result into the actual buffer. Update test to be more thorough with using compound datatype fields everywhere. (#206) Co-authored-by: Gerd Heber <gheber@hdfgroup.org> Co-authored-by: bljhdf <58825073+bljhdf@users.noreply.github.com> Co-authored-by: H. Joe Lee <hyoklee@hdfgroup.org> Co-authored-by: Quincey Koziol <quincey@koziol.cc>
* Merge VOL framework versioning to 1.12 (#154)Quincey Koziol2020-12-103-3/+21
| | | | | * Enforce VOL framework version compatibility when registering connectors. Also add a version for the connector itself, some refactoring on the register calls, and move the logic for matching / rejecting a VOL connector class from the plugin module to the VOL module. (#151) * Revise VOL framework version compatibility for the 1.12 release branch
* Basic alignment with async branch (#115) (#137)Quincey Koziol2020-11-3039-164/+160
| | | | | | | * Basic alignment with async branch - trivial changes to reduce clutter in overall diff. * Update minor error code to reflect change within library * Update the error output to match library
* Manual sync with develop (#95)Dana Robinson2020-11-1774-759/+2382
| | | | Brings all features from develop. Note that RELEASE.txt has not been updated (will be done in a future PR).
* Correct TARGET variable and CMake config file locationAllen Byrne2020-11-121-2/+2
|
* OESS-98 add CMake option to build plugins project within hdf5Allen Byrne2020-10-162-20/+20
|
* Enable splitter testAllen Byrne2020-10-111-1/+1
|
* Merge changes from developAllen Byrne2020-10-0825-346/+442
| | | | | Comments and whitespace Skip file-locking and cache changes
* Merge from developAllen Byrne2020-10-071-1/+1
| | | | | | github workflow files parser files bin scripts doc corrections
* Cleanup comments in tests, align comments better, update vfd testAllen Byrne2020-10-0564-379/+342
|
* Source formattedAllen Byrne2020-10-01183-114268/+125447
|
* warning format fixes and define name from developAllen Byrne2020-09-302-11/+2
|
* Add clang-format changes from develop.Allen Byrne2020-09-2811-1545/+1778
|
* Remove redundant calls to set the metadata cache tagQuincey Koziol2020-08-271-0/+8
|
* Switch H5VM inline routines back to single underscope and put a comment in ↵Quincey Koziol2020-08-223-13/+13
| | | | their header about this naming
* Clean up private / package / static namespace issues (function naming, whichQuincey Koziol2020-08-2216-322/+57
| | | | | | header file, FUNC_ENTER / LEAVE, etc). Removed remaining personal email addresses from library source code (still needs cleaned from other directories). Misc. warning, style, and whitespace cleanup.
* Windows thread-safe fixes from developDana Robinson2020-08-142-15/+16
|
* Sync with developDana Robinson2020-08-0151-1384/+7366
|
* Merge pull request #2693 in HDFFV/hdf5 from ↵Vailin Choi2020-07-215-1/+181
| | | | | | | | ~VCHOI/my_third_fork:bugfix/HDFFV-11080-heap-use-after-free-by-the-call to develop * commit '3023b34272cc6ada84aebfa7441a6a55afa3621c': Update MANIFEST. Add new test to Cmake. Fix for jira issue HDFFV-11080: (1) Patch up the file pointer when reading attribute of variable length datatype (2) Test to verify the fix when doing multiple threads
* Squashed commit of the following:Larry Knox2020-06-211-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 45b0cbc71929930a874e1c09e0770aa64d0ae697 Author: Larry Knox <lrknox@hdfgroup.org> Date: Thu Apr 23 13:14:56 2020 -0500 Add C++ warnings treated as error for autotools builds. commit 6debcddcc766601799d5bd661bd60946f951a07e Author: Larry Knox <lrknox@hdfgroup.org> Date: Fri Jun 19 16:50:03 2020 -0500 Remove tests for develop branch from testh5cc.sh.in. Add @H5_ECXXFLAGS@ to AM_CXXFLAGS. commit fed497e7f207313b2a133d3b68c942b7d7104b90 Author: Larry Knox <lrknox@hdfgroup.org> Date: Fri Jun 12 15:06:39 2020 -0500 Merge pull request #2646 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop * commit '998c6470d78e14228695419c3b514c35ecf3d69e': Remove unnecessary version conditions for Clang compilers. commit 92e52ce5c211bd1d3991a3b8bb67287ac7b652aa Author: Larry Knox <lrknox@hdfgroup.org> Date: Wed Jun 10 18:53:45 2020 -0500 Merge pull request #2639 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop * commit 'a33667faf226f5d8c9633bf537893e8fce1bf1f6': Add c++ to --enable-sanitize-checks option. commit 2e802534fb997b81fa98fdd1c7d97d4310898e0d Author: Larry Knox <lrknox@hdfgroup.org> Date: Wed Jun 10 15:18:36 2020 -0500 Merge pull request #2633 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop * commit '20eab963899841c9a003baebead8e3bc07d9e127': Remove duplicate entries in MANIFEST. Make changes to CMake CompilerFlags.cmake files so extra flags are loaded for non-GNU compilers. Update new clang files to not pick up clang as vendor for pgCC. Add new files to MANIFEST Temporary demotion of 2 -Werror warning flags that fail on macos 10.12 Remove Production flag unknown to Apple clang. commit 96ef60a58a23847a7da89a891f2415055ec2ab60 Author: Larry Knox <lrknox@hdfgroup.org> Date: Mon Jun 8 16:24:49 2020 -0500 Merge pull request #2631 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop * commit 'b942a4d8a3e27317cac50ce37ff5302d477664d8': Clean up code to get clang version in config/linux-gnulibc1 commit 8a7c687da568e8b50b38fa53da1ca63759be6ec4 Author: Larry Knox <lrknox@hdfgroup.org> Date: Mon Jun 8 11:42:37 2020 -0500 Merge pull request #2623 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop * commit 'c7626f79fdee4eee13925e240ef41e61f3367eab': Add flags from config/clang-warnings/*general files to H5 C and CXX flags for all versions of Clang and Clang++ compilers. Switched from cut to awk in testcheck_version.sh.in to avoid dependence on tab vs. " " in version definitions in H5public.h. Add files for adding warning flags for clang compilers in autotools configure. commit db3ef7ff3c1ed79167cecef831501411cff8291f Merge: 5a0f8d7 f9f1310 Author: Larry Knox <lrknox@hdfgroup.org> Date: Fri Jun 19 14:46:22 2020 -0500 Merge branch 'hdf5_1_12' of https://bitbucket.hdfgroup.org/scm/~lrknox/hdf5_lrk into hdf5_1_12 commit 5a0f8d7940ae57b445f545a0abd7e303ce6924ee Author: Larry Knox <lrknox@hdfgroup.org> Date: Wed Jun 10 20:15:41 2020 -0500 Merge pull request #2636 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:HDFFV-11000-update-testh5cc.sh.in-for-version to develop * commit '5c0bd670d6e9919c463fbc05de99e2ba55b0761e': Add tests for all version to H5_NO_DEPRECATED_SYMBOLS section and to section for current version, with and without default API version flags. HDFFV-11000: update-testh5cc.sh.in to test sample versioned functions in HDF5 1.10, 1.12 and develop.
* Detect when there's the same-shaped selection of a single block of elements onQuincey Koziol2020-06-071-7/+7
| | | | | | both selections, but with different selection types (i.e. one selection defined as an 'all' type and the other as a hyperslab or point type), without falling into the generic selection iteration case.
* Whitespace updatesAllen Byrne2020-05-1366-547/+547
|
* Complete the comment on thread_main(), explaining why the barrier is used.David Young2020-05-111-1/+9
|
* The first implementation seemed to allow for the possibility that a threadDavid Young2020-05-111-1/+8
| | | | | | | | | could block at the barrier, wake and exit the barrier, re-acquire the barrier lock and increase `nentered` before the other blocked threads woke and checked `nentered % count == 0`. Then the other blocked threads would check `nentered % count == 0` and, finding it false, go back to sleep in the barrier. This new implementation waits for a looser condition to obtain so that threads don't go back to sleep in the barrier.
* Test the right condition for the EBUSY return in pthread_barrier_destroy().David Young2020-05-111-1/+1
|
* s/exit_failure/EXIT_FAILURE/gDavid Young2020-05-111-2/+2
|
* Implement pthread_barrier(3) for Darwin using a counter, condition variable,David Young2020-05-111-0/+123
| | | | and mutex. Untested.
5HEVL>~Js+V}gb/ XDI!?3Nl0NNP 81Ĕ^)W7,2 \|(6XV V3No"]d#t/HgΧcU1u46iRtOs~ncߺ[!& ~032|yrUjGc咲r&BϩQ_wʦqP*26 :Z2M2`X)Du.B"3JH>g~)A&#e&Hgd} Ys\[T ds6yZS&!d 2?;vu_dZ@kNpρ29a)ues)X ^ڬMMND%I+]}XT7ÅSNg%W7q؛zCV kem 9X^RGb$`a}5/OFE14üg3:-A]xe'] +g,9I Ipu *f_ }}IX8c)xݏ bCz6-n^-lkL +lt-hRsGXumqCqU*PبC:ҷrS/X6zɩ9H6 r>;+@iDpڄЫ \M8Ujrx*CSqM[vrKf81LmKtX=W,x~6pX @@ WV,Alx~Ơ=i%G7 8t[u1"IN&Dt͏[L6ew>u]["oٳlm~&VaF(޸I&/B|$ih`:ps>.7曜s7aǦ 1h&?qdz]/`ܾ1sJn$mA V0qTAw`5v81ETUVL#@4w(9+iRϢv㈺g( W,IК|n=*2 =F}w*uVنO;p;"I0atF׾p7Гdp_-})"=#K]sQ1 wdFRnɞWnD PS\)1;XFa]uȵ4P!&,&!TO F%`ΆgٓXRA榃N|W̚ȥLO]}t]1reoBKyC-fQƢ/<ڋ6E:c훧cވhB^/_s6S܈d#54KcH:~X4f_NUޯ1 r~h1 c %8r%kjuvu~ u /XPk*6(zO\2bDUpj@*ݝ>l!9'>CTicbɴE4KIU5-ݭ91b[]XP0Я`ҿ!.eTVBLLnH0STXŌb(!U5oތq7cmk2Ԩ];}qq9(\6.T9~RF-rM|pdg&\޳ E MMw]ăuvťZ9t"M:Nj#g'_S40} ov'9seb4aDՓUeNM \>s:`kg=N7?SK6ZjEbk-=3~0,ʮXRULƭ–pX}t7ٳ#x6t2f6ݨH өh ja/`FoG;q,7# xbXâ~) R_wyc0> 3SqaUU%# ¥x՞XWh Wm,g:;/ljb¡l+`" `4`/$5h`YsS)|%^Vp#do6&uOGU9W~ {o/iۮGcҫȂvFU&\ie-?]oMQ̍7wYA8m.T+%?3VZv]@sЩgLOC?3E} JjMPFVu6uq#R)(`™52tqѷ%SRϱ873| Hel~^C?E{ɆEKiˆh&x6=ttzjڤGI~R:?ydm;.&D䣅T8aO?IkVOJ\jΩSNf&dz!SwM:!R+3rRpG'ʦ`@EUT pղH&ܧX8]_6EŃYi톊'Kݗr,.ps 4%+1J|TͽqYc6a:|dkM܌'JU2F5K:1-MɋiZc-v5_zQ}-exG8SseBoB81\^V&Esut dnKΕ$6q i؎{0(y&~B uˈ^xUTVc7ʵBU|K8_$VRb3U=m'1觵Wi%2쩶 KC0fTm?qq7 ܨc7,:cqJ27WLw\= d@}+7ʭ{@ܰiGkF?OvHWodJ~Z3d2v%+H Yv7 2pƞ#ͭ3їMѰ_; ވϤEjRJe~BpВH÷񒾊\LN>w)4Sb'&F4VPEe3AmNTI0ʆC\8H[ ^`߆7UG4 3x@n r 꼧 (X~[0w( Dv-X=FCܦŶ4A tRmI|o$B qr̦1'ҥy`dٷMcփ;G;dY|S6t|>CN5Ypy-,Ijt4 5 eEu6DZx:T_&^Y4an ?, ɒʃop':,vo@˦]=-VGc:&킭;fsե e1̏$7t98n8F 4F;EIwh莂a'VKRuU@2p.@'6R90 YvbGF=w " }6T䭅q}0U6eOPf UT[&tt}?BKk֐CRZG6$5"DMi{ՖX4M& ,Նhb[`qP鱗뿔ϷR\ۓ|˰z 38F RB^!L*WhB~DOE Y/͈SA" tW6{S~6rd6'N'v|} Uɼl`L+V+ykȥN:ɾ$?!(B&݇i`gk1W 6[-F݁`4C(SӐC<`ϜݩԎH<ȼl( #-BCbp2;E9|LY5bXn#XZd^XC|wͰ||?C>y{8dCƽ4U5ƨLPlJqZlj͘l:qo?C:wg|VKjM7w$h^b5.t,9`ϕGHl.XM\vne"[߸ lۓ6rT]BLhz>`2oܳx[Fɍnxyz>~ZGn6$/I0( 5f)XWw"9 OwǪZcY-Sa \>5f[ĊjdY&2P?U$UOW6[qZrځV;[o(yd̃?#pGW3q0ҿյ41xKijkL-# *i*-oŇ Xnŭ>.JԄىk"v@jLalU61YۖIl]WR|,&tCbR|!7Y`}yzeԊVnSh`R%EwTU"ă]f@֜8^ך^zJgo:6ZeQ;]Qyv)Xf[zSI?>O]`í#j l3ޔIZ >8f)nTTծ_r$z}؍9 j؂iUKwjkO! /&xo!R>7Zc'k07pCk @1wgQ&xV* Mu (f֙(MDH j)"TȵO?ZG d^$RqaL;y?҄XPC{[b/X%KZ[w̼[!p]Rof%zWL_\8/(GF}2mnR/ G#_fr_YSU0*ɞ?"Dpۜ}=RJh3ieL3,`Rk{iRg3r, 4ÞV>أ68yڜHnSN!-fg֩oB҆&]XG,[OڇESXd/^˕Xu`'oԩ!$)Zil{&JE0h,.# "yE\S4vžȕ'Mkc]+R׋4^C )I74of*lyߣh&%X-bOT5S9X: B^y(;#pAsIujп>枮F  LC/CRY =0~]ݖvOLoN̂S&H!+LQȥ9^8x@tܵmiX 4#6`2ݦ dUjܩ!{b@H C!km&PB7SWFSd*T[-SV\ipܕz#o'x T& \ S :w2l7$%Yz~w#JnߡI' UzvxJޢ?z`ό/G3R7{ɹiLDҜ/m#rUO/Je{[nlj:uCmbR6O%skՁ\j~Yt6h} z1oû)q~6 ~vow)Tx &hC{Ɔwa6(؍4"-`ft )Mhػk6j>Mte4#Lq<`rqQ҃7oNKyϙTKMf$by7%6  dZjJViQ%K}UL:֦0uƾW>?d{oPS]6qe*W $ٟ7}MmXI;mx R[ժ+TH[Ba,-܋NT/%YjttXKka@ Y=[ 9!Ջ16ĕrɃDq Rǭ%F4xd[=[r7?(6ǭF-&)Dxv9OisEuq| X.jOc۵4^bDcKlãdݱوJ%ңȹ-=+? ƛԓ}6[oC;!rԈ҃Lg} Ol'دmɔV .Bù!"תTiF;=)ݻ[N%@f6Y#t 2 ,KҖ\ L( Qi ^tƕ %gJUɍ;w?jS8B&jsy?%HŻ8)J"&RB5 I ~إt䝣=|W".kg1JpdAS`l<d(Z;Kb%;ΰ+m@n`PmaCw r O֙>G:H` j8{ dk5_蚷 a B};}Rg  bPM; fMAQqjFcx\\xIHEy.~2 93s+S{:8IkQ=`>ru_S?)KVmpgi5ҥɔ!XwN>ްhޟ ֕'$L&jFS̎S*b)ȸRA秙VTGn!5,)^թf9(s;чCU-s(< ڗRmWMuss?HI*,]KǷʋ5B4&®4*@,Jma "5ρ*+5f%`LSna ,N= Ln E*_wͭX^1o(Ch2n8"PNޅGa:` ?z,8#;gHJ8Irص5WL vߍ0/2\)l2f m\KtPU9t'ajhs,/U=&5RwVYC\zr~VқNyX$`q\J^ڋ3eM(l&-MyG7nʴV=yZsŬ+uUsm [<|-q_n.V&?_&v#B]B>`}Jg*y/y݊.~]ߐ152$a^[kk`oWfTP-QR{Wڽǖ:iINϹ+~r>X0/%|L6(_)@l0SUt}6Qذ6~ 7]}~vN]yҲ[oϏF|txN6&1Lt?4i@肑`Ŕe,2citf(يK1*w b8]r;gNf#ϟji<9 WFj߹$#t(8!Vdt^.8K5(5d0qM)&NZ0^PtXƁͺ \w=w2u\Q\y?w"Laj |S:vA?}2&A%avH lR9}Z?Vd"72'T^9=΀f`6@d8QmfefixV-38}rԧ.T]m.x\ ז͸PUM~:E&n$ׂNd[+xT[EwuGdcq!w.bZ/>( jhAпB@M qsU8')N +dR8LwML.N&~^OE5.c6}Z RЯB)yaQrL ؞'ke+4,¾Be^{ |:,Ҍ>N]3FZ%((t"9>/ {ލSO6?r/4@q`37*/lA¿ƒxC^N)|R;QM𲚛 M+J+S7-?B7N|m͋bvI1Y6,zu|4Eǫn;so#R#bJ ||•_Ϛ4h`_pmo O@ڪ؅cEuBHIy E6 !ܧd!C`'H@#AâwR+֙^Hk H]P0x116gc^ WY w܆P & . +ys}GWBVw'p܅qQ$RBWG4 [*4P|b?{I~NTG5NPJH-Qv9!؏8E!=@@_ G#Xa[ 1b(k܀Qy;w»њ~S3Y'CQsՙ\E4]ek[" o2&yzZgՌ$;4{NtpFS=0xU,I 99, xkaXM)35#y&Ahvp3q3_DI\ '~C>JoRvbB+r 1}L8#{VR+557Ե^niJyp/nq?; ƢiH7!2dKd{qg l>{G֕D\;;+A__;k w;YLcל= m%m7y[{w~gȤyIy.)2$>ܝo]?ȟ:uc9٤SϛlG`[?غcj#Wo}?=u׮T厩l};NM~ˎ[ߝ=u[NUn䭳VNݲé.;Hݑ e`EgwRn۝NsAT$^Eٍ A O^!i@( Rո33dft II+***oZK[\E!<'=erNsLH$P{{MkY{_{KmkУt ̀akfzȪdM|gh+EaG#{ɁF@ f`05G Z> 5hrXcs7Ƣ^#lfa4c!q06ʑEc6[A|UMH5|4i PGc.3QdV+L L= ׯ&w0#֘e70FAOj1{*5aVLn0Z]rQVS-\T{sͬYZVe-[^*/jgk »7,Uk:vV3ἚjxVjY5 h3ڼ5m}- /jՋŸ3k/f/^gCE5UU..^@,]P`"z~<i7ZyhaƪڅK̙[ͭ7DpTΜW͆[TWY3?GU9rN5W ,f%sX ]dj/90E%5u9Z墚:DE0"ިnբD{uZ3rV;gd5,owbV(zD/դ0|NY4LϰM$s2_R24ENR?j[DO0]#f3 $AAq=p9"vhFYE6VfuO|zT'1fd0Y "A=:#Y Jfd܌,*?,WT"PpffzFũ 5 kde.e΃(-J~§|TZ\2#nag̀O͐Q/uo 61jTf=5Fy۵P" iJRՔ #6;A(?yެ*8&e0hW:S. T`rc"t1ha0uΉޒi;wڙ&Fp9 3 a )-Pr[Mo3w8b)?zf@nT3[T@R]L6a`@!ZH B,kv2Pb`*.2IKh&PM[%iyzt j ;ै5Ķh(P hr{v,YGL#J֊6{|Чӭ j635Vgt6!D7Qvзq@ś4:ıbt CkF$ER@'#`,eo`CA!XȒa`8`3Ζ6Y5`K6m6-xk6 bܨ%8@pΟU2BmH;vG(>4<}EXdHǖ|ؼA:t`gJn`F3خHka9;81` 8ļdǹ3DqȠC٘,Rf2R /dK@>zfoHS']4Gr~%d'@L4a M8[/dD77r#+f6ؾ"%>&5A]7y$/D;1:s,. v9̊btUzfxc!e `i:DzىDF+4YQn9ynî#`|eh"%#oN9+Z@@ 71uirDx Fѱ&v U0/9$ CiuH "?S#!$2ugpJKj >!ɋIrX8R⼐Mr䱅Kв E/XN`]$_lm ԒecU;Xi0;h/o"'f2)țuҌ@kDS"JX13*x-yN~/2эK#cQ lnd2-i\P|1/Ĺ/Ie P+ 1ڀ'D %l i]7y#b*KLk$7jl6B9\N2nzrUjD7C6$_PFH%{E%P:H^ '$ +^D+o 񗗛IQX,)M"ڜdFF#:2s%d@$ ҍbv`KK"z8,TFQ0k6X@ &N4͗t07+W6-([ 4ZP N9J>/B²E@h^ rCc8q%*;!2#VBKl`,FYVhMqmM2 Fx=(Sf[x+0DQdc;L2+'L֏WdN6TvE%<5 ]ʢRڡ22i$~7SF/]ke|sgMM_zFTФ#\;}ڮe%!.ܾBdIdYV,e'a^I4NF`C9rPq@#3;kXlLj@v:Y 8J:)Lr1pѤlݶA#/$n>NW8\iJСv6&tT*6T>`HaO GܝZ) 6[OP%֚tRyh"d::YzayI$H0e8ΡZ'&ci` FȢэEF_o:; 53as0>y%oNBQLXKy& p20Dl'AJqjg/Y_tC%s2 X`ڙ.%i Rtmdd0l|iv,I&;lM,lCV!#<_B[St%)R-Fdt@S .cMMf`"Qr`*ӷ=~>ί.j%L-8vZ~;2-:~K 8Ƃ=:<42]sМfˮfC38焓0:ý̀$l+m.p0l ;~cʼne)hc9%]Z(iM JL7?I~,WR6)>~ :<- t՘_-ABHkFDUպ//ڨ MyR&o1i"  -OjBf'Yp#0) !(T6!vS^K.inވP a N[2s'lRfMFD(H#RYdbNVM]'_ttIl f*36ibd J ݇`m s#B}s 8ee`MM(lKK3M[g %h'3PQ7W,w 68- 6mD:ư TcW1ω@FQe?M %.Gr4m}@oJ PIN wbAi1u0(h=9zcnײ6&u#xܤoC͌8 y( 9iD1s}:RKs*I&/GpW1`DY6kiH`jg%66/m!#Vxf=bOJ )bp͖&cd.d`QBܫtp[:p,*"DL`:f цYIFc7smL{}2V"ŽgLז&C-lDt3!+%%kؓ@aTTt[V rRwCf69۽? dWb3@ D_O*OAb\VLyp5LN`Ĺ З6vN7 >1Oj9utBD1RRóղUdu4Y wu9tɷ)Y?.8r׀6PԛpHА#wdh6SR؂B7N4Tx(>&d+Be +Nk70WҔP0qw:9O? 734y69pr8ZֵUUZ][_hNuvm]EUuYCz g]iUaTzX̀L2u >.~оcuycƍFrSJb̓-!NIYCڑ Rpj&.`AIN`hxr5h8Iä={ ^K*`GN0DS@3w=bjhlՅ# D/F#]+-1C#>Q%͖[=05"4 G&A`*~/۰ q:[)x M{+46_~8M8bȻPOap2X-R5cI06`#y&@(sEZ$S$Qa r><GPEڔ&3#'RAPf.Xvvcb)䞃褝Z;Qo]ƒ6r6H WMÏ 5Eݔ$znnXx-5EEd]Olkw+&'g9:;]U"Es([R=7 'b`ttq Φnc $] \ں,g (-\ MuѸP7\i/ahw+{LM1jy!Fi p_׵*g4 fٳG~ 'g좒q0S8s&\;F9CA* :$E>pUA /C6H9)|BWESbNq! ko;vg+LBMu^-5UJ 1 ^oΘUU.X >s%#Ed/dU(#-)ցOQ $w 4Kl_ܪ d$t<މCmt-Lk xpe`'ar\> 7&mC; eΡ> ,32=%CN|-h`ii8W]2ReeB&#>uJMN uHF+ѱݪG|@l>tJ@3 89]QKv"a+:K6E )8ɑa;^ׅ Pm JPuӦC F=y`#(|&BkYyyyYnAE kT64&GՑʐZCx[գ,4Jq8&?ր%|9\kI}& ׂ3i JFHOm1/ bq ;"sRa͜Y֤`RX+,./"}M S+&!H Eb< lɲ&Upv%ݐ';GV&t3myTNw(%l$ !Ec푈pv |W{Xf:[,Om' FQ:#AHĊ`ǐ82=&\/jʇ4; .d9@A+F1*J;\ɹ1y.@4mXRf=y&a{jHpXI[Ie+`C9&*|MdB0IcrI~'dQr0>J@IBJf4ڄmvҗj@,rё&wѡTJ/*ZN0s7Q64e4)evͼjN_{hl]4Wc5bqlM+B^N,@+fe`!ې'ӕʂ59a]<\ d z( j,8FB9!6KC-Iyh+ḊT*yh#t`ё 7xR\hD,OhNx8̽Ϥ{S,3^PPP8){Aɗ߿Ww~SwBֈJJE=Rv%" ŸnJs&3ugARFR.zЊr%UuVderXTN as`H,OԑxyLa p҆J*ըl.57A(3X1+=ٖ{nk`'$|ghŬ@|z6 8lXb]ԿVXԏ1vG'Q3~XI@{IP8ALiLJ߲|.0Kr4[X!^ &|sTgoBv m'p3%+%E͗aB̚Z0.G4,|9/5T?uo:^lu3WFܧ֕f :2P{u . C%H`dVNjHUjrT³96"1(-ΪK*oȑ9o7{9˙ 2aQ2󁚉IGkW>A>>5=Ro| WY80KF\I 36h5ZA2>{W]s,mQ,(>CV5#>}HITY:kԁj;TTXp3r?t\PQq*;/6G }s2 *3xn7duUD^5ibhl|,l9l*WpQ,ĞRPϊGP9RlѨh> Ǖ%ݖ1rQhR c:%{hC|2]F)auaX:(8$]3ڞ/@wfv|Vb&E×UgqaO gcu Tï^L\L|1͔3B&3GMuJyTx4w-:թ#A<>`CFaF, ^+5 '$.Uԑq_V;fIGNş3@'MzwQ/GqɚIn73 y8C13HJ3_]]ܴf4Ɗ )r9oflPj7V`09K-[&.!#!d:Tߨ('>2DU㤨zCMw0[Hj ۅbx˷ ZдY9!oTp %eH>g>+rd"ʸ^ɞF3uL^ Atcpab)O 7< ziG„X(騷6XeЛ:Hx4$٘' @- СM /q;1̈♝H79שPy/U-\̎ЙxI\`?jOF$!/u:;fr ~gL#&XcU&.AOs4W#˻ɝn"߬?v-p_/w˳'k4B|,X.eY R}(ME<HTu^~OfֳyGA|Wy»!I'ȡ)uPG.jR06X³LpL>aEƥc{)thVk(CVeqAu0^ IUD dn-/YFʱv3oWThY_P ^A bveH511T#T7(+9/ §e1A$mM9ZY GȳlQFf}2 &~K,1!(ц̅)'ز:阔ɂyɔ~ UW F&n0|*9N$ ;ųu[ ̡cWpuֹr>T6|<[IF* [Q%N K( |qa 6/屲?zRDTgDF@O}wc#yAR6 R"]E2a Xq.tZI2սh{'is48Е!89 (UqEzG(iOv*hggcx(#Y9/-TFBSqؙǾY(E]1DB+Y1x^"tQO}|#@(:GW\GX:кymrplC<>3ȕ4F_/1f;e55HthCj0Gh:M]aT͏m0)PY1(c:Ƃ6dGq=st(6Dԩg!2 j lDγѢcj"vKu!A\s($W宒D`"WǼ\1ԓ|YigJ(bu^HVR #gq{}+@ꢡlu[\bEnI'łwK,˦\O2֖eAI\s0aWN њOLVYupp ?`509mv xr&3x.xchtU=J^Ae NZؠtW 4ոm1~n#xBQ|@)!?H+`w0Q<4 ?;I%fDO>xޚLzFt5t svQ,鹿{3\Ja|^eA.bNzPܑBqj/7r%0RlK <; +Ix ZHR><ʽ8d~M=1/`A"U>Iɒ` <c $_0ȃNED6Ey]!_ ~lfL⫅6EP71ҍMӪf,LgE}n Wdƀ׳:و/?g!a{1N)XOr_u__X[¼IZº!QLc\hu-I:+2Myx& *[,PFiu1rhZ6`ZaI%Kl%@֫a1<}hXnZv]rxořhZSiM& J¢Rjɋ8iyd: lt ,! > !h T`mZm$aN$˱_К7&+p+]hW0tEvW(|%vW*ڝv7%>ҵܮtjz<,Ȕ iEJIH5DoX"t7,IzHz0LNz0¨# ie|oX< .,LzY%=Ȭ ieJIPKXH+SJSX2TCZԤhP 'X"k8E5dt LR L5,p4,d2`~dr##dbu|` h#Gk>"3wހi7`5UFnQI^VT\7C6^~Qcu3o;'`4i+ ΧA6n³ M`7Q&w7&R,XXQ, M[E,,f,!}_c0XzߠP;z\o;D3Q=V$KBW\]/xT1),XvPceDZ2ɔryAތ2f~Gb$t @;Ug5#W4~9>gj>ghCX;L2] dZXOC 2KN.тgGZv=hie VTcl{>B3 Lqd}>=KS0 Ʌsf6p)TL[T-T/|kE).-Fi}vixjz#i HL*L ӬahRzL/#J y( (gNrAaz t# p`qq8@.4uj:jO,$R )%D4cox6ǔ< b]I=gЕ:b{κ+Fex( t9뮠Ԡ#ǡ+.Q/{>twi줭Oƽf,6})ڳpaaOr8`mH@bXx'' qόUj0δTʹp)z3U3e/ k{LK LKy2NDS4e \(;ghf^:I8WcLK L3xi$5S?E">#Aϱ{=g>RÙ;fL'\l3uaua]|F`ϋSg-eLϔ0SqR|3 q_U%aB|"ѽ1 gl$xq{8 na#NL3@vK[AyH*K*`-a58nĻ?F?I5I%SM.2\3fg3!FF2F2jBfΘgD1[<0[,ŒRL2 1 $mx+cM(nKXOKKPєG }ҤRwp:^vuvCYR$G&=`Ç3eW77l78#Xՙ$0SLJ46c/ujM~Սi& )%r)Wyk&,NXOyɄ_Ab :pEJ'њr1gRyOk`&+&'q(0G }`B(b dĒKU '|~ ^|;vze??[oww:|QϿǟ|~)v^ü:gy8\|9_/8+璬wm)Z1zw_׃S obwԼ{x#/Tx'z_Km^yVkC,߷{vN.w//Ll<ґ_/c˯9g]+ή1|XXFKϳﴓ|޻˺Zw=M>TaxF'~t^77~GvÛm|f?z}=Ou;ϭߎYAK[uμ]:П0zVwxVrZy+gF?:缏~^~Q?]sOZ_|x|sX9bsc^ڱxsdkㄿaMco υgK9zـgc'<r>5~ɉKGG驡od09P[:Vw\ºGxMl=8澊 cJr;OPR2{dwPEƀg?K|x8W x=aUXptbGv֊W޵befٰmǙ[.K?}۸7{:5n|`o_۱+}uV]6?1u}jyKqgS'=gkUUt? .뭀ׁM}{|Mρ{:ǿ߳ww+/7nYʼn5[G]6qI<4{ukXyQ{W';vﮎu{֮[!hɯ?c\nuK{wf&u:.|9ފb=io}sW SHc'uֵkr]͓w:xE6gݑg^ԶqnbN]<&,MlZWF]vd{$>ذ7*Z5eikBhc[_1h{seXۧ8{w}*6mZٵǵ'wx]wV~˖E c޽ag}YUxкT'd#{? Mc ]{gٮMoz?yt:ޅj_j\Yo5˟[?{w%+1 %ﹿ܊?x.KG|/wҪ:2-gvW.N\߻8ٳx$X˳+ѳz-?vggNjzWΈ ]2w rp:fkɼ䡪]=oHoA~?+:rnՉ[gS3nwyg='*~EZןم-c.dֺ#]ul0{OoUO }} qy[Ίos0؉V7sm_)y'z¶%W]c3mkv7lO3鿩[NWo~ӛ YŻ.ӟˬhܴ?/3qcv풷˼C w_߶d~{e{_{-Wi~{6~Y-J#:z>P= z6{iXvlk_ꇫןQӳn+Z?l\뙼=Us3_6ּjMq_vLI{G?[KbW'~um[[&}tାr[+ }uUIߵk ^]sz_6Ʒ˧>;i3f߱ĵ~jhTF^9xZ 87ysW?j#Vc.hk=ڒvj>+s{v<:M8y/=t+;xpA72_sdEﲎm~xcwE1WtFx]GG9uk 痵ڷ{W5w|mcZl)8;F]vl߲i͜m?ٶwwKwX_[îixXЁE;;~ۛQ;gw[̮Uh{{V]Q X;ْȒwGbs4;'O̜[o9K6'6^߶{C] HGzUzߗ ,7U+߾ev}7xdUβ¶h]=v_+mR@ b!VU,-*RbEJ%EYbYJԘ(9NK#qb* SOڨL6S7Rj57IH@=G {{s'euxe&_3jkB)Se!thp}tb1X<;l;tO۪rA$'!t2(YZd!Cg!q'9]z~ %V I "ې#TeRj=<[S|_7 }DDH:]Q&Vp\1cYS.N=bO:pim,L"h$gωPF=cG+"q^ho่Wx ^EJxG)v;_,L,!`&*_<9M} cM`./H nyh(`.tN=} oT2pb"zt2ĐjJta.w]"Uz$wdE JG"M'Z:KA ;ԸW>X}qY-)[)q ||mQf!T0`e/^ݧbm0p%dp6~~~ NQT zw;াV!@p(w#Vr'cghREIqdҭR"R*h 7㟣w sWPí9BPPYQ`Eڶ1JId ĀTTXqI6[N6H/kY.)JT(֔cWwuT#r;c"%q9H5ގ`yI8dB+syS%C.7$TW +Cor_'xj.-IN%ߐ!?oxlKv$ \c <_?p 3|mO(qJ:~*-xhuzAdUlurʕ($| ) "íVGc\*DҔxl![rݴY cxx1֥^ aCm/i1JVb$;VU@H=wx%cd͙{>4;DuAܶZ++5(:8R6tӊx1D^KE JDS#kxgMhq0~t!%6ճhj~.7d=&%Qju֡V,:d^nUVt,Ԏḑ?zNkxXak"6OtrohmqkjQ1$yStR#O̧;ɰ|8L^,c@ИJc)9\rcODxmճQVM7m5"eX{{ӌ >Dy MbIy3'PT̹Yb4w ׬CMIhz|\}V">FD;aѷ˰UDp ~i,6:E_q[3 2nЯ?7L bŏەn.FG5Bwܡ qΝHD^U@xDLƻT܎mHs ej:wB0#}]&]}.f6B h˚|*VK;_QC肴z$, a(Uwbdnޜ9bߑbg r0yF 3LALDBx-/v:?ZVcqhP+:)ZMK"{DGѝ:TARn QX>v7z *CvA?50aU]Myvjx V&&H3x7MS'sGa]$΄(V;4bXJ(.BQ790cTtCXK19 3*vKH|+%};官OdGoba4o#xҢzP,'1%F>J{lX,Y.K̡e ҟv5qf5Ŏ'hϪ.yJnn5i|2f94v(M7Tho8%7*(J١6p|u'ZG:mF \ qƽCWY ـAɋ;⹀zh$иG{OD uFة:$G{ AI'"Y&\3M5sL&`M:/JGbYEpc{fu %(W۵[t6ɗ+)ތ)ߥydC:׬(YIDW*;j0Cc7U_fʚy[ʦWlt]퍲غXE~sV_ilSW~p쇣I5,/2&ոAHO{kWc;cFv\-m8K}Nڬ_ 츬1^M骃{і #űP" Q^M+q\hjOX ؼotԵNR?O? HL4]:m!qW+' uIQQ:ves qJQ2,㸢l0e 6;DWƟdc?HnY}<ϬOyٗ/'#HRrU'IF:øMҙJx-,xLGacĄR|3&wmlWNnhR?A:|r0Sh)eo W\bIضKnXȞjJKL*xX.qFWtF0ev ?}yc:s[U!--b¦~e ,fƓkp0 [0-(||@Fl,vBj|vMF&rwVO9u'dHwn K8 &.Se:*w7{ppdzT]V{}#sJt@[I.$Gla(^^W!lEǍ0`$W8z{mK/^9|#r[G8 eJ'Rj_e<$/+@`XI: ɚ֓uoҝ Jc. l鍩| l0`w<}rg>N~22޹m I63|[<RkuV6?V棻wSۿ5a7Thu3Ӝ.jU5UF-߬Q{2q@7wGȐ_TJgq:K?Ę/w/=(Ǹ_N }ii?fi| aHsnagᐁ;flow5'͟>/KGsmck8Lp0$2d:הf~z&?TWo,AT*#~!%. [Ѥ K8Lg7*#Fif4Z_XykJ~N},M,2p[Epjvo~-%EW?9NWXuL.:lkE3OY>4HuO͆@y.@1\53{V|2y [0({yQ 'z98 R7B7;ɋ,u}y6syRIT ;ê6X8R䍨^ ):eu}I:8^^;SR(*UDr=ظ{ωH2z@zq:H߅:o/$۟L PJV ?{ Y :]Aā!ewxȧV*H¤; G" ّ-޾BDdsoF"eX5HښMspq# dje)x,K-\Z0PJҒhZq#OSKݹKi<岺w`'@׽d`x 3!Bp~rd]7l HaX1(p6ZvL>T~Yڑ)3""U-Mz6k&6AO3~$AVyIe4o]vLGh.'E|pdF0,G,\$МŪ~ 'b$IҲ9v]mW%tb-z4L[G7Jf!CF+hR.\E~m-uӻ?!j]VŠnV.uw7~-#o/#Ru] t˂3j^!*k&R\%ڢ cv!f)ZNhX^mvBD ԅ4=cPb{ϪSqJ=&vCefhB/O  O}YMRͪykm|%d }B*(uRInTudě3 sqwqFbb]PE*Wh%+ܻ㷳,G-?/tZ#^' ~t֯àd:wlz;]1t\C7)haӄˮ*kd-961x3L$Zٛޢ #tċi&N%f`x J!Ӡ,_~>tfsX4( 3shlj?F|JvI*tSjϦ(Gg=/vvqY'c3I= Q}>$=B%z^d$cпY߀/BlOm&_okZ۩vW8ONuݴA"r>=7ܻ3jHV Zs/;1RF?<>$kC( sGW[S34k4Nx3 "DWCoc}tз 7.*Ee=H_){tupy^ ˗C !Vb otA$N٧*b+GBT.yGqR~͒ćƓbWCGI0s& !Fk"2\ixT- s9;,s&If`g \˧Sf-U{)p3GQh}-倿ކHC#K[a-.Za} *K/M x !lCY%](ab^u#8蝣ZN䃖G4A: K%cT8+[zjZ<>oVȶa "2W:Vu9!*7^\*v7#!d|m-O&3!iãUg,0kZ*R7|1_C#t;`1 :14SCCGSa.Y:Crw B#p i{hׂ2J,@=ƃ: 5[O(w|CT|{˓2DPwHw|ݩ2j߂0L d0~DZ)Nk{ ̽V9R< ҲQǝkݴs҆{C?=="O}$J 𜀚WP$z_$tH5EѰXVD!b)r21ˡ'r?TBPI}%]+$hh28F`cK 0kiY~!ʾƍ{? }=GZPG']:D YuOB^NG%`UY.וhqZ_JK&9hʍ|5&l«pu)-%T-"JA곻iGvSymD%b;ڮHY~Y㧜(4WQEm eQ1 &z;EM Dy$U;:F#TǔvGo4t]dXY2+q7l@`5C=ɒf^%\GjY.yT\ mFH*uYl35'e;a+~i6OuI:|iP8,fy }T{b5>̞tEm1*eb wDʭ[:RkoGߣ?p8){Max!ugSg\ F)M:^@\)^zS5j_A9=@4uԭ%fĖv!>ċT;ZD٠:aPZ@L+ 5̃knx LC1|NSt}UP%| !Z>Qъh}];硳3|@l4~FnoZL}tBEr{|r09ST'O^ѡvЍBrOoͪ&njFkyn+jlFz[~gVRP*ӰHdIQK3~]Rv6pR(qQՌ8-bt׀fO㹗w&O~W"WF kTjӻ mcQ7-۪h Juʣ;A+~#G8}T<c Ց'#dԆ+9vr1}+|7=+~FVŰ0>FkYEʲ;l=~*6|a\?G+ 3@At!3X W;Bz`V _7A;#pr$_!Ų4uցx&bVmHmHx!djX>*"'7}n\yɧJ3R2Nبtf wI/B9NCIԟ?q/g}&vGPxCKAPVpZW%KzSH0pC/I_K#~cgwzE@[3Au^q(գOya2b[ _2ORod=|,# NXR)N!t{B_S&2{Az@O4:/Ū:ZWK43@V$MR]6&Ejv{[ <^e'Dw^G?z.UDN~V#Sl6[h#:icݯ!@aK/HR\Q%^8Nys]fO;tFyHy{&K~iW u>G*jkwpxN &5H=lϷOTto=KO)V~~G;.JFmྖ]ЌhZ#;c ,d><>vIKJeg&Q^' *Gw1F>}F9cOЕ':Z.-}1W|x2|tϔEu ܒ.)@ҳ?5L$Ya[XС4a{.W:{5ĐSD,RǣQz1H>u?'9~,꧖blL;k:j5>3oR)ƽ'`{B=zhxѓ|dUA萓JJn,Ge;*odطYm岘MCؘ : =W"6a]uri @u9a9r9NAybg̞܉$*dܛ.nVKֲuod89OhybtFѤlE2Fz4N@7ݰS֨Ǚt '9do[Uo茨i ')a_#1x8S(BlngXsR]7"-peU-Sߦ+b:EVûaqʻ5Y})w ~"u딌!x+.en!1՘$1Jwn)8)Q*Z2!Ke5Sj۠˼]g^N_/Fj<"؏o;W+9!b6ϲQ4W>Xf<'9=TuhNĀk5x"˗Ǽjnp ͏UE4b{*g-?jJq.S;uBiL ܬhkKu2d+v^r8S&ªKع!vi''`ΘpT^xm µI*%d@F3%WrDH'ta V\e%^Ck< ?{(9DQZ s0nnL `Ymc6'RPT5}j`1Ij0_s" h]7S>4*MtA ֮CgxS++r'Y-N@5Jru+enސ=ϝ ,eA鸿^=]? 3G- gFF1.㮌>9>, <ʌ\.wr&Xd*&w>3l*wayS/].cF.^(2E.hż%9rő\jHق.2ņz&d=֚t+?lz͏ ҁL1클<![!gڦny:8 H|*S' -Y0gLȴ|e,[ txLddfǥ4& ʲdEI=W(ٌՃhk eCYO' S>3eks ! Ybhl6 YsE,@UEk~4ʸ5 fyTzJ)1`2ut_j| vsAhC_Q>8CeYD)w/8|L8vI=)3/M3lA*| S-X(뚝1I iBBTSso|ejq`P$g`=q̤TZ ϔ( |$N pvF<߂* S)=xI1V5z9F$/62Si )(ךO2%L|xqh;QBݛ&I'3R=3\&/7+`2*L?R%SIeAfHN<< %؅>r`,'QZ`]z`/8YLQi=ԙw Iq[:7 И$&Jl BLnAf|vf&?b%Xf|1SSz%>%]OH2yOߏQo3O_Ʒhi@L3 @@(1 8ٌL [?M%kɭ6ܧ>~p~]'4nslRgg),;?#dS>YU3z֙HCEӋ@ 0C@-W_+gpYVz1%TAKS-d>Pzg<>;M ͛w RS?hg76Dgm;@2MMiz3 z7.#-1;ϒ%W>>;Y4Yi/&l~Yi ͻ|a~NL3 @ly\ZaVӃ6 >`MK[?sH^dzpƋe6H?%Q :4;*;Ne:7s2uB\ܿ S_]GmGYgfLY4 8PC@ ~a` >|viO[w ̧PhW%+LB^kqUKp`W=~1{NԱzU҅ |?_@7~&47,A74j>Up8q9%|3Ai?(H@s3=KRN+)Ef_si\V|r*2zzy|dFe3ĥ3i3gNcSgfl8Bb:+}'>.Dqq~4Ҳ`Tu28b@f2LTiq\R 3~vכBD'֛ggQpN|;zfee@P!1ApTq?s4f&? `yLhiofFڧ||}2 /f< 1>U7OgZP990߬Ld@Agǥ뙛}{Odn Aٻ6):*Əߧ>S]t]*sy"+Ә̋x:2>2)}Jœ>u񠒟Eo:k: o[-G`M_ Œ>fyCAmM>%DazVD3ϴ䘖 ! 췕s43 *BD)ALf05O'SWaҲSq 9`.>a@{ay3.<9s47S~BLJ*{oP00C;r7YioD`04i"s )\k>1߂2U/nx)Ĭ=Ssҙ!B9i@S-馲Tvbe2pb-3} Ӏ 4 |L3fka3Ӝ@?:b CN-ؒdZ g*[ g.2q8SŶ.GT2`l1_*6dPxj b*N3[H ]syΰH6b0 KOQtVTi;S-03~ۊQ\ a!J A3lfbN6 LIX21"sL7R R#dL )Z!fY˯N5#vPo~s 4ͬ&bBzEۺ4 ȇd"ƌB0c,@9^3c,^g4#aCjpTsLҿS_Ҡ6 ql\379֍m`S ϰ_N779d~:YԀM M Mض/4NL'?@9!h[TyO8Tf[Bc,Tedsq2NgtǷ,4hҪau?F20AfS?#Y2kS|icˁ3z_/Z iқ^3]}5[V0ll-{(0Ollqzfm_j6iٛ鿓`Xʩr?G\ˁ޳%N=^jV|i}3m>ḭT`7k3&~fK 9txq,fϤ-f\?æ_U g- 3 JA=?p&Jz._Zqz{! չ/^9X+ NWs׊Z3ք+h}Z^@){T[՚b}yRM<R>5AkIHݓSښվB?չ^\+q2Ӗŝ'C W&wKuNfSo!˔µfKZ/Oӝ½`(֚⥒&qiW}ZOtj=I_KFjP:kPbJ(J)a[Bؖ/К mL)bj6EbZ[k&V#O ԯ~s4ViwSƶ}m4OwW: +B>[ؔ1`ִ5>ݹ^d+ gmcK¸=yۗ[vٖ[eN晿`&a&me[r7/0JSg,Gʼt>hz喭p/%ldSgl^9ӓ#~EW>hz%p7U -l)jLY㗧}2=P_RΖq)fm[ٖx/mh[ږf_^۲TtӳqpMXזVl9Ӷ-5m{i̶\-SmnٲVWlv!IkQ-am{0W-?i][^mMy[*ۖȶpF -mi2Vl%ѤS`Y!O*:2$5CR/@nYit[$lzdrk ׮$5/Jv[/ВOÚl=+BMZvɖ&{~7Ċ5:–>l[ {퍼|)'ЖgI2|_[v'iݟ}n; ~?8>ݭ,9fggG[ uROB{qu_|Ovz{A#Gu43@425G'gPBdgo?h!͠6xQo u}/aG=ڄ9gkܖ]C \1fI>oM~;2}̹G jZOLJ8Gay; wiߟ?9űe'\yE~soz󍛷Zn5맻?ˣ.'Լh֩;`^@nP0r7 {!#[_=g5nk39QS3&ffm^mav`G IΗ)?ѷĎ/4Ves 8Li 'XFh?&5xI9Nސ]:ŷhݩ9 a8W[/Og̾LbkecHA Uz˼m񨢑7l覝ن$_JJ\qDIʻEFQ,fEauv)|O{c)Sx?/(|gj4dd\6A.?}ϔxf&~/x_H_3bty7mq~K s 9壥m$;wʊhݷQw"z7DM%&F)9z56(̆;ӧ0hX@@K:rUvlpH mC vd)' XЉN?%'/dvTJMI!Iپi8̞IHuq.A֩N{Tk<Ylf )bWIjEѧ[!ksnBcE r3k} k wxP*hGsM+Bu6 M"`wxvLBr :cQoEMxTj=ֲZh;P$%5x7"Nq.MW]xR+Κn q8~L "XۀRlN;^VŨU&1]HR~LI%ԦiS:BuIě$ַbF.Jډ.7w:<ct`c؃|sjhl)u1_pJYxac؛ə*^.瓏䒫)+8GUR^hR6"^dS7v7mXu Ur^7LKQSdmڈ r#x^H3v'\.UȶE?t5I&/O, lXԫ"vݸ?:E^-VZJ0j(?8]!heKqC}kI-.TqF|n}'PKjs-[dE[y^QkhNX|5˛OembJ.zc-EB{Sj'Q!+39v}2Íx`0 VoYQ(x΄r.Bl|Z97s,*65YyK 4D]ȽM#,4v[+Cc(vXgkoI8Qڪdk7oc!1F: ϩLCЇmK7)]{3پ4Q/lUkKb!fgUXeoqaV5tC;1W$'C׬.(uB@xQqmԹw{AX@7'Ð )o#?c{ĹQrSK1mi3ZҖbj"ZH[RRJÌ,j%ԢEL1Iv4*J$TLVEƷd2ߡk}uows|>f&sy/>׵Gm2x ¡ʞi"V*Ă&jǯUP u7-ߟMje#ssx{a6ee.5\](P!kHbDOA\)a KpwBF6~X9 ˔X]L% gJz8<ˢ*‚k%#q_/jhFlGk:ڭkqtLV0qx!u Ki:p-X ZmrϾ8GX`eq%#$xv9yE4MVFg>Sn]aN|9nWp57Rl-hpb=UgjZnmֆԒ5v4noo_]5_dȍTśGU ]nxuӛ58$" _ nx_@#B>H] US1ܧbQPm<+RP* @-MBMү,DgLoGۖ4WÅpb%y7·<'za摶C-45h p! w`1eV+a_߇R@Pj.c>aC=lQ=M]eK7 xJOݫ7}5/*=7o ѿhbmS&YJH¸KIhi 4qJk2C vrBvyPvc%]cQIn&~~ySsy=\} T!9֔i0 q6>aTсpkʭz] )YdQ2+S9?ċ Ʀnc9+tv[|6P0%cڔ .F rSX,ICRqm2_n֞d6Fvӕˌ̦V]Ӯj-1g <̕$[ʈ5>i|a)M̰ jő.,́L P {iL\vI5彇BP~__9aNmˏ9jܟ-*0W"em= `6Wo;ҟNyQz28K72~mdRn碡dX2ȩtQ:_4w-72)<#bhavN'P#ߣ)w=%]p$3Y%"qQ),"qģL[KD-.~X.֯ ;Qux99] n"D%x'`($'Ѧ\[:E3 ՕAhc-Q#҈t&&|TH MDiӱG^Q/G #;.L]Aݠ6j s=)$x,0fКhZ֮1^Arբqutzw.s[XCy]uu|{XP@.zm_k(^r *_mL 2@ 8})1"MhU[Nu2XRo@\/^\{ L."[WFK;dAZ!_gݲr+96x_ }(g#AoSx\[|,=:jا`E<~mz=8Z';s|8V%u;T#rbs~ ɄPhwڈ\p[jC*8DtOEc^vġw-kD"o * QD)@ v%vD%[nb0 NB';`lWſkC^;! \=Cժ3!V(inR.)}'t-t&S7A8b}@Zn(__OCem0].:41V.2}I jex9ZTfJqZYMy- qJøȨʸ\zt|=/ K O l9)nS]/[x,G E}^]'GRe3  pZ.S䩏ZlP=*M En ۫58~ͬ~_\Eeߐ8I4Q $\sM{T8,xOjr~~ʸW{ԏU!W,Pt AZ]LGBg*g{o̒%Zc50+f}-|_e*촰_Rq{k(F(ǚ88N2dr__zRrJCYC .©Sn5pSKWϠ> ˝[ n Ąd1MxZ|؈=Afn?h4'E8Kjn 2;CM{}BPxs }Wc$ I}Cy_ =n:,-2oC=;s?;ܡFZc{N^^yb ^|#1N5^Z:_Vk$7SWǕ%-m+ѪV5w6;,V( ꃡ$ޤ)amGÙ]cCet|vo'rƿOp$|[H\[({l%:q&œz`+Mm <}:q:vY=! $jsgiNf낮 %>F>g>|C &P~ rV{ߌ= 9_l[  c-f7i|λRTs`ȘK#eGWo{"};}T G2!~gP[m%)шȩױ@[cLʫ]RhMԻ?Û~عscv/C{eWۯQȍu}t[wxb$%bKǛ@X-a0=gQosD`mslXZb_ϕjKm9Ved}͒Jr(:54p$1q?.^uXIxUx uOg~ n(Ji(.%t݃vxہ5DQ &clH*L4VOGNJl<')]r=׈L!w?%n=pu2ցZl7 eZFL$ZAO%QeDCp$ޅ3ҵUqk5dY:3A9PGTS_K5aG@)@lKᘾ<,qƗ52ܤdK9vxa;Â]8UJ] eY_o8PXߑՍ蕝m=/٪ .tn*tk#I\HHzL3tZ%kd:Oi:de1 :TRɈLnʹxWG*w{Gg1x4J/:[UCqw3.[_[< eluȠ&q!r+vo|3hVO9s,ɰ)Q6MmIެ;&ţG$(_!P% ZV_pE"-I mg폑?.jq|_#*R΍o҇_"m.Ӯ5%''y{ڳS"0m=}N|RAĢj. NQ$@-eF\!Kh]Js=R&rCN$Kr5`PwUO\8L,"bgn@< PY6RvQɰ`nN&7ǯG3ݑuD()7:( ] !yIlB(k;N6f?@DyJ-fK"H4wXjF("T6+Ct#[k@A2vBsz젨Tk9vWYEq]=y) xC *[81"B1 |\`+ M~jLs ry `\`-h5fo4N>SBhS89Hd3!S*|s l\Ei*`-2Co!d.z[0T-aW4?Oig[F[AJh/i?TO<Wup|8Izt[]"!x쬌t$^KWA2;ӝ\HE XuI->oa5qlYD&|Wg鎼dW([^ vrײX~"`v@:bzڶ-h!,$,rW ~_sR|Oc#E~1Ǟ'~ n"hlnE*D[mٱ6TvV+6\s aEn%K ~@?Z~]BͭKM]xsيܿ# 9<; CܒRzl36e=d1^( Ô=<"^7]{$l̄:ҽaU(u;4]H6Zְܷy!;7 6,Ȳ>h%)b=@7M6A0. =1?) 7nRFUfӑ׳ni}iʍ^.3lu<,x[q+ȡ $WEǮmt]Kh+X萷#E`Y1pZMִow>B^ı1b̽ 1Z<D>i16l,EFiQZxNC[a4;bZJmI4F٭8*'A{]N:6XG) 4A@"VWQ4Z$ຕy nŽ$g!壛_nj<:4f8~M=L=ƥبd̻&S&N۩># W2$4jwD.zJ^o@v) i1b~G4s-"|[njl}@)ZvdPTSz~K_V&2 ז7iAX^}+A=p}cѴtZS:O|-h".>1XjהralT{ïOo@-Ɂ% ޝ @Ejdl$+*7RrxXOHR$[b9Tʍfd4 :a}b+sTzm篝ϸ)Ew;)kZH7QrFH2͵p3F5hO:.bS@te O W9.JmҖtw (j c*EȔ c6E.cxe`;D?3O :]rȖ5ArAJz. 7|]v1#2h|AGT  #RC+ # T"$ԁq:{O2cn}X_"3#-5{CqDj琩ܸ..G`_f{::J?"q1pL}>Ի~%ӧNPVqQnOA8]bbs\iBJc\3 @$3.u$tn K VQExP.I2:bKI޷:^l\ǽ"|MsPCbZ2t V cLzyJ²l;rי=ȋ.t]_dz fȂ} 61Azܝ^Ka`f2b?x[57Ȳ8uڅ8#2uoVVlv) >e)4S,3޺lyUHY4 @n-Wj # G|^hc3kh h1JchSW 6r@ Inb"kHg=_cPCETMA͍&&v,y bXOAg^DqB;E!i3~yyM;(fsdž/ 59`:vw1MG7Tv@8Mu_J19F7пς#T=CpmBF%$e)͘ ]Lc^c%Mp✦2-~[i/W3?vr'dAc iҔ2]Ë'4^IiT{w9dwLsǠGc'z#jg8T<#n}&KjUћf_3BNK7C7aK@(MPq|t#:3GԳ>@*;MUypmJ"H;ӽJ\U(l s,PG7no?cA#-ǔ ǽa!?ENy #_ *O+G~)reiD7- 욁LSZ l=/PPHjSwD_p!=c5~ ?ҊO :nk*  5?Fgm2PZVR KlZD. 7 oЬd-ާ],|~76qHA|+zbًآF]V%K+3-_Vezy 5Z U6\B`( zy~Kّ4Ndf\#7CuUȌA/7/n>*^vL}Ρ$O0yŒ-a;;sŞNYmIEC@ DmU졭-?*/3n>dX]c(P.lu1|3v"u[F=NOȐ5E-^U`M@9 s@OB "xnȞRxNh?…9ե.D~=bEK=T+\,; !ŗ^M $;%z dY!oS3AD :%!x7鬜KF[Gp8,`3h'$l5Zq@db#0W?JҴ/!--X? ;|l MvcRȬw &*)ҷ}f _D t3a9Dr#O\J]̶Վ^ӴaZlG:a"v&.O 5 >w/?vq]r{ h]Gvy$i;S_<_ uM" TLLh _㜉~7!w`0n+BX hR5s lr&IK<-;$6PJr `NXg(z;^hd&=CW9'Mt*uKs*jK'COT%rb{xr# ]y`+?˃[WCD֏Nur VWsqdT"NJ氩׭va0 J8K*r zd*UN 6̃5'~p CX)31&{T$/y{<ܒ^T|-UO͹q }2,iWH0u[\V졕ͧBd L#Z躍G.+Y9MLO[ju0ޕ +WA!!J*h8XZf)7ƦbdmG4躰@}jn=v 4VB*%lFIMōH8,FЏ[3}?bQed"N`/?PvA{R5_LtQ<]cRD!mJ%|c9[Ƶks:hM.|GT4 2KRe Yܮ`q5J?,DkdP4MbjiTL˅)cT첯 xK֨鋨]x]F!9S|>CjcB3YHp|4'BXXxiX`Wեpɇx bdWR=^,ETc@1JyOU6 X9E&붔3/o%}dw_r<;p=h| x9r7\yFԫ7_* R,{ѼB+)Uך6Lz?o<@T{W#F5b[P(6ýNçb^xDB6JbVP?!DF/ݲ (vȊPUvHPdӛN {s>$FOTsNFz\$aςeM'Afz"ͩ[mQ"tu0FzJq;S~˘E5ԑ7hVEbqi7A_6uJu668NZ 0ֆ#~ !宨a>5%:΍P@_JOx1Qmzre\/(;¶H.iY}vJR6%W~\{vY2|yId"t3" ͝Ȧ!%TnR['첒3 B1RlhEID\ԫUi WJ?ItHw/N"mf&uf F6wZcD3YQ5YPVXd4/B&&zߗM1rdbq^priӞ]<h Q tm)[j9ĝ vBoŹ^ ŗ3"V~3 ?Ok:q4[7_6XBB",w:x@[)&>l~;*_+ş"<:(!4gd("^ݛ|2ArMcLzM,{ kK9uߏH"Jً78163Qn-].5ʺz7 !(*ܑpHrfĦJ]h kM>vV͏ BY{ v%w#M)br:OY *frm&' JLK 2o@UGy+rܒj_̘K jd|ʫ4eg:hۅYdFWbrA_26$;$p=W6;uq:͢i,^4~Wpp;|X%/_r_N?tl<jIH?B8h1}iWx+U=M|f*z>"f}bjK1? |' E,*J v'>p'59,!!Qz/7 ^_̘ G='3rཟzX*E*uOBxznƍPGI0-r_2[hpk=;XH&h4;}ю mgSex];Y`bAPߖSe,Ji^Jw55:H9 uO&Mfv@C%_UF}2SWGpӮYvP&(͙ .@ñ 6<]%*B9m<>ת#'V!&KDL4,%nov\@3,ِ&B.sNUfJ2Sh\GQOGw"΋XJ7)7 " C@i m(w%1Hf6Yi.p/n!/dKBf_}6Mqۉ=οK2q’<lv((ծL& Azw2 MlĭF"OSӯ]ܠv1]ժ;laρ86m&^55ēb'zNQTRh!.ƖRpU.uJM ̩Ɏ?XeG{>֢ˡ.8{sĥl.QRqDnh- ɤwC/hUL{]dn)kӗ dɮaS9侇R]4S@#5{)\'>S43F񘬰ŵT2k~P3dDHY2>&cLGGޣ>(MUng'jlZ#SR#l>ܪb\/EZ]VR+)7+JHG2(jڽp((l7;-oGp-DS~R͗kIeT_6 [^Ƶqr3]20LS3&^fHg`d=Lՙċ] ɉ Ljc9ԙK?FU7=OpɚƋg5'Ȉe{P#\ alDb c} # g<H"|nװWbv\b_PϮg0F̖ iO2RכĭBmQ}HؐzYDzW:Zrk=*NmrcsRyS.ZאiDOn}ÂRbY0x |O]f=Kȷ)s);8h֓t9h^ň KH 첛y#:A/ ė7ZDAޅh#c=uУfb>;O7CQD/)KoS r|vm44Em >sg i$h$T]y~/}K6-1n!0%=Wh^fB% y]F*T(,Nb#^FW}sF ѕ)ׁsU&=v#b$V)Tfr!$Q@7@=\f\:vq髄[M;Bn=^OvGՍe|>RCz6y$*Y^܉Xqq(KJ4h胆cZ*?m;#A7Np7$=yZ.nECtdhs%\H}#i5 A+Ů>MԾU|1lԏUhpGJv' {3]GzKcKnr.i〗Cne?"δyD>i 񳓥r 3_S Tvsy^z~l"[{-\*jpȎe>|pċv:Dj[[eaʵWDzbxb.,=Jq{\hެKh`J̟:>_3̶bӆPh _ VɛD2"ߐSGju$қ4M}qP=!eqoJ%])6O9#l]t'!#A RHͼSwI|][CE=[Η^|IFOL 68 v,9F92D1Z#xûŲhw[uUmL ~D+ #(K 6`ej-O-Hʮ]KI‘en>'t.{-s2mve@ RJ4zuU_Θ¤a05T@CSFU':*v=N5zon;xx.biJ?%n^_ŧ }:!+cʵ3zͨ!+77+Km;h~wT-lfͭ-FFr#(ZcSa1| .;G Y1]]=L 2e>y#]6OljnV'Yt:meAX);B6z T<% ~ŎR9MrO$k9@Po0RRe2޸Ժ9匁jf,]ծv*o} ri:'[fڅOݯҩDz_ r$1W  ط\[}\s}\HrPmΗemIh_%ÂL{Wɱ9q!L-|*OW'c>*wnEf~*o~ N!Y#>xo?j`&:PeyΛÇ^'lSh6~9'~\-;WKGj2-GN9vlעEW7, JB΂L dL q~V$BlȢW߇{)r bQb$tOݕH߈%THBꖦ@ޘ}_O\q~'3>9HI_u< ʼx/[Y0I \]+tQFw:dz+i@e$ @B/O2g.x*)1}g??-3 lj9~rr]AjAk}wf/z:mT ޕv:d+b-܂tB[W8})"|(,~d]j|蟢\;Ք"Zqb]o:x}b*;y'BKS"w6?Ծ96\HPc@UZbMtm\|q? %ۛKAD<+8^"%5OΙGQ3=$awhQ%5X)/H0RI|gLngB0@& WC.I C bdN^ $nr* 5(mƪh_M]Tn(tV^(ĥn:PH}?D2sZg!LX;V[l8U%.&"iPJ٠7,Y|ʹT.ͱABk;5",ʮ-Ǻ-;q'k3%mjL{_|Q p%@4aNm]=ѳp@)HjȾ z'ӦFg饫z4+5Y|p=n,jr~T#t/ڤȆtkZP|>;4$|K=mjudmR||L?ǒ 7Lzj\zC@+19(pQ&P#Vh/C~ 7%%` ~~Ymi#d&oZ#U- c+є`I􁗮p)=eDKF*E ѵmɹyZ'C|=;l}m^r_vtl#oߠg@ܲPϪXFܙJ3[W! Iԛtt]sEbԇDd8 o $:1"i &icWG#<נv:]Bzppl]b֚g7S[ֆv!oggΣ)SAXS$H)v+p:AėD5%7ĤԠO+TD JfvnTq"cuϥuO_{ n5diH\Wيaj\d m:*V=CvwpߣLxSkD|+"`'Zs7a@#e` 9CWE9.)ǻv?1r/=i'اq3J-9]e{'aq{ ; 1s6o7LCM$܇?-€#g>ÂA]wg[eZN{ء1R!:Q-lue|@ݶݩ*4EͥHkP%"jӥQ*|r;1mwݔ)Dڒ­#V5PIЕ#v/uS:OacﴮߪGv=}Kľ6 c!)#Κ݄ۤ^7 R™2>?%' Pv%6WNЬ|ߒGԊ(Szp0CwPU9cՅiǟP4Óq{R|l9"(;]]A$'dW1i_A' V;u&-I9Wn+:4gxӗ  2HɩĨGPˍumC8GUn9Pa+x ZEd.;JƽÀ[)ijQ 1o2f>誣x(݋*;a>u:G;FrѿƧ@γ(=E)Bw@F+|Yx|[`e֪O{ >thELğ'dŚbo boArH=j6DZ 0QB!;c";Wq9D6Lƃ]U%҈^5٢vþ/U)T{ y{Ԟj],HuxӨk/=_MGN.`)n;x>O%cߠ3*Q7G;^j`_t>{]C{u|>#FC4 ׶)z>谗aMʭ.5]]^v.{d#C6Z>:l>w:ꥬkginyMeGZjծvj 0Y|D+ :n~l/&2= \]gS;x˫ό_W*^X͘m9; LXqSqV|@FFGf Zxk<$'9|@F|C6|п S@FVXȹz츰*.{eli%&006rxLs)'Zڮa'^p&g]*zLQFkH,~lDh}J1P[ǾD'P=|=2$?YiVH:"."A_XӔFNRv9Yu$n߲ln"(k_ݯ~#irPcI,C&T=B6Gߌbݲ,|<03R=a%P^jiќCYGk'Z\q\/Bj/`CU%&P6q.vcIf:^7^d3h92]Ce u@j_[[d1iwaO+I6nX]t7)"B,~C-<\CbsQғo4/f>$Z%S"N ovw:/r)G["V4boÔʉx9c0R‚e&W,ʑ.37 B|V}9]Qޥr/zɈ|_ * X&qVXJؾ$ o9avI2V^{b餢MGY}U,#3r=_'N*;]{@W/ٖp'\צ=ER=|5A,^@C3vQ7h9I:6d{HvK!rȷ-᣿[=uMS.@}O?Bʂ۫Si-D>kkEnΓzmXp&.Ehڍ_í:dCj{۲,oH/ec̄}6_ N{!>g\ONۤP@tbi|wq= [MWuxZ[ NBojذ-œ]y/'z](>}Zɔmw;{׭o#?oM䁭#6՟o/G?[|T{2=5\WXlq adp`!o "=sq~FC}Ƙ$[Ua ̶ђ푧ks"% >'Tp J2x37 hsqS&/eI2.q1٩ V劾%hq[ Oo)Fg@9Vx1DaPk-ę?DF1f6ZD L dfRxBn>^ M/mbk;ck ;bŌ"x9Ų3|N -IҔ^Ø;>%x0 |2,&#~sCqo}ȍTsaAG{qX|d3dT:IZn=T W*4T/}qkoWO:;oaƗP&[,*wKr19Ln6E;0 ׻ aXL:I> [.`5@)D%aAl\,2Q;>StX#G&,ki5Y3: >2Mm&gbNdڅ>V8EGM'/с'Њ6M"b ȀÂ<4lZYў1BKINS٤ p OWElq\1E^\Mi${?.lfc!` ddj8i(W<U;&=9Hm2X{73bib'%u8~*blI@H$6+F:߁ u#;?jsд#|WT$:x\O!vY=||2D΄Q9 Ul<׮LbbW %@o`D{IKͭ(jD-C|;O%)Wu'uR(YHe:$JچVؔX}h n $~J֦DKoHgg2d]Zp*^9&2:ʹW$&[ ߍ},@U"=|Ml[Lj1sDQ^. b1c(XyE8^J|[XUWy}]oDfس?14$thIVw\R^~<ܑ\#u$u"_S ld}S?7@mԇ\9s RֶMCK5|}Lfm_lj{k/ JmALclaQӽuCrjHp½/uȏ-:4^UVod1j'A&3|-pžUQH;d< BfU'B Bȑ~~Cr[]}~'%]6:H )#unu,+)hzk+S"L.={s^jdFHE׋^b u g%8cAvJG&Cp1;߽Q$n枇My—}lP2e݅r<l9OD7@PVTeA2s)D)م);}o#c/3}wM\;w_ZqjYHHepMj!O"@rG2Ďc%`GT-bIYA֋7bKk;A6U}R]$<}|OT7FbFb{[@H7Lt `$^O7RgWu[ tH6(3ǎ8}]ĸQ؈"yR%J:Vo1:X|hw!7~}n-W~o*ʑ /F^6f)(Kf'\s>] w3co٦)U3Ok M^=;0 }ƘfvM78ޮsj9`{U=Vn]&*MWP1}FS!$%RG]7R*2A(|n2V淅 $nD$>r ϢvQC߃]nJbn" 錗sC/Pt_t˩ԗ L ʉRo#ЦnY6R<5\$o-Ds/6#F+-mՄ`>5 ~D-&zm{9(qx½Q{6ջ(Ut塮+{ګ-Ig[n^|iMOgӄ n N w: aەx ZVsU|'4E2&w>9P<59A[v'n9ʾvPG칍րPeT{W亻]C dْE` it:K.f7_؊n|71߽{~!Ma:q::N1 7N.o>l}x'rTCK9㍑ F=ػDb^قL\VVZBu6NSo;U9#4 -c.ӆ>N\{]s.wFIl.?nmJ%xUKVVx TjhҴca݈fE贩vS pW>z>M~,йz)?wE߫eT֭ؗpX=mbN0z;q Ɇ]M\+mcF$$,AmHK ˳/oB=WU_V\<Ξsԁ;b 1b(iE\ۺ4w8<K/j6^pK~e7Ο;˘;g1y{$+l=|Rj4ؠZ7>Ira t\9GrCnw2@mtqoʵTN;}{ZxjtުpJ _nxH:o{nb~Ѵŧ";R{U)-H!בJ3JY1Rr7~ ]{U '%ڍśgWc/Wk]2jϮƖQSeX>F[zs!' u\ù& nV'2 N1F]V\wZ*ۏPεܝC[Iŧ߾ _iD6LZ><]7~}vWǮ9Lm?H5 W0ȳ^C6-k vs*Zg)9N=><7KyVcbm %FEH9>+a/(3Ӻt o.O?z*oU]$|b?.j5VA$HpnDuXOIܵ|psesAꬱwr =\2ˢ7UUJ&0FSrm{p_Z +a fX -Bq8IBnRr%2?%BNpcAWʊ4NO r f\dil?a|Xss?%4wX#S=592úhPWW\om(dUMXR]i ]ux"y}(s U%]Wٍ 'ceO}u0\̀  P+L"d(.o0 ɒڶ짖 [S: @ڭKb NĆr|NP`YTDzM ě[Y="Tԍ\ ڭQs`+o}qPtosO7+J" ʜaiad1zvdjW`ZzKZʛ`6iCQk;x[.6Y[_3{v%c֋U:!n Sg]TH(K:tsSV9u-_ӎ- Dru#S;4RF3*l16 ̡G@6ѵҁGtI7]gkjϽIVꦱ+boØ`yj^aGJz `-;a⚺˵J"9 ]5GoL{{1Vc~}OyיQ=FOjel[zo{5cmO‰W(e=zR{mek𬚭۱݄P|xO8aK3h.TL{ȳ%l֬^eq06"{ Rlō'g9OV$)8ɧw)G$toIn5n Tڤ eW7QVcBJVϏ$Ң'1q =HO~N%|谕lt9(UTI 7w$˘2c'|yyNuWkSXYJU3nW.x@HeJJ?"T%zPw& Ml)rhɯ;VX+ fEPD9Vvo/VϽxS;.˙-"Mʵǯa߃u)W_Q[ĕ\pMK DHKP;kyI#P4|wۅH6]iC_oxHMwF>cXIdϠ❸~P9pġ#C0CQY=57,̈T*M{RS!04o47Q47}G ~%. +F}9;ӶW4Uv ĩ}ILr NR j ̇T+/ v12/#r\hEd4D=,_U>OSj~(X!)lG(R }Nb}X`Y"@E<dž(V}KG+QꃲQb:U%ui_@ZF 玥ӷ=7;j~>vJHh7ąa| e?'ݩ9}{F"@`j̹k'&fs ^w3} /rs,h0bu y6$gLGVcmNMlD9yLަyRXH\;\0#RւP^fVKK'h(7dlM+nej~k¶%{1?^ޤ|$VnL0=_VVzΑkyulIU|kZT]D|nj܇o/P 2|fا}2+ vX}Pw}Xpp46Tv:])u$]%R㿠RmmN^}Gz#ϐV0[ىܪ*+|aPӣ#׿Z_0Nl *0 8DWJ@F^?\{AUe$'=Ksz[]D3>HhDxȷ(]=VcB~?MbiA4[^!,~@]|D;ϑ^ELD`|Qp`5${TMGR Nr| U9%#t/rgUDaYާ 8:@ Tn yUn&TQ3`a 7Ikt.z,sHB~Mm&lHMZhTweo[L_{cH'[Sb1곃"lCvFǰp!٫F H(S#_#5b~_.z IP`en=#-C]iħBmGq?ZÆwMk'V],aCvp%'A31X${\ʩUJEJTcŗ5{zdĤ-G@ K |X; f" B:.A@J؈zV|jižѥr]. Ex*!`7$%{:}0]^)H0GeMBg!ZwU"}{< \;HѼd SֹnlUY jd &4}r$^PQ%RM54>/m-\(.6} ZS-;S7 ZM2n[z|il5p[gy{?n5ݞvQgw?\t?T6P@U";sP :xWnKξ1U!|)a Fe<"?fK&0FQZĦwSvϖDlpC%߉pnHvI3Y|4,5SR.]k) T ɺ0p;yQwdOy ۑȚWJu'Prsj EPaMA7Tq^ݠ(ecmaaGB|H])kD pnJ%𫑓xG_ݫ^TjUžA zG7M%Lr:xtz/Pb1 B 17_S 2U SvJ<=U%s5nٺ37b{d1+{ ?2@X.| Sp#OMQĆ7z!<|#D/,DwGqC8􄖌yu6 b<:TzS-)=Z̶ fvF A~{K#{_^1v͓\s/xrwJ JNT-f% tVZ]yG7WfaJb#/0S5^DbW}whE'%mͅdΦ;;jJ=M@EK &B#sgPu}-a㾝\Kwͅ+m.:IHܨ1GUuXF'^nMp [IF61}\66jURh8ש2NEO!5 A+j?˾`{)mWS0`#;3fz{XoJ w%.̎"֦'Ҝçڄx^t r<*c?O -te6w~{AMx%$!׀5]f,D&`z>%Plq= e#,͔ef@r(ESyMa[/A^tOelB=fq6~"b3 f-EFK=QA'tsbA2Le2&ZRVU) faDj-AviEl~" ݪDLџqDG,s/ ɴ̌EEA'!MOa sV{N6[b6)[kC7j{`qd ByhrV(7R/r=} 5<ĉ2k%#h zԦ1!ȮG$瘸 :ԅCBCeT* @݆y~y]#e̘>4,|#s͒zlj G,Z]=gWJy2w ,3FhסtO7risS@ÜMCW έz|#iw!oΘo? &߉Fvg6vՋTn4Xf]͢?ͯZ/5WDCkӡN~~7lXϙ,eqQp-WÈ%T@=pٝgUE7tu;) /|Vtn hBDb:G(%`9i?狍| 5O*_ j(^F!#-8l{r"NrDCnIR_QƘ;ܓL=OWp Pf6g:}(_/H(>֕]gUA!d-P{ͅtһw ~ E56ҷ_7p%4*IZG⍛]W:ҘEU6YXv|ȑWNlblm2>h]K],J#PGӄ< } $h*jݯp G@#3T%:l;ȣ(EʮQeB).^֗ ] +D(K7Jf#Fȯ%Ʉ}u2Pg'C8fX8ږ~N pqϰK=QfckEQE*uc.HYk eBna&۱"5g&@ƅZ빫5SPFa͘IEzE LPIAwͽEX*@L u?-?1=ldh0~MΡJ?[m߽Q\NkȣjJQlHU]SC|D}䛡u{pDT$'_C:t*#O|~)MaS<ەR%IcEP}&'>#_eךH>1OϑhSM2[m OGyh-ƣ{gP_Sզ-f-Jmm[|,FZ "RRlVm9yuHHN4%԰.&C 96R%q`}ð@ajt "tOI>]L2ִi°g:)/ᯟerr\kct>U-UֵcE@xێf+WeLv˯>,|.W]ʝ4mʩo/rtHc$NemI%f6q\ZZ.3檌Y̱l<\"DW5;9 jw!^3bV-NɢZ4,nqvH͖}u5a)x6͇1[ry*6"|~>م,PqfN;%pEu7A2߂fRc6t\`(eT(]T;ƭ 7K?񆭷oC4cB )^r2j3jK]|$·|]N>TzV":=5Ԇ~*dZP5`V*f]Qe3;;LwG-a0Tn`@p}yt7_v?LET1ݎғ| N0w{d|JXƍSf]%¦1U2.Ar is*Xpmj :]hΠ`wV ǻƠϨGfl2ʈυ :5KNpؾ Ƕ{gvǪpQ̅Jcu[u+})Fb!RMHoܸšp;, bp\q!웖qH.6`s OK;Iz*v:<+S>v; rU*~i|}+ VԲ9L?Â>,"ᭈCaO_TC36?/&,Hvde95j˵ߞ)y y:[ &Ux, u9k='4AGJ”=F'ڈSZ_ ~Kozpva//.z>!6k1ФOU);O k(*WGqE5w%SD vSj`@;Cޏ! +qaލd i9oE\h đ cwp^! ǖ}ez6hR-½MDz2^-?Q}DԮ?IiTA0ڜޅWzu6lx(RJH@\G:ɬJa29"֛Vw\̕Lhp6f>!{{$_thkVUЖ4W)rq?@-51Dv2w|6$ÿcd& 2qnᣕ{i=(#^43pƁ;Pvr˘}]huk@I--1^&[Vnmtdmm 4kPj/٨2,k/).8<3B1p1i,n}/EÕ%.oI|VM?jdLF,nRkFbƫ|*N3/t!uHCN.V_w{C M%96 ]`+bH{,'t$_Zs}>=謠`〈7sZaiu/> @:ݕ(R\ޮc.X=Qv1n liwI)5f.m-:vϠ&6bF#VJ3=4BlcUAҩӽ.3; Xŋ`dg2,䞵7>UXGk3voIZ Ws]rtpD+dd,н]dd:.8RInW#3딧RovaRBh5Xݦ*Ƨ2_tO3]ۜ^m뛋 W.+r94/\6> Y|AdDȣ$(wPG^.hƴE pXY>A" hu[o ,feV#gZuX(_Iˊ6gd1PQʓb$5=r$حᎌ.,ݑHHƙyGVj:gO#^CK 4#T]{j]ZG_sh{rkZkqhn*xw9leL+~TlNm-Ŭ#s$): m;;k_3Cb{KÏ*:\?}5Y\|{!o]֙I$ɯ.4̸~e:'۫MZZ¯H`|rW\S,F+%=5#/hFM][~r{hZ 3'fض JG5x>]LLm~^. %Ѷc3O:8S]$t.Ʉ?߽ͩwڠ*շdB3;/xk+)0nbr:4;o.4%W;M`W5Ֆcmm.U6aMS :v eݑm[_`řDʿǗ cIu+~k[އe׶`kRB籊~"WͶ9/n[q<=ԗQyCz({ymζvn.3t֎CKgw'ڊ,i_{y}|rfr |%[Ύbت,KE]q+OK qlrҟ쩹!0rlc|3Anwﳎg!oޠMq~Z[}g;|9gC~G~ywSkf_AS|8HӢ/M{rN~oDry&eR5M-)3;oy?MtkX^WvMς}\0]Mk1M mlpWϺiQ'F9?:; K!m1}V%}78w5-jqˋrח9җ:~8ۺl[/~4 G۷޴QɣJKBhʱnm:C(~vsѾc{z'D1 F;*/sjWȬuAlYpZ쟅~nc/tvG9o̓fKjf$Eq:vƷmMղ}ws\y%I|ǧ?t_gO՚i> l,&lseg▒'!K\{Go~]u|z} B'L I>\Ɣ^Mt+v;Fԝ==2nŰC OpdVq)v޵Z Pps7! ]vNY7Cjjޖn0'{Kď:tdS#>$w߽z8_&"KKr-۟Kp .ͭM0}7/[ b{%2OO,y\bOH_. aY 'L )^!/W^toUQ;`3f(wY 7'L|>%6PYYM[2JB_˭Oj- ^usu ϼq\uWcO D1ynw S`'y|3y$@IQ2LIupƕ򪲞eڌ;@OH0DCqwxSun/Rp4|̇/ ^jsEo p5D|Um1h{ٛtו\o/*k%e)Cś;\VVᏒζ;7s)ΐDY2Xמ<5QKaJʮK)C[ɥ)o:WBzÖ7\Zy`WlG)T٬gvCqΙmr!^VJݛ]ծz{Ճw8? tp 6o pG! 7g6h I&NSWsvO_y2vOiŞ\7щQU޿,?B߄%ͮ񆼹+ww-ST*S=^65b>ՒU]YT˫M?& -藄Zpɱ~ɥOm /NekUegg:oXkeMn m:cm'ʫzڤƗ7;7p ס$?sCx)pCż&Ê/ݑZt}KZ ]tV7KC_|^o >abr~kjyiAsǼ{oXuF|~?&o/vˆ/a3~J Xe4Dxw \+^o>^j^)rpi>'b\]%5OJLl[/tPjsaپC>w۽Њw˸'P·l^$|&u=DUv?zci 5T͔_gWX;{`濹 SHP7~_ު]]72ίwОؽ@0˶'6]W>ۘґ>(^8*ʷ>1"kM[gB$p&dmϸ5n )~ԱWiGb8UKWtM;<êәѥ[YTC:] RaMʇ)>᝸79q}|oBNf[M;>n#$Lr<ջoۙ=!;9w/ }~o-?` m֎gjJ#]Ba6fOI^Y`˹NcACM0~jۋyBGT.^a2x /(w[țqmzUr>>%ŹʮQey;%aZewgaixt)xowU⇊aJ?t5 ^nFyXVY|*4wD8ʞ.;r`9wlk8Cl Ogd5/ݴ z^9o'cc`#kd*&A:!F-O'ϡcU1*yLʉV3"ScDͲQn>bGg_,A&d1 r,>!b%1Y]4R˕OrҨLJ)jeMNa#V<%K(je4iUfH)M&`2JcdZYD121):jz-c P-JkP5QZ6: ,ʌuY6h5Udbi6'HX*ͬU:fChCUð@ڨӅ10F0Oi:47"!)U*F_ӲyҠBR1T.0fO%hd(TÃYKA*R:m>$&G *M֚hv"&d<³)ztQZ~Z42x}wYT| @*s:)f0od9Q|W"xer ZYԲȠfM: UAO}d4Ldf US`|DPIK*0Y2jlX*5*6G4SJM5 E9ڠbFe.X 2ҹPFSp^E/fPwBAFUDR) ȝ ګ@jѪ9DNqP|nL&GL/`.9#GW Bp@Mds=X1&^6j3 MYȂnh(QP#d0Z?Ek@FJ>JӮ >84P Ea DCi/2"z"A֔Gz4L7ׯY8fF :)dp/ |' }IIDf#(!X2$21EQK E ЊP cA`, d40fZ˪tͨ[DP+BQ!DCO$:"B s!d`>DTK?az"Xk5zBŇb^Va f}h(x0ά㤁tA>աCJ-3G &##SOQiP_xI^_c5U7Kc=pME҅>"s3 x _P°tPz2Ia2VC`|&FUyF89C܃FZ"{q !fXI  KCA$?KĘJ DP Aa; @He1 e "# dGP&e>qF[ u.K zBS$?l2e^GDP΁x1z:2扳wJHF#Wg*ZX ~'ȌSDЄthNJ(BT)@EHSO|4?_(C`'9l!ùX3TFZVGt443} -G,W:fV!pAJ ެPC@(2Vţ{={j52aTi,zWڢ4CdXA2NuP"<3q( @85W(l7HY||E%z?fZ1{Mדy8X:j -QҊ3Mhh%1 tƤчk%Z!OsRk*[k21FQ'-LZd%=Y$P0ʄ`@i hAP*N1މ-ys 2!葤с,03,zKY3avĴlMA#'̼:AIh20FG l .Bp!E0e#NB H jQ͒)P &( a Ĩ򈜠#:W+A-50R\c=d#Z#a@!;e1c xMp%rd K>qRJ'ECbE&T,8&`G4OT?dIIOD6^߆Ju0: Ҩ^-ʴr <4A<4H")OT5#ML$m΀jh1cԫQ!]V@.Dh색>-0#x_c$88mA",baȜH_F#ˑB b<滏=qz<0jحء`O1Y_!y1T ŰTơFJYPӪx+"JZu+<CZjbϒ z@LĔK:+LA% J=QEў"61*t A4;L`d9fp[u`'fH"Hp_&/Ή!h] d/W/F`5tJbFU4!kѳ(; @* Ыlvo ެRd>@?(-UWm`<# v(`j!Ġ'uͯxXE7旉s0.GxVKޠ &`FdxGdE8_<|!l D<8VSd;('. A2J41L>w@NF!7Ǫ;Lϑԉ" #Ed r̙a-I5N sœAck8>j9gO4 .)EQTnq#lC=@TR7AA=t(Ow"vI2`n$@(H$+,IG~f$ R- Dƍ[󘜵qfGNJz2=p/WhU .a(A$ܾMH +A '\biG^ G+6_\kYBwaI͋4$!R΄ ,r~ )3BH !Й u!ʔ#y0JV/in5Nљ=鳽9Jt>Gd9҃$$z@Dv:]3hEuE6uvF5;dQ%JlNƵoD4K X_a丹yS> ;x"ʼ3{p]DԍJ +,lmjJ sD6ԃoGHz@QP$,P kpFJRE.ą}+b+&|U\*HI#eQTlſR!f4HjZO3jugsz΃;y$<!('z^ ~qi^ڏ`|lSwN4JU,/Z)]3BOYV=siR /6I5!V~50Ba &R}iF= L0+~\@l4 '8*RNH\FUnPh|@o>Ww5h;aݝ`Q%/L5d,Gb"ń~Ug'ۗTFuZ=AI UIgKgS^&12FW+M㧮PjpAu1!R bH..c)Z=F` eLq(@V#f^ pD{/sqr/sX`.n9ꙓd?+c&0e B1bc1泏1sꄘ``g;ZeQ.(ELĉ}]-X–,^< y5zy8 zQó${UD>cס?GZGvR˕GG:^xE &A~!N8(_,&^H 9r>.ϏL "pJ(K̒%O'̋}^Yw Yq~[lq8)7M69w'$Λi./cC2zD5y5ɼRnOm+ݾ~?Ӌ/7WyHA]}C㱦?'O>ss]⏽?q >\AQGBFb*憅˃OL)8ƻ{PY+!9ɷuvhD+lϒ#WVɵ0x% ->j~~5~%+U{[Kf7+&uS5yGۡoLsc&׌gLTqmU&O2?Ϛ$Wu*[~1}3qWhȭOlmߕ]/ّ2wmGG藌+wN{OdΏ'$K7־Ҹ.zාh){n݆?tg|M\L^|r3 _=%}2KK/Ñl,:؆~I=YJ%y_.wι⤢j׶蠒~'S+4^NWbw7T+,kqOͅqKliJR^ V:kbf^}X%dy=eTI'%5A{Ɯr.| _T4-op8?;z/#Ej3'#eJWMGqiҹ{%]iIֺ-%!)7rkguc{N%ݺ;9g~tzں7K?z^D#ũ<*~P{\{G"y|uzYPE|Х}5u4!a=1qR XJYsDn;3 3nu$n?\4g/g}‹U}%%` =dsWVԿIŞϛz㣔KNׄj*Z jz%k&K9rS_gVtdc9 QN{sSzsϪ*_-Җq,"/ ۧttdo3o|sšН)a+v֒Gڰo^TC۸;_߰yO㢧~[xxa{ؗwZj[,sK@|m$G3dRyUiqJGEGt3Y[?_Z~ɵt>f+FGӦR;'X;.539>u_dT>'QT_]r2{B[KR|nԭ>tNt.j4Wڤ\s#sM v6oܔ]ڷ.m[Mr4 ߄\Yf3Ś|Ѹ'xjKBnO\Ur#>5U#֮3-ZW?V :Ud*Za}k %OIJ~ɬPs+m?d)y_~3%w9W{ԱGFXHUQZ"FEEDIb({OW!K\6G -SH w7^ܸvI; ~5_\T Q VK p[Fl pc.]y  \Y f}`ⓍIs 6{hz%[븝Si(IGrՓ} X-]?[䉰j\kXSc ݙcjC U3=M ;Z>U8t*{Pc}YZM*9%' pI8Ӑ'U υ *0R Gų͜`8tzt oc;ш蔪' i}AuC NiB 9>z]OPyC(CtceE0X"A]{Z#UУpQJhi*X!~ѽ /ʫahlo hQUF5k7 * ᵰf㑧/D:D.mR%Oms>~"z.E!`T9[@Bcd=5AWaxq\jFS:_nYw./7&+f`#f1GC~eg먔Rto߃ԇp[=`V]yѻ]q5,b8=,ZV6^2۩{v4Μ:@EmG]H!)Bt)꩛.9 yAޖ)ઝ'1^  i"`g~U0Kmo^߾( \t`?E9 ri!\Jl%r! (V  P?8а2 RcO+K0Xj#Sq:=/iX>ERQBZY_5B7*uFF 0|Uav'0&ϝNseVx"@_Þ$L iU۴B2W ؞zUiq(  kPڔYôF "ҵ8 yH]<45p.%lr//`L'ZIHFb`MvZ)¯e:ܕQI V =_?`ֹn\60(0)Sfye9 KQWem@~Qe#,|c5m-L~g҅Vǧ!E yl0"iUOAwq  ugZ NUݨRdȦbptd=R-vOwnڣ-pʥB$F5ʃM׾gMGPj \qeKyZ:jawӮ̭|Yu,EJ%gD+1#P.%m c{PHupNҗ \9A<ٶ~u_.x煥gJ7u( dP 'D2g fX{Ҧ3>nGdvUS3X"ɕ4naf~XS#|wJ7^P)bݚmwL@W\jڛu UX:6^3bMx~;^%C.Hv"{s1mjm;e_޽\F]|?ٽ▂BwۍQ^$–Ey**Of|tU`b5f!!RܩhB, ɁT`&.5Hky&6KQD=[ QpZLޠB2{Pl6^K#oG8'w+@UwKV/㏏E95P12CpLy'翆uirzX|BNV~h]k>G j%"ڴ#~N>1NCC%nC4"?<#5:Y;_8̊5n }7ؑC77(_ Sъ3[k\UdZ>ҬPXm366pz KC47_#LѸTUi7x>vrOW+Fa?5kdckEڱvB-q`7 UJ*)mmP'aGUIpKшK!vplII\交 Dnvv!kΠ`&3=%gQ΂bFFW-aAG]~?H9s6hi$EGV} _P4䋗~ EQue4mp9[(z4 $W$nEϜ!z{q[p:MПo"2o[$GsZp+BAG§5#+hrzHA-z9R T|BY,Rl^UXesB寋Si% r;8KYUYƼ⮾`vQYjL]!"ɹ mT^iMDmAMA۾G^v9u{FЖ&* 80]B goR@.fmD>h7X;6+)WT[_xA~P6Q;ڣVi/B+XM >EhΜB~YV 5rU5jʖhOEQϙI/z] rVI+'pkuxwNRQ'NG|'BNGWi2>a4NmzMG5y(& ;j`WpkD;vOa|,RV'tCѼ3KG "xZ B3!n;6}E-8Z+$@z­PEx9c"y{&q QpOWrg{:rdʭc9nԗic gvպTӊb-Zݤ oghd5~HH9N99W$<-|K(xID'r=pT镊kS6` b7!WZn01<rpH SX]?D?du>N+fb ^\랣xH*5xZPH| RXP31"tdBx~W.Z(Oq&DOCi^(&`Ӱ\UGտ 63~C^" @/@]R,ff:X,?$ֲ+]44_SP%u+A 9BɈG5tLMCMf=S&9 oJӋkwjq\ᨻ*i۝S؅ ߵ\ oIe -ws6EFd_ H~5:(j_G)>!Q)y j~:Q|q[j 'MĹ꼐JC _},jkCv;/OP]qOMXBGVI6(Z!f-!#m.a˽F&IL۰qrG'َv-$'.JK>D`"o8=LUWFr߯@B0fAxN|P&7.Z~.AGX{$mˆo!O#DagE 0>D4Kwɚ#rӍ"τϏ{qߗ'OXFvЀ\$1oaNjg'%O,, G䖖"̗mۓq?g.lÂK|퉌PvVDz{`1a1jh `!F;x Ն{3EnK;>:l>w5jܔۈM#a"K5#7Õ5 Bcyj~h꫄kL:_p?R$9iw/ŗquVyjT_h9<U`)BO`]vI }sϕqO[3A쇿%h]|ɉ B zt?wYᩚřIjc!&X|RSr*Ŋ+ԧоT*)!|WS"^jk略m1SXsd,kҪ } G~aU(ި4, <-(d4aSw'hhMa?)TAJYO MzE]Y.ɔHSe(^x#UeKxDELĞ%Ւvcy={Ҧ7@$vVmLtB!BDJk2[~Wͤ#`ϴa(7WXZղ@';= SE\&X>-L'a.0$1 2R $Xu\MZez0_?_yCM V Cձl4RtzvX:h[(l_g+ZDn]|UC.࢑7L}c.iXaz?)Qd3%Q@7~ҩ $f"zG}\%W` EZ4P2Ѫl6\(}XȒ{:=v3M@C:Ҟ7oD/f `ʚTp+ #y-.cyG# 'OTK_%eJ,C;K F yҧ|m Z❰%te%XQD9&i(1i„-u`K\x~m4?4jXZہjiV@&ĕ6QiTQ**8 -j-QۈG>>{gv>ȬMJz k SiM|sukTPndr ^U_]ejb|gaĪ$nekH] (+HD+]\ F%Ҡ*b!zh#H?1ԶcKEwh tBԗMH˦nv<9Kau-Kk>MXxO\\ QAmLoRM&2iT+qΓlOo-T@d.+=8.bI8tA4 PՒ4I'(莁\q|"tc{*@K(ҳQj5W]p U Cb04T'$Ō \32Z!oҫ[F|;Sg4Z6*a/% r njp:rӗǜ@ÄE*VF #_n(Z^;MOÖ[P3Rc,6a7ct}AL2m#9a Ϣ 'b.(N|TlV(K仡8xƒ+TSW7ۅ-T)G+J'S)4W:j{i u SLƠ1%,Ibo6a&.VT0\ 'jxu:0+oȜd(p~-ܧ_=li|NZe׎߯5O ɟ9u>6j1%7y =[pl*̪^2R'$ aK4d4ɐM@ ; Pu:>y5b^0.wɜz9a\\^$y|V thV6ru.dx״"V2K6Rȥ|O^ϭ_6S]tSJmݦ;83]|v턃@NcT0HLJbGpV!+x)feM+[\P@ߋϢ65Cx]6lO4S!?dDlex5>L Vw턊 WUTپuwjEGv0 $& Tк Q}8+jnMWk]WHup@9}Q9&?+"n+~>QPԮ?.'?gIdtwx⎇uˑhx#-΂UgPӢKXqQ&¦غ MS!cy&!H?gýh/ ޱxn?y@*zO995FqXf_I0>0\&섙׻N`|[=o_x.Fib YobŊec N'mh)C1nI-,t.M4<Mi{NķektV}\P8%8aKEX1:i3{nh{^\Ԥ_[v c j6.]97,_\Ad˝={|^䉆Wlg,[X y6YQ}M.bӳƭnb?WX8e zoiL&;T8%'MZ^bxXJ3 /7N^[^T@&h,;jKߝSW+_w1?yU6Дְ6 zq{{$璣(嶲ˆ5^UK}$m騾.yEC4 Oeq-j}1&p Gu hJuηhgC +Hԭ4/pw)4s!z{-_ Ŧ/w%8(hu fPfE΅6vT޸vٚUd6L.~ 8/\59_pȾr[BF$N׬,Kӏ*WIYv#.-L;%Op1Z,ˮF h _vd,{g//Dl#G49%TE7@n1|5YQձ+1q:̗\ b!kQ:$׮JX zJ7e+0"l"'/C #Oq>$p rXUXQ:>+QǾ9i7&iFrEzCԊ&< e]}K_֖\v[f:G_p{Y{EDgBµ5o\>I G^BXFH\tyL. jjvB_^;S/z}kvjF'QC],lcb[uQß{"TP'sL(\]C5,맲D'$V7Bc#%n91:6qxB?.Yw!>o:L8ZGb*z6w}tĖՙ{miUm%Aw_=?nBޜ2\0-@K,[f4LAH`>ΰ]H5{0qڐ]#0FU"70VKsNH TCv`A0s{4u~:w%􏗏~ԿavԢDwցgX3 SqG9Kg!4k5G|.uYI/-nZ/66."degE6 {x"Q+m(fZaMTX:U{M>Ɗ' ]4HazшKe{S2DZChvJ?MT*g_ˬfU rUe[>vEYØ(E++rk$NHzEPU{/ak%E;G$.{T Ӵ%Q9p!y Eω]q"M@lT27-h}=trÌDPV)l9h.}n13\<9 Z^pXW=v+L!\] BQ+j؛ YL:pg.. U>ZvnETvW\gQЅ!}78;wQBP1En02'T6 SkOЊ:m<x鄢ZyF}?n3͖ *f+<~3Kn|Sͧk#gxIBŇ.XLD6]8Q.ۦ{ t!;@7!}(>]TfwgrlY`R„o KUu(CN°o@ w>WNЦV^>:Zcr'uVd +֧Qǵ}?Kg^q^װT;fK".J"x%GFcnJd(MIB<[R*G5um.LB`\ͧ(]]K[V6_;@7˯{fwbT[Nq:"J6Z#TךEF&hy"m(][wݤ)&`:AZ{+[%?pMY$9'3*b'Yn4rvv+M#u8AR5WyksߔjHHe+]?2T2u=Ԧ6JҤvB`󝄥0Ŏ.԰j!c6V*~ cL Fc߿/Hy^?%QNPEO!WO!B0Bv`uQcpeN+KpҙguQ4EjN %|hCZLs?DFEfaW?1|3#tZH^2~nX' U}%g+Kȳ:ҼzٗJSl>nON5z L{pLHjڡR mjZVs2Q2Rrs:Qa%fB[ԫ !' vˁ[ԌjEc6TyEip&&Eu_t#twM:⍇}ߑpzψۄ&GՅ/&+ 0C&S ;*ޯ>Ȟ(#rŪ,le~͈B/r불Y".E0?/N^A#Ehُ)DУiu|B:1 [/|_H7 &r[k"E#0jlaCv@Cky,B>I[aXQ.ɝ겁g- /F8rx,sPckRw+pq++WSV\zJ? "]7=\1OKimF,-cAᘜ=:3`iN<(c)ڸ |$ nZcKl1"CI=Va񉈤ZH%yB]znΔ_Vydba6:0KC7H<3pmgL0h@NAl䐰auNrsE%T,$srȓG SzUQlJDO+=B6&@Bi. ?ʉg(#ji|vv D]±ijm#; k W]Bˑ-@4iXlPRGdg]V_(C -XÆ=!z$aXm +( BqC1X8e K"B7܄EB.<]SAo o{!v5 #J5\901`/͠= Bضz6xYX\ LE'OGz6ݼ=PNsF[t0$GWUGVlN* 2(Wo.J\V9}2jD:ޟfH-$uEOr:Ǒ׏0*zo5vG$@;('x!JQ7 ]rBL2ayADn!}0SGaciH昴vDD)9|A1;/τ+?ڿ:4 uF.t|&718)\?<. yG'^nh6Mr#ĕfG jY96g6ػ؏uQ*d`2V/v1Po:^59pR񉠿~q^s_LjXz2rïɈmM!%-#v0|&jKFV` NEvYZE`sq፿PzA+4 /e[F&y͜ p%5 G~ l*Aþ$%F(skmv{. Y 0aD_?do-,_kh=^y̋TSe#Ws TFmA' }>uQ)UyX(DuwsB:a;UMp~9*8Q6{ "Jemn[aÅ푙YPƣICգ#S<%v ΝI{!7]tC SOrXAL>Bqi Bݟ)(D ^;h+Xh"Zw ;W.R^W]pr<9"Cx50Y)s]127Q53Qq6zbz &w[^%9bIM9G }yیhR( MVyh5XBsy/|B|ALb54(^{ +J$v77<{<1ם;PQ!'߆]`,&_Qz "ML=ZڗӢ +ogȘOUİrP G[KM:QsBo=Zkz"m>a([sg.T&A¬/l@RXC*q| %(%;E_ aSΖ_ᒹuJ2 f A<55 5^QQNI+:CSХ .9{j%d˛ϐF e/ f֧ a d b(l u{.'o_ t/$q͌,1\auUO#Ր#sQ>nId<sF!z BØ~ZC<5R6 .m8C;Z4|RfoZ"|"m~USeGlj#*פY@ލ̬G"rA t^#1|\,, }K]r\Cj k=vZJ~oh\}SCjzo]uFk jnl=揁cx.]Sꮯd֢BH-!QFEDZQ4QTD=)FSF:0,M}Tߕ;,&+%IhqAІįo7a5jFJߺ'VE]ZOr|llI7jPV+