From 408fc6600292e945c8df32802eb9b9241093ce75 Mon Sep 17 00:00:00 2001 From: bmribler <39579120+bmribler@users.noreply.github.com> Date: Fri, 5 Apr 2024 12:13:46 -0400 Subject: [PATCH 1/8] Fixed dead links in docs (#4334) --- doxygen/dox/GettingStarted.dox | 4 +- doxygen/dox/IntroHDF5.dox | 1 - doxygen/dox/TechnicalNotes.dox | 8 +- doxygen/examples/intro_SWMR.md | 152 +++++++++++++++++++++++++++++++++ doxygen/examples/intro_VDS.md | 109 +++++++++++++++++++++++ 5 files changed, 270 insertions(+), 4 deletions(-) create mode 100755 doxygen/examples/intro_SWMR.md create mode 100755 doxygen/examples/intro_VDS.md diff --git a/doxygen/dox/GettingStarted.dox b/doxygen/dox/GettingStarted.dox index feb5f919f9a..ec6cc6982f8 100644 --- a/doxygen/dox/GettingStarted.dox +++ b/doxygen/dox/GettingStarted.dox @@ -71,8 +71,8 @@ A brief introduction to Parallel HDF5. If you are new to HDF5 please see the @re HDF5-1.10 New Features -\li Introduction to the Virtual Dataset - VDS -\li Introduction to Single-Writer/Multiple-Reader (SWMR) +\li Introduction to the Virtual Dataset - VDS +\li Introduction to Single-Writer/Multiple-Reader (SWMR) diff --git a/doxygen/dox/IntroHDF5.dox b/doxygen/dox/IntroHDF5.dox index 33cf4a91ca8..eb53f43275d 100644 --- a/doxygen/dox/IntroHDF5.dox +++ b/doxygen/dox/IntroHDF5.dox @@ -609,7 +609,6 @@ on the HDF-EOS Tools and Information Center pag \li \ref LBExamples \li \ref ExAPI \li Examples in the Source Code -\li Other Examples \section secHDF5ExamplesCompile How To Compile For information on compiling in C, C++ and Fortran, see: \ref LBCompiling diff --git a/doxygen/dox/TechnicalNotes.dox b/doxygen/dox/TechnicalNotes.dox index bca81e4211c..e31360240a1 100644 --- a/doxygen/dox/TechnicalNotes.dox +++ b/doxygen/dox/TechnicalNotes.dox @@ -23,6 +23,12 @@ */ +/** \page Introduction to the Virtual Dataset - VDS + +\htmlinclude intro_VDS.md + +*/ + /** \page VFL HDF5 Virtual File Layer \htmlinclude VFL.html @@ -45,4 +51,4 @@ \htmlinclude DebuggingHDF5Applications.html -*/ \ No newline at end of file +*/ diff --git a/doxygen/examples/intro_SWMR.md b/doxygen/examples/intro_SWMR.md new file mode 100755 index 00000000000..c6a0faab8c5 --- /dev/null +++ b/doxygen/examples/intro_SWMR.md @@ -0,0 +1,152 @@ +--- +title: Introduction to Single-Writer\_Multiple-Reader (SWMR) +redirect\_from: + +--- +##\*\*\* UNDER CONSTRUCTION \*\*\* + +# Introduction to Single-Writer\_Multiple-Reader (SWMR) + +Introduction to SWMR +The Single-Writer / Multiple-Reader (SWMR) feature enables multiple processes to read an HDF5 file while it is being written to (by a single process) without using locks or requiring communication between processes. + + + +All communication between processes must be performed via the HDF5 file. The HDF5 file under SWMR access must reside on a system that complies with POSIX write() semantics. + +The basic engineering challenge for this to work was to ensure that the readers of an HDF5 file always see a coherent (though possibly not up to date) HDF5 file. + +The issue is that when writing data there is information in the metadata cache in addition to the physical file on disk: + +However, the readers can only see the state contained in the physical file: + + + +The SWMR solution implements dependencies on when the metadata can be flushed to the file. This ensures that metadata cache flush operations occur in the proper order, so that there will never be internal file pointers in the physical file that point to invalid (unflushed) file addresses. + +A beneficial side effect of using SWMR access is better fault tolerance. It is more difficult to corrupt a file when using SWMR. + + +Documentation +[SWMR User's Guide](https://docs.hdfgroup.org/hdf5/tn/HDF5_SWMR_User_Guide.pdf) + +HDF5 Library APIs +Page: +H5F\_START\_SWMR\_WRITE — Enables SWMR writing mode for a file +Page: +H5DO\_APPEND — Appends data to a dataset along a specified dimension +Page: +H5P\_SET\_OBJECT\_FLUSH\_CB — Sets a callback function to invoke when an object flush occurs in the file +Page: +H5P\_GET\_OBJECT\_FLUSH\_CB — Retrieves the object flush property values from the file access property list +Page: +H5O\_DISABLE\_MDC\_FLUSHES — Prevents metadata entries for an HDF5 object from being flushed from the metadata cache to storage +Page: +H5O\_ENABLE\_MDC\_FLUSHES — Enables flushing of dirty metadata entries from a file’s metadata cache +Page: +H5O\_ARE\_MDC\_FLUSHES\_DISABLED — Determines if an HDF5 object has had flushes of metadata entries disabled +Tools +Page: +h5watch — Outputs new records appended to a dataset as the dataset grows +Page: +h5format\_convert — Converts the layout format version and chunked indexing types of datasets created with HDF5-1.10 so that applications built with HDF5-1.8 can access them +Page: +h5clear — Clears superblock status\_flags field, removes metadata cache image, prints EOA and EOF, or sets EOA of a file +Design Documents +Error while fetching page properties report data: + +Programming Model +Please be aware that the SWMR feature requires that an HDF5 file be created with the latest file format. See H5P\_SET\_LIBVER\_BOUNDS for more information. + +To use SWMR follow the the general programming model for creating and accessing HDF5 files and objects along with the steps described below. + +SWMR Writer: +The SWMR writer either opens an existing file and objects or creates them as follows. + +Open an existing file: + +Call H5Fopen using the H5F\_ACC\_SWMR\_WRITE flag. +Begin writing datasets. +Periodically flush data. +Create a new file: + +Call H5Fcreate using the latest file format. +Create groups, datasets and attributes, and then close the attributes. +Call H5F\_START\_SWMR\_WRITE to start SWMR access to the file. +Periodically flush data. +Example Code: + +Create the file using the latest file format property: + + fapl = H5Pcreate (H5P\_FILE\_ACCESS); + status = H5Pset\_libver\_bounds (fapl, H5F\_LIBVER\_LATEST, H5F\_LIBVER\_LATEST); + fid = H5Fcreate (filename, H5F\_ACC\_TRUNC, H5P\_DEFAULT, fapl); +[Create objects (files, datasets, ...). Close any attributes and named datatype objects. Groups and datasets may remain open before starting SWMR access to them.] + +Start SWMR access to the file: + + status = H5Fstart\_swmr\_write (fid); +Reopen the datasets and start writing, periodically flushing data: + + status = H5Dwrite (dset\_id, ...); + status = H5Dflush (dset\_id); +SWMR Reader: +The SWMR reader must continually poll for new data: + + + +Call H5Fopen using the H5F\_ACC\_SWMR\_READ flag. +Poll, checking the size of the dataset to see if there is new data available for reading. +Read new data, if any. +Example Code: + +Open the file using the SWMR read flag: + + fid = H5Fopen (filename, H5F\_ACC\_RDONLY | H5F\_ACC\_SWMR\_READ, H5P\_DEFAULT); +Open the dataset and then repeatedly poll the dataset, by getting the dimensions, reading new data, and refreshing: + + dset\_id = H5Dopen (...); + space\_id = H5Dget\_space (...); + while (...) { + status = H5Dread (dset\_id, ...); + status = H5Drefresh (dset\_id); + space\_id = H5Dget\_space (...); + } + +Limitations and Scope +An HDF5 file under SWMR access must reside on a system that complies with POSIX write() semantics. It is also limited in scope as follows: + +The writer process is only allowed to modify raw data of existing datasets by; + +Appending data along any unlimited dimension. +Modifying existing data +The following operations are not allowed (and the corresponding HDF5 files will fail): + +The writer cannot add new objects to the file. +The writer cannot delete objects in the file. +The writer cannot modify or append data with variable length, string or region reference datatypes. +File space recycling is not allowed. As a result the size of a file modified by a SWMR writer may be larger than a file modified by a non-SWMR writer. + +Tools for Working with SWMR +Two new tools, h5watch and h5clear, are available for use with SWMR. The other HDF5 utilities have also been modified to recognize SWMR: + +The h5watch tool allows a user to monitor the growth of a dataset. +The h5clear tool clears the status flags in the superblock of an HDF5 file. +The rest of the HDF5 tools will exit gracefully but not work with SWMR otherwise. + +Programming Example +A good example of using SWMR is included with the HDF5 tests in the source code. You can run it while reading the file it creates. If you then interrupt the application and reader and look at the resulting file, you will see that the file is still valid. Follow these steps: + +Download the HDF5-1.10 source code to a local directory on a filesystem (that complies with POSIX write() semantics). Build the software. No special configuration options are needed to use SWMR. + +Invoke two command terminal windows. In one window go into the bin/ directory of the built binaries. In the other window go into the test/ directory of the HDF5-1.10 source code that was just built. + +In the window in the test/ directory compile and run use\_append\_chunk.c. The example writes a three dimensional dataset by planes (with chunks of size 1 x 256 x 256). + +In the other window (in the bin/ directory) run h5watch on the file created by use\_append\_chunk.c (use\_append\_chunk.h5). It should be run while use\_append\_chunk is executing and you will see valid data displayed with h5watch. + +Interrupt use\_append\_chunk while it is running, and stop h5watch. + +Use h5clear to clear the status flags in the superblock of the HDF5 file (use\_append\_chunk.h5). + +View the file with h5dump. You will see that it is a valid file even though the application did not close properly. It will contain data up to the point that it was interrupted. diff --git a/doxygen/examples/intro_VDS.md b/doxygen/examples/intro_VDS.md new file mode 100755 index 00000000000..95485d5e777 --- /dev/null +++ b/doxygen/examples/intro_VDS.md @@ -0,0 +1,109 @@ +--- +title: Introduction to the Virtual Dataset - VDS +redirect\_from: + +--- +##\*\*\* UNDER CONSTRUCTION \*\*\* + +# Introduction to the Virtual Dataset - VDS + +The HDF5 Virtual Dataset (VDS) feature enables users to access data in a collection of HDF5 files as a single HDF5 dataset and to use the HDF5 APIs to work with that dataset. + +For example, your data may be collected into four files: + + + +You can map the datasets in the four files into a single VDS that can be accessed just like any other dataset: + + + + + +The mapping between a VDS and the HDF5 source datasets is persistent and transparent to an application. If a source file is missing the fill value will be displayed. + +See the Virtual (VDS) Documentation for complete details regarding the VDS feature. + +The VDS feature was implemented using hyperslab selection (H5S\_SELECT\_HYPERSLAB). See the tutorial on Reading From or Writing to a Subset of a Dataset for more information on selecting hyperslabs. + +Programming Model +To create a Virtual Dataset you simply follow the HDF5 programming model and add a few additional API calls to map the source code datasets to the VDS. + +Following are the steps for creating a Virtual Dataset: + +Create the source datasets that will comprise the VDS +Create the VDS: ‐ Define a datatype and dataspace (can be unlimited) +‐ Define the dataset creation property list (including fill value) +‐ (Repeat for each source dataset) Map elements from the source dataset to elements of the VDS: +Select elements in the source dataset (source selection) +Select elements in the virtual dataset (destination selection) +Map destination selections to source selections (see Functions for Working with a VDS) + +‐ Call H5Dcreate using the properties defined above +Access the VDS as a regular HDF5 dataset +Close the VDS when finished + +Functions for Working with a VDS +The H5P\_SET\_VIRTUAL API sets the mapping between virtual and source datasets. This is a dataset creation property list. Using this API will change the layout of the dataset to H5D\_VIRTUAL. As with specifying any dataset creation property list, an instance of the property list is created, modified, passed into the dataset creation call and then closed: + + dcpl = H5Pcreate (H5P\_DATASET\_CREATE); + + src\_space = H5screate\_simple ... + status = H5Sselect\_hyperslab (space, ... + status = H5Pset\_virtual (dcpl, space, SRC\_FILE[i], SRC\_DATASET[i], src\_space); + + dset = H5Dcreate2 (file, DATASET, H5T\_NATIVE\_INT, space, H5P\_DEFAULT, dcpl, H5P\_DEFAULT); + + status = H5Pclose (dcpl); +There are several other APIs introduced with Virtual Datasets, including query functions. For details see the complete list of HDF5 library APIs that support Virtual Datasets + + +Limitations +This feature requires HDF5-1.10. +The number of source datasets is unlimited. However, there is a limit on the size of each source dataset. + + +Programming Examples +Example 1 +This example creates three HDF5 files, each with a one-dimensional dataset of 6 elements. The datasets in these files are the source datasets that are then used to create a 4 x 6 Virtual Dataset with a fill value of -1. The first three rows of the VDS are mapped to the data from the three source datasets as shown below: + + + + + +In this example the three source datasets are mapped to the VDS with this code: + + src\_space = H5Screate\_simple (RANK1, dims, NULL); + for (i = 0; i < 3; i++) { + start[0] = (hsize\_t)i; + /* Select i-th row in the virtual dataset; selection in the source datasets is the same. */ + status = H5Sselect\_hyperslab (space, H5S\_SELECT\_SET, start, NULL, count, block); + status = H5Pset\_virtual (dcpl, space, SRC\_FILE[i], SRC\_DATASET[i], src\_space); + } +After the VDS is created and closed, it is reopened. The property list is then queried to determine the layout of the dataset and its mappings, and the data in the VDS is read and printed. + +This example is in the HDF5 source code and can be obtained from here: + +C Example + +For details on compiling an HDF5 application: [ Compiling HDF5 Applications ] + +Example 2 +This example shows how to use a C-style printf statement for specifying multiple source datasets as one virtual dataset. Only one mapping is required. In other words only one H5P\_SET\_VIRTUAL call is needed to map multiple datasets. It creates a 2-dimensional unlimited VDS. Then it re-opens the file, makes queries, and reads the virtual dataset. + +The source datasets are specified as A-0, A-1, A-2, and A-3. These are mapped to the virtual dataset with one call: + + status = H5Pset\_virtual (dcpl, vspace, SRCFILE, "/A-%b", src\_space); + +The %b indicates that the block count of the selection in the dimension should be used. + +C Example + +For details on compiling an HDF5 application: [ Compiling HDF5 Applications ] + + +Using h5dump with a VDS +The h5dump utility can be used to view a VDS. The h5dump output for a VDS looks exactly like that for any other dataset. If h5dump cannot find a source dataset then the fill value will be displayed. + +You can determine that a dataset is a VDS by looking at its properties with h5dump -p. It will display each source dataset mapping, beginning with Mapping 0. Below is an excerpt of the output of h5dump -p on the vds.h5 file created in Example 1.You can see that the entire source file a.h5 is mapped to the first row of the /VDS dataset: + + From ded34c53f41cc4a89123576f21c7be88d732277c Mon Sep 17 00:00:00 2001 From: bmribler <39579120+bmribler@users.noreply.github.com> Date: Sat, 6 Apr 2024 08:00:53 -0400 Subject: [PATCH 2/8] Revert "Fixed dead links in docs (#4334)" (#4335) This reverts commit 408fc6600292e945c8df32802eb9b9241093ce75. --- doxygen/dox/GettingStarted.dox | 4 +- doxygen/dox/IntroHDF5.dox | 1 + doxygen/dox/TechnicalNotes.dox | 8 +- doxygen/examples/intro_SWMR.md | 152 --------------------------------- doxygen/examples/intro_VDS.md | 109 ----------------------- 5 files changed, 4 insertions(+), 270 deletions(-) delete mode 100755 doxygen/examples/intro_SWMR.md delete mode 100755 doxygen/examples/intro_VDS.md diff --git a/doxygen/dox/GettingStarted.dox b/doxygen/dox/GettingStarted.dox index ec6cc6982f8..feb5f919f9a 100644 --- a/doxygen/dox/GettingStarted.dox +++ b/doxygen/dox/GettingStarted.dox @@ -71,8 +71,8 @@ A brief introduction to Parallel HDF5. If you are new to HDF5 please see the @re HDF5-1.10 New Features -\li Introduction to the Virtual Dataset - VDS -\li Introduction to Single-Writer/Multiple-Reader (SWMR) +\li Introduction to the Virtual Dataset - VDS +\li Introduction to Single-Writer/Multiple-Reader (SWMR) diff --git a/doxygen/dox/IntroHDF5.dox b/doxygen/dox/IntroHDF5.dox index eb53f43275d..33cf4a91ca8 100644 --- a/doxygen/dox/IntroHDF5.dox +++ b/doxygen/dox/IntroHDF5.dox @@ -609,6 +609,7 @@ on the HDF-EOS Tools and Information Center pag \li \ref LBExamples \li \ref ExAPI \li Examples in the Source Code +\li Other Examples \section secHDF5ExamplesCompile How To Compile For information on compiling in C, C++ and Fortran, see: \ref LBCompiling diff --git a/doxygen/dox/TechnicalNotes.dox b/doxygen/dox/TechnicalNotes.dox index e31360240a1..bca81e4211c 100644 --- a/doxygen/dox/TechnicalNotes.dox +++ b/doxygen/dox/TechnicalNotes.dox @@ -23,12 +23,6 @@ */ -/** \page Introduction to the Virtual Dataset - VDS - -\htmlinclude intro_VDS.md - -*/ - /** \page VFL HDF5 Virtual File Layer \htmlinclude VFL.html @@ -51,4 +45,4 @@ \htmlinclude DebuggingHDF5Applications.html -*/ +*/ \ No newline at end of file diff --git a/doxygen/examples/intro_SWMR.md b/doxygen/examples/intro_SWMR.md deleted file mode 100755 index c6a0faab8c5..00000000000 --- a/doxygen/examples/intro_SWMR.md +++ /dev/null @@ -1,152 +0,0 @@ ---- -title: Introduction to Single-Writer\_Multiple-Reader (SWMR) -redirect\_from: - ---- -##\*\*\* UNDER CONSTRUCTION \*\*\* - -# Introduction to Single-Writer\_Multiple-Reader (SWMR) - -Introduction to SWMR -The Single-Writer / Multiple-Reader (SWMR) feature enables multiple processes to read an HDF5 file while it is being written to (by a single process) without using locks or requiring communication between processes. - - - -All communication between processes must be performed via the HDF5 file. The HDF5 file under SWMR access must reside on a system that complies with POSIX write() semantics. - -The basic engineering challenge for this to work was to ensure that the readers of an HDF5 file always see a coherent (though possibly not up to date) HDF5 file. - -The issue is that when writing data there is information in the metadata cache in addition to the physical file on disk: - -However, the readers can only see the state contained in the physical file: - - - -The SWMR solution implements dependencies on when the metadata can be flushed to the file. This ensures that metadata cache flush operations occur in the proper order, so that there will never be internal file pointers in the physical file that point to invalid (unflushed) file addresses. - -A beneficial side effect of using SWMR access is better fault tolerance. It is more difficult to corrupt a file when using SWMR. - - -Documentation -[SWMR User's Guide](https://docs.hdfgroup.org/hdf5/tn/HDF5_SWMR_User_Guide.pdf) - -HDF5 Library APIs -Page: -H5F\_START\_SWMR\_WRITE — Enables SWMR writing mode for a file -Page: -H5DO\_APPEND — Appends data to a dataset along a specified dimension -Page: -H5P\_SET\_OBJECT\_FLUSH\_CB — Sets a callback function to invoke when an object flush occurs in the file -Page: -H5P\_GET\_OBJECT\_FLUSH\_CB — Retrieves the object flush property values from the file access property list -Page: -H5O\_DISABLE\_MDC\_FLUSHES — Prevents metadata entries for an HDF5 object from being flushed from the metadata cache to storage -Page: -H5O\_ENABLE\_MDC\_FLUSHES — Enables flushing of dirty metadata entries from a file’s metadata cache -Page: -H5O\_ARE\_MDC\_FLUSHES\_DISABLED — Determines if an HDF5 object has had flushes of metadata entries disabled -Tools -Page: -h5watch — Outputs new records appended to a dataset as the dataset grows -Page: -h5format\_convert — Converts the layout format version and chunked indexing types of datasets created with HDF5-1.10 so that applications built with HDF5-1.8 can access them -Page: -h5clear — Clears superblock status\_flags field, removes metadata cache image, prints EOA and EOF, or sets EOA of a file -Design Documents -Error while fetching page properties report data: - -Programming Model -Please be aware that the SWMR feature requires that an HDF5 file be created with the latest file format. See H5P\_SET\_LIBVER\_BOUNDS for more information. - -To use SWMR follow the the general programming model for creating and accessing HDF5 files and objects along with the steps described below. - -SWMR Writer: -The SWMR writer either opens an existing file and objects or creates them as follows. - -Open an existing file: - -Call H5Fopen using the H5F\_ACC\_SWMR\_WRITE flag. -Begin writing datasets. -Periodically flush data. -Create a new file: - -Call H5Fcreate using the latest file format. -Create groups, datasets and attributes, and then close the attributes. -Call H5F\_START\_SWMR\_WRITE to start SWMR access to the file. -Periodically flush data. -Example Code: - -Create the file using the latest file format property: - - fapl = H5Pcreate (H5P\_FILE\_ACCESS); - status = H5Pset\_libver\_bounds (fapl, H5F\_LIBVER\_LATEST, H5F\_LIBVER\_LATEST); - fid = H5Fcreate (filename, H5F\_ACC\_TRUNC, H5P\_DEFAULT, fapl); -[Create objects (files, datasets, ...). Close any attributes and named datatype objects. Groups and datasets may remain open before starting SWMR access to them.] - -Start SWMR access to the file: - - status = H5Fstart\_swmr\_write (fid); -Reopen the datasets and start writing, periodically flushing data: - - status = H5Dwrite (dset\_id, ...); - status = H5Dflush (dset\_id); -SWMR Reader: -The SWMR reader must continually poll for new data: - - - -Call H5Fopen using the H5F\_ACC\_SWMR\_READ flag. -Poll, checking the size of the dataset to see if there is new data available for reading. -Read new data, if any. -Example Code: - -Open the file using the SWMR read flag: - - fid = H5Fopen (filename, H5F\_ACC\_RDONLY | H5F\_ACC\_SWMR\_READ, H5P\_DEFAULT); -Open the dataset and then repeatedly poll the dataset, by getting the dimensions, reading new data, and refreshing: - - dset\_id = H5Dopen (...); - space\_id = H5Dget\_space (...); - while (...) { - status = H5Dread (dset\_id, ...); - status = H5Drefresh (dset\_id); - space\_id = H5Dget\_space (...); - } - -Limitations and Scope -An HDF5 file under SWMR access must reside on a system that complies with POSIX write() semantics. It is also limited in scope as follows: - -The writer process is only allowed to modify raw data of existing datasets by; - -Appending data along any unlimited dimension. -Modifying existing data -The following operations are not allowed (and the corresponding HDF5 files will fail): - -The writer cannot add new objects to the file. -The writer cannot delete objects in the file. -The writer cannot modify or append data with variable length, string or region reference datatypes. -File space recycling is not allowed. As a result the size of a file modified by a SWMR writer may be larger than a file modified by a non-SWMR writer. - -Tools for Working with SWMR -Two new tools, h5watch and h5clear, are available for use with SWMR. The other HDF5 utilities have also been modified to recognize SWMR: - -The h5watch tool allows a user to monitor the growth of a dataset. -The h5clear tool clears the status flags in the superblock of an HDF5 file. -The rest of the HDF5 tools will exit gracefully but not work with SWMR otherwise. - -Programming Example -A good example of using SWMR is included with the HDF5 tests in the source code. You can run it while reading the file it creates. If you then interrupt the application and reader and look at the resulting file, you will see that the file is still valid. Follow these steps: - -Download the HDF5-1.10 source code to a local directory on a filesystem (that complies with POSIX write() semantics). Build the software. No special configuration options are needed to use SWMR. - -Invoke two command terminal windows. In one window go into the bin/ directory of the built binaries. In the other window go into the test/ directory of the HDF5-1.10 source code that was just built. - -In the window in the test/ directory compile and run use\_append\_chunk.c. The example writes a three dimensional dataset by planes (with chunks of size 1 x 256 x 256). - -In the other window (in the bin/ directory) run h5watch on the file created by use\_append\_chunk.c (use\_append\_chunk.h5). It should be run while use\_append\_chunk is executing and you will see valid data displayed with h5watch. - -Interrupt use\_append\_chunk while it is running, and stop h5watch. - -Use h5clear to clear the status flags in the superblock of the HDF5 file (use\_append\_chunk.h5). - -View the file with h5dump. You will see that it is a valid file even though the application did not close properly. It will contain data up to the point that it was interrupted. diff --git a/doxygen/examples/intro_VDS.md b/doxygen/examples/intro_VDS.md deleted file mode 100755 index 95485d5e777..00000000000 --- a/doxygen/examples/intro_VDS.md +++ /dev/null @@ -1,109 +0,0 @@ ---- -title: Introduction to the Virtual Dataset - VDS -redirect\_from: - ---- -##\*\*\* UNDER CONSTRUCTION \*\*\* - -# Introduction to the Virtual Dataset - VDS - -The HDF5 Virtual Dataset (VDS) feature enables users to access data in a collection of HDF5 files as a single HDF5 dataset and to use the HDF5 APIs to work with that dataset. - -For example, your data may be collected into four files: - - - -You can map the datasets in the four files into a single VDS that can be accessed just like any other dataset: - - - - - -The mapping between a VDS and the HDF5 source datasets is persistent and transparent to an application. If a source file is missing the fill value will be displayed. - -See the Virtual (VDS) Documentation for complete details regarding the VDS feature. - -The VDS feature was implemented using hyperslab selection (H5S\_SELECT\_HYPERSLAB). See the tutorial on Reading From or Writing to a Subset of a Dataset for more information on selecting hyperslabs. - -Programming Model -To create a Virtual Dataset you simply follow the HDF5 programming model and add a few additional API calls to map the source code datasets to the VDS. - -Following are the steps for creating a Virtual Dataset: - -Create the source datasets that will comprise the VDS -Create the VDS: ‐ Define a datatype and dataspace (can be unlimited) -‐ Define the dataset creation property list (including fill value) -‐ (Repeat for each source dataset) Map elements from the source dataset to elements of the VDS: -Select elements in the source dataset (source selection) -Select elements in the virtual dataset (destination selection) -Map destination selections to source selections (see Functions for Working with a VDS) - -‐ Call H5Dcreate using the properties defined above -Access the VDS as a regular HDF5 dataset -Close the VDS when finished - -Functions for Working with a VDS -The H5P\_SET\_VIRTUAL API sets the mapping between virtual and source datasets. This is a dataset creation property list. Using this API will change the layout of the dataset to H5D\_VIRTUAL. As with specifying any dataset creation property list, an instance of the property list is created, modified, passed into the dataset creation call and then closed: - - dcpl = H5Pcreate (H5P\_DATASET\_CREATE); - - src\_space = H5screate\_simple ... - status = H5Sselect\_hyperslab (space, ... - status = H5Pset\_virtual (dcpl, space, SRC\_FILE[i], SRC\_DATASET[i], src\_space); - - dset = H5Dcreate2 (file, DATASET, H5T\_NATIVE\_INT, space, H5P\_DEFAULT, dcpl, H5P\_DEFAULT); - - status = H5Pclose (dcpl); -There are several other APIs introduced with Virtual Datasets, including query functions. For details see the complete list of HDF5 library APIs that support Virtual Datasets - - -Limitations -This feature requires HDF5-1.10. -The number of source datasets is unlimited. However, there is a limit on the size of each source dataset. - - -Programming Examples -Example 1 -This example creates three HDF5 files, each with a one-dimensional dataset of 6 elements. The datasets in these files are the source datasets that are then used to create a 4 x 6 Virtual Dataset with a fill value of -1. The first three rows of the VDS are mapped to the data from the three source datasets as shown below: - - - - - -In this example the three source datasets are mapped to the VDS with this code: - - src\_space = H5Screate\_simple (RANK1, dims, NULL); - for (i = 0; i < 3; i++) { - start[0] = (hsize\_t)i; - /* Select i-th row in the virtual dataset; selection in the source datasets is the same. */ - status = H5Sselect\_hyperslab (space, H5S\_SELECT\_SET, start, NULL, count, block); - status = H5Pset\_virtual (dcpl, space, SRC\_FILE[i], SRC\_DATASET[i], src\_space); - } -After the VDS is created and closed, it is reopened. The property list is then queried to determine the layout of the dataset and its mappings, and the data in the VDS is read and printed. - -This example is in the HDF5 source code and can be obtained from here: - -C Example - -For details on compiling an HDF5 application: [ Compiling HDF5 Applications ] - -Example 2 -This example shows how to use a C-style printf statement for specifying multiple source datasets as one virtual dataset. Only one mapping is required. In other words only one H5P\_SET\_VIRTUAL call is needed to map multiple datasets. It creates a 2-dimensional unlimited VDS. Then it re-opens the file, makes queries, and reads the virtual dataset. - -The source datasets are specified as A-0, A-1, A-2, and A-3. These are mapped to the virtual dataset with one call: - - status = H5Pset\_virtual (dcpl, vspace, SRCFILE, "/A-%b", src\_space); - -The %b indicates that the block count of the selection in the dimension should be used. - -C Example - -For details on compiling an HDF5 application: [ Compiling HDF5 Applications ] - - -Using h5dump with a VDS -The h5dump utility can be used to view a VDS. The h5dump output for a VDS looks exactly like that for any other dataset. If h5dump cannot find a source dataset then the fill value will be displayed. - -You can determine that a dataset is a VDS by looking at its properties with h5dump -p. It will display each source dataset mapping, beginning with Mapping 0. Below is an excerpt of the output of h5dump -p on the vds.h5 file created in Example 1.You can see that the entire source file a.h5 is mapped to the first row of the /VDS dataset: - - From a6d689a1d6c22b38c3d038067962f27f49a3df2f Mon Sep 17 00:00:00 2001 From: "H. Joe Lee" Date: Sat, 6 Apr 2024 07:21:18 -0500 Subject: [PATCH 3/8] Fix grammar and content in HDF5Examples (#4333) --- release_docs/RELEASE.txt | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index ebdfb4fc67b..00cfd7404b4 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -169,15 +169,16 @@ New Features - Incorporated HDF5 examples repository into HDF5 library. - The HDF5Examples folder is equivalent to the repository hdf5-examples. - As such it can build and test the examples during library build or after - the library is installed. Previously, the hdf5-repository archives were - downloaded for packaging with the library. Now the examples can be built + The HDF5Examples folder is equivalent to the hdf5-examples repository. + This enables building and testing the examples + during the library build process or after the library has been installed. + Previously, the hdf5-examples archives were downloaded + for packaging with the library. Now the examples can be built and tested without a packaged install of the library. - However to maintain the ability to use the HDF5Examples with an installed - library, it is necessary to translate or synch the option names from those - used by the library to those used by the examples. The typical pattern is: + However, to maintain the ability to use the HDF5Examples with an installed + library, it is necessary to map the option names used by the library + to those used by the examples. The typical pattern is: = HDF_BUILD_FORTRAN = ${HDF5_BUILD_FORTRAN} From 0de523bc42b712fca54f209c554477faea3c37d3 Mon Sep 17 00:00:00 2001 From: Dana Robinson <43805+derobins@users.noreply.github.com> Date: Sun, 7 Apr 2024 14:09:23 -0700 Subject: [PATCH 4/8] Remove HD macros for C time functions (#4337) * HDasctime * HDclock * HDctime * HDdifftime * HDgmtime * HDlocaltime * HDmktime * HDtime * HDtzset HDgettimeofday will be done later --- src/H5Clog_json.c | 44 +++++++++++++++--------------- src/H5Dmpio.c | 4 +-- src/H5FDcore.c | 8 +++--- src/H5FDlog.c | 8 +++--- src/H5FDonion.c | 4 +-- src/H5FDs3comms.c | 4 +-- src/H5FDsec2.c | 8 +++--- src/H5Odbg.c | 8 +++--- src/H5Omtime.c | 4 +-- src/H5private.h | 27 ------------------ src/H5system.c | 6 ++-- src/H5timer.c | 6 ++-- test/API/H5_api_test.c | 2 +- test/accum.c | 2 +- test/app_ref.c | 2 +- test/big.c | 2 +- test/btree2.c | 6 ++-- test/cmpd_dset.c | 2 +- test/dsets.c | 2 +- test/dt_arith.c | 2 +- test/dtypes.c | 2 +- test/earray.c | 2 +- test/farray.c | 2 +- test/fheap.c | 6 ++-- test/h5test.c | 6 ++-- test/hyperslab.c | 2 +- test/istore.c | 2 +- test/links.c | 8 +++--- test/mdset.c | 2 +- test/mtime.c | 8 +++--- test/set_extent.c | 2 +- test/swmr_reader.c | 4 +-- test/swmr_remove_reader.c | 4 +-- test/swmr_sparse_reader.c | 4 +-- test/tid.c | 2 +- test/tselect.c | 18 +++++------- test/tskiplist.c | 2 +- test/ttime.c | 4 +-- test/tunicode.c | 2 +- test/unlink.c | 2 +- test/vds_swmr_writer.c | 4 +-- testpar/API/H5_api_test_parallel.c | 2 +- testpar/t_pmulti_dset.c | 2 +- tools/src/h5ls/h5ls.c | 4 +-- 44 files changed, 108 insertions(+), 139 deletions(-) diff --git a/src/H5Clog_json.c b/src/H5Clog_json.c index 548e7b83d2e..371d48752c9 100644 --- a/src/H5Clog_json.c +++ b/src/H5Clog_json.c @@ -339,7 +339,7 @@ H5C__json_write_start_log_msg(void *udata) \"action\":\"logging start\"\ },\n\ ", - (long long)HDtime(NULL)); + (long long)time(NULL)); /* Write the log message to the file */ if (H5C__json_write_log_message(json_udata) < 0) @@ -378,7 +378,7 @@ H5C__json_write_stop_log_msg(void *udata) }\n\ ]}\n\ ", - (long long)HDtime(NULL)); + (long long)time(NULL)); /* Write the log message to the file */ if (H5C__json_write_log_message(json_udata) < 0) @@ -417,7 +417,7 @@ H5C__json_write_create_cache_log_msg(void *udata, herr_t fxn_ret_value) \"returned\":%d\ },\n\ ", - (long long)HDtime(NULL), (int)fxn_ret_value); + (long long)time(NULL), (int)fxn_ret_value); /* Write the log message to the file */ if (H5C__json_write_log_message(json_udata) < 0) @@ -455,7 +455,7 @@ H5C__json_write_destroy_cache_log_msg(void *udata) \"action\":\"destroy\"\ },\n\ ", - (long long)HDtime(NULL)); + (long long)time(NULL)); /* Write the log message to the file */ if (H5C__json_write_log_message(json_udata) < 0) @@ -494,7 +494,7 @@ H5C__json_write_evict_cache_log_msg(void *udata, herr_t fxn_ret_value) \"returned\":%d\ },\n\ ", - (long long)HDtime(NULL), (int)fxn_ret_value); + (long long)time(NULL), (int)fxn_ret_value); /* Write the log message to the file */ if (H5C__json_write_log_message(json_udata) < 0) @@ -535,7 +535,7 @@ H5C__json_write_expunge_entry_log_msg(void *udata, haddr_t address, int type_id, \"returned\":%d\ },\n\ ", - (long long)HDtime(NULL), (unsigned long)address, (int)type_id, (int)fxn_ret_value); + (long long)time(NULL), (unsigned long)address, (int)type_id, (int)fxn_ret_value); /* Write the log message to the file */ if (H5C__json_write_log_message(json_udata) < 0) @@ -574,7 +574,7 @@ H5C__json_write_flush_cache_log_msg(void *udata, herr_t fxn_ret_value) \"returned\":%d\ },\n\ ", - (long long)HDtime(NULL), (int)fxn_ret_value); + (long long)time(NULL), (int)fxn_ret_value); /* Write the log message to the file */ if (H5C__json_write_log_message(json_udata) < 0) @@ -618,7 +618,7 @@ H5C__json_write_insert_entry_log_msg(void *udata, haddr_t address, int type_id, \"returned\":%d\ },\n\ ", - (long long)HDtime(NULL), (unsigned long)address, type_id, flags, (int)size, (int)fxn_ret_value); + (long long)time(NULL), (unsigned long)address, type_id, flags, (int)size, (int)fxn_ret_value); /* Write the log message to the file */ if (H5C__json_write_log_message(json_udata) < 0) @@ -659,7 +659,7 @@ H5C__json_write_mark_entry_dirty_log_msg(void *udata, const H5C_cache_entry_t *e \"returned\":%d\ },\n\ ", - (long long)HDtime(NULL), (unsigned long)entry->addr, (int)fxn_ret_value); + (long long)time(NULL), (unsigned long)entry->addr, (int)fxn_ret_value); /* Write the log message to the file */ if (H5C__json_write_log_message(json_udata) < 0) @@ -700,7 +700,7 @@ H5C__json_write_mark_entry_clean_log_msg(void *udata, const H5C_cache_entry_t *e \"returned\":%d\ },\n\ ", - (long long)HDtime(NULL), (unsigned long)entry->addr, (int)fxn_ret_value); + (long long)time(NULL), (unsigned long)entry->addr, (int)fxn_ret_value); /* Write the log message to the file */ if (H5C__json_write_log_message(json_udata) < 0) @@ -742,7 +742,7 @@ H5C__json_write_mark_unserialized_entry_log_msg(void *udata, const H5C_cache_ent \"returned\":%d\ },\n\ ", - (long long)HDtime(NULL), (unsigned long)entry->addr, (int)fxn_ret_value); + (long long)time(NULL), (unsigned long)entry->addr, (int)fxn_ret_value); /* Write the log message to the file */ if (H5C__json_write_log_message(json_udata) < 0) @@ -784,7 +784,7 @@ H5C__json_write_mark_serialized_entry_log_msg(void *udata, const H5C_cache_entry \"returned\":%d\ },\n\ ", - (long long)HDtime(NULL), (unsigned long)entry->addr, (int)fxn_ret_value); + (long long)time(NULL), (unsigned long)entry->addr, (int)fxn_ret_value); /* Write the log message to the file */ if (H5C__json_write_log_message(json_udata) < 0) @@ -827,7 +827,7 @@ H5C__json_write_move_entry_log_msg(void *udata, haddr_t old_addr, haddr_t new_ad \"returned\":%d\ },\n\ ", - (long long)HDtime(NULL), (unsigned long)old_addr, (unsigned long)new_addr, type_id, + (long long)time(NULL), (unsigned long)old_addr, (unsigned long)new_addr, type_id, (int)fxn_ret_value); /* Write the log message to the file */ @@ -869,7 +869,7 @@ H5C__json_write_pin_entry_log_msg(void *udata, const H5C_cache_entry_t *entry, h \"returned\":%d\ },\n\ ", - (long long)HDtime(NULL), (unsigned long)entry->addr, (int)fxn_ret_value); + (long long)time(NULL), (unsigned long)entry->addr, (int)fxn_ret_value); /* Write the log message to the file */ if (H5C__json_write_log_message(json_udata) < 0) @@ -914,7 +914,7 @@ H5C__json_write_create_fd_log_msg(void *udata, const H5C_cache_entry_t *parent, \"returned\":%d\ },\n\ ", - (long long)HDtime(NULL), (unsigned long)parent->addr, (unsigned long)child->addr, + (long long)time(NULL), (unsigned long)parent->addr, (unsigned long)child->addr, (int)fxn_ret_value); /* Write the log message to the file */ @@ -966,7 +966,7 @@ H5C__json_write_protect_entry_log_msg(void *udata, const H5C_cache_entry_t *entr \"returned\":%d\ },\n\ ", - (long long)HDtime(NULL), (unsigned long)entry->addr, type_id, rw_s, (int)entry->size, + (long long)time(NULL), (unsigned long)entry->addr, type_id, rw_s, (int)entry->size, (int)fxn_ret_value); /* Write the log message to the file */ @@ -1010,7 +1010,7 @@ H5C__json_write_resize_entry_log_msg(void *udata, const H5C_cache_entry_t *entry \"returned\":%d\ },\n\ ", - (long long)HDtime(NULL), (unsigned long)entry->addr, (int)new_size, (int)fxn_ret_value); + (long long)time(NULL), (unsigned long)entry->addr, (int)new_size, (int)fxn_ret_value); /* Write the log message to the file */ if (H5C__json_write_log_message(json_udata) < 0) @@ -1051,7 +1051,7 @@ H5C__json_write_unpin_entry_log_msg(void *udata, const H5C_cache_entry_t *entry, \"returned\":%d\ },\n\ ", - (long long)HDtime(NULL), (unsigned long)entry->addr, (int)fxn_ret_value); + (long long)time(NULL), (unsigned long)entry->addr, (int)fxn_ret_value); /* Write the log message to the file */ if (H5C__json_write_log_message(json_udata) < 0) @@ -1096,7 +1096,7 @@ H5C__json_write_destroy_fd_log_msg(void *udata, const H5C_cache_entry_t *parent, \"returned\":%d\ },\n\ ", - (long long)HDtime(NULL), (unsigned long)parent->addr, (unsigned long)child->addr, + (long long)time(NULL), (unsigned long)parent->addr, (unsigned long)child->addr, (int)fxn_ret_value); /* Write the log message to the file */ @@ -1140,7 +1140,7 @@ H5C__json_write_unprotect_entry_log_msg(void *udata, haddr_t address, int type_i \"returned\":%d\ },\n\ ", - (long long)HDtime(NULL), (unsigned long)address, type_id, flags, (int)fxn_ret_value); + (long long)time(NULL), (unsigned long)address, type_id, flags, (int)fxn_ret_value); /* Write the log message to the file */ if (H5C__json_write_log_message(json_udata) < 0) @@ -1181,7 +1181,7 @@ H5C__json_write_set_cache_config_log_msg(void *udata, const H5AC_cache_config_t \"returned\":%d\ },\n\ ", - (long long)HDtime(NULL), (int)fxn_ret_value); + (long long)time(NULL), (int)fxn_ret_value); /* Write the log message to the file */ if (H5C__json_write_log_message(json_udata) < 0) @@ -1222,7 +1222,7 @@ H5C__json_write_remove_entry_log_msg(void *udata, const H5C_cache_entry_t *entry \"returned\":%d\ },\n\ ", - (long long)HDtime(NULL), (unsigned long)entry->addr, (int)fxn_ret_value); + (long long)time(NULL), (unsigned long)entry->addr, (int)fxn_ret_value); /* Write the log message to the file */ if (H5C__json_write_log_message(json_udata) < 0) diff --git a/src/H5Dmpio.c b/src/H5Dmpio.c index 307629f7718..84a0f25356f 100644 --- a/src/H5Dmpio.c +++ b/src/H5Dmpio.c @@ -1184,8 +1184,8 @@ H5D__piece_io(H5D_io_info_t *io_info) HGOTO_ERROR(H5E_IO, H5E_OPENERROR, FAIL, "couldn't open debugging log file"); /* Print a short header for this I/O operation */ - time_now = HDtime(NULL); - fprintf(debug_log_file, "##### %s", HDasctime(HDlocaltime(&time_now))); + time_now = time(NULL); + fprintf(debug_log_file, "##### %s", asctime(localtime(&time_now))); debug_stream = debug_log_file; } diff --git a/src/H5FDcore.c b/src/H5FDcore.c index c74ef5ed28a..f6967e3e3be 100644 --- a/src/H5FDcore.c +++ b/src/H5FDcore.c @@ -391,7 +391,7 @@ H5FD__core_write_to_bstore(H5FD_core_t *file, haddr_t addr, size_t size) if (-1 == bytes_wrote) { /* error */ int myerrno = errno; - time_t mytime = HDtime(NULL); + time_t mytime = time(NULL); offset = HDlseek(file->fd, 0, SEEK_CUR); @@ -399,7 +399,7 @@ H5FD__core_write_to_bstore(H5FD_core_t *file, haddr_t addr, size_t size) "write to backing store failed: time = %s, filename = '%s', file descriptor = %d, " "errno = %d, error message = '%s', ptr = %p, total write size = %llu, bytes this " "sub-write = %llu, bytes actually written = %llu, offset = %llu", - HDctime(&mytime), file->name, file->fd, myerrno, strerror(myerrno), (void *)ptr, + ctime(&mytime), file->name, file->fd, myerrno, strerror(myerrno), (void *)ptr, (unsigned long long)size, (unsigned long long)bytes_in, (unsigned long long)bytes_wrote, (unsigned long long)offset); } /* end if */ @@ -900,7 +900,7 @@ H5FD__core_open(const char *name, unsigned flags, hid_t fapl_id, haddr_t maxaddr if (-1 == bytes_read) { /* error */ int myerrno = errno; - time_t mytime = HDtime(NULL); + time_t mytime = time(NULL); offset = HDlseek(file->fd, 0, SEEK_CUR); @@ -909,7 +909,7 @@ H5FD__core_open(const char *name, unsigned flags, hid_t fapl_id, haddr_t maxaddr "file read failed: time = %s, filename = '%s', file descriptor = %d, errno = %d, " "error message = '%s', file->mem = %p, total read size = %llu, bytes this " "sub-read = %llu, bytes actually read = %llu, offset = %llu", - HDctime(&mytime), file->name, file->fd, myerrno, strerror(myerrno), + ctime(&mytime), file->name, file->fd, myerrno, strerror(myerrno), (void *)file->mem, (unsigned long long)size, (unsigned long long)bytes_in, (unsigned long long)bytes_read, (unsigned long long)offset); } /* end if */ diff --git a/src/H5FDlog.c b/src/H5FDlog.c index 677382552e8..c85a6725ec9 100644 --- a/src/H5FDlog.c +++ b/src/H5FDlog.c @@ -1228,7 +1228,7 @@ H5FD__log_read(H5FD_t *_file, H5FD_mem_t type, hid_t H5_ATTR_UNUSED dxpl_id, had if (-1 == bytes_read) { /* error */ int myerrno = errno; - time_t mytime = HDtime(NULL); + time_t mytime = time(NULL); offset = HDlseek(file->fd, 0, SEEK_CUR); @@ -1240,7 +1240,7 @@ H5FD__log_read(H5FD_t *_file, H5FD_mem_t type, hid_t H5_ATTR_UNUSED dxpl_id, had "file read failed: time = %s, filename = '%s', file descriptor = %d, errno = %d, " "error message = '%s', buf = %p, total read size = %llu, bytes this sub-read = %llu, " "bytes actually read = %llu, offset = %llu", - HDctime(&mytime), file->filename, file->fd, myerrno, strerror(myerrno), buf, + ctime(&mytime), file->filename, file->fd, myerrno, strerror(myerrno), buf, (unsigned long long)size, (unsigned long long)bytes_in, (unsigned long long)bytes_read, (unsigned long long)offset); } @@ -1447,7 +1447,7 @@ H5FD__log_write(H5FD_t *_file, H5FD_mem_t type, hid_t H5_ATTR_UNUSED dxpl_id, ha if (-1 == bytes_wrote) { /* error */ int myerrno = errno; - time_t mytime = HDtime(NULL); + time_t mytime = time(NULL); offset = HDlseek(file->fd, 0, SEEK_CUR); @@ -1459,7 +1459,7 @@ H5FD__log_write(H5FD_t *_file, H5FD_mem_t type, hid_t H5_ATTR_UNUSED dxpl_id, ha "file write failed: time = %s, filename = '%s', file descriptor = %d, errno = %d, " "error message = '%s', buf = %p, total write size = %llu, bytes this sub-write = " "%llu, bytes actually written = %llu, offset = %llu", - HDctime(&mytime), file->filename, file->fd, myerrno, strerror(myerrno), buf, + ctime(&mytime), file->filename, file->fd, myerrno, strerror(myerrno), buf, (unsigned long long)size, (unsigned long long)bytes_in, (unsigned long long)bytes_wrote, (unsigned long long)offset); } /* end if */ diff --git a/src/H5FDonion.c b/src/H5FDonion.c index 65b7fa51dd8..516295bad5d 100644 --- a/src/H5FDonion.c +++ b/src/H5FDonion.c @@ -462,8 +462,8 @@ H5FD__onion_commit_new_revision_record(H5FD_onion_t *file) FUNC_ENTER_PACKAGE - HDtime(&rawtime); - info = HDgmtime(&rawtime); + time(&rawtime); + info = gmtime(&rawtime); strftime(rec->time_of_creation, sizeof(rec->time_of_creation), "%Y%m%dT%H%M%SZ", info); rec->logical_eof = file->logical_eof; diff --git a/src/H5FDs3comms.c b/src/H5FDs3comms.c index 2b7b5419c61..f5be8f42f97 100644 --- a/src/H5FDs3comms.c +++ b/src/H5FDs3comms.c @@ -1598,8 +1598,8 @@ gmnow(void) struct tm *ret_value = NULL; /* Doctor assert, checks against error in time() */ - if ((time_t)(-1) != HDtime(now_ptr)) - ret_value = HDgmtime(now_ptr); + if ((time_t)(-1) != time(now_ptr)) + ret_value = gmtime(now_ptr); assert(ret_value != NULL); diff --git a/src/H5FDsec2.c b/src/H5FDsec2.c index 274a8ad3462..01a4bfd235e 100644 --- a/src/H5FDsec2.c +++ b/src/H5FDsec2.c @@ -695,7 +695,7 @@ H5FD__sec2_read(H5FD_t *_file, H5FD_mem_t H5_ATTR_UNUSED type, hid_t H5_ATTR_UNU if (-1 == bytes_read) { /* error */ int myerrno = errno; - time_t mytime = HDtime(NULL); + time_t mytime = time(NULL); offset = HDlseek(file->fd, 0, SEEK_CUR); @@ -703,7 +703,7 @@ H5FD__sec2_read(H5FD_t *_file, H5FD_mem_t H5_ATTR_UNUSED type, hid_t H5_ATTR_UNU "file read failed: time = %s, filename = '%s', file descriptor = %d, errno = %d, " "error message = '%s', buf = %p, total read size = %llu, bytes this sub-read = %llu, " "bytes actually read = %llu, offset = %llu", - HDctime(&mytime), file->filename, file->fd, myerrno, strerror(myerrno), buf, + ctime(&mytime), file->filename, file->fd, myerrno, strerror(myerrno), buf, (unsigned long long)size, (unsigned long long)bytes_in, (unsigned long long)bytes_read, (unsigned long long)offset); } /* end if */ @@ -801,7 +801,7 @@ H5FD__sec2_write(H5FD_t *_file, H5FD_mem_t H5_ATTR_UNUSED type, hid_t H5_ATTR_UN if (-1 == bytes_wrote) { /* error */ int myerrno = errno; - time_t mytime = HDtime(NULL); + time_t mytime = time(NULL); offset = HDlseek(file->fd, 0, SEEK_CUR); @@ -809,7 +809,7 @@ H5FD__sec2_write(H5FD_t *_file, H5FD_mem_t H5_ATTR_UNUSED type, hid_t H5_ATTR_UN "file write failed: time = %s, filename = '%s', file descriptor = %d, errno = %d, " "error message = '%s', buf = %p, total write size = %llu, bytes this sub-write = " "%llu, bytes actually written = %llu, offset = %llu", - HDctime(&mytime), file->filename, file->fd, myerrno, strerror(myerrno), buf, + ctime(&mytime), file->filename, file->fd, myerrno, strerror(myerrno), buf, (unsigned long long)size, (unsigned long long)bytes_in, (unsigned long long)bytes_wrote, (unsigned long long)offset); } /* end if */ diff --git a/src/H5Odbg.c b/src/H5Odbg.c index dfc8e878d8f..78bace66392 100644 --- a/src/H5Odbg.c +++ b/src/H5Odbg.c @@ -307,16 +307,16 @@ H5O__debug_real(H5F_t *f, H5O_t *oh, haddr_t addr, FILE *stream, int indent, int char buf[128]; /* Buffer for formatting time info */ /* Time fields */ - tm = HDlocaltime(&oh->atime); + tm = localtime(&oh->atime); strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S %Z", tm); fprintf(stream, "%*s%-*s %s\n", indent, "", fwidth, "Access Time:", buf); - tm = HDlocaltime(&oh->mtime); + tm = localtime(&oh->mtime); strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S %Z", tm); fprintf(stream, "%*s%-*s %s\n", indent, "", fwidth, "Modification Time:", buf); - tm = HDlocaltime(&oh->ctime); + tm = localtime(&oh->ctime); strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S %Z", tm); fprintf(stream, "%*s%-*s %s\n", indent, "", fwidth, "Change Time:", buf); - tm = HDlocaltime(&oh->btime); + tm = localtime(&oh->btime); strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S %Z", tm); fprintf(stream, "%*s%-*s %s\n", indent, "", fwidth, "Birth Time:", buf); } /* end if */ diff --git a/src/H5Omtime.c b/src/H5Omtime.c index cd7fba4c05f..66f8d1bf4d4 100644 --- a/src/H5Omtime.c +++ b/src/H5Omtime.c @@ -271,7 +271,7 @@ H5O__mtime_encode(H5F_t H5_ATTR_UNUSED *f, bool H5_ATTR_UNUSED disable_shared, s assert(mesg); /* encode */ - tm = HDgmtime(mesg); + tm = gmtime(mesg); snprintf((char *)p, p_size, "%04d%02d%02d%02d%02d%02d", 1900 + tm->tm_year, 1 + tm->tm_mon, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec); @@ -415,7 +415,7 @@ H5O__mtime_debug(H5F_t H5_ATTR_UNUSED *f, const void *_mesg, FILE *stream, int i assert(fwidth >= 0); /* debug */ - tm = HDlocaltime(mesg); + tm = localtime(mesg); strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S %Z", tm); fprintf(stream, "%*s%-*s %s\n", indent, "", fwidth, "Time:", buf); diff --git a/src/H5private.h b/src/H5private.h index 904aa9f3652..e0148f43d70 100644 --- a/src/H5private.h +++ b/src/H5private.h @@ -685,15 +685,9 @@ typedef off_t h5_stat_size_t; #ifndef HDaccess #define HDaccess(F, M) access(F, M) #endif -#ifndef HDasctime -#define HDasctime(T) asctime(T) -#endif #ifndef HDchdir #define HDchdir(S) chdir(S) #endif -#ifndef HDclock -#define HDclock() clock() -#endif #ifndef HDclose #define HDclose(F) close(F) #endif @@ -703,12 +697,6 @@ typedef off_t h5_stat_size_t; #ifndef HDcreat #define HDcreat(S, M) creat(S, M) #endif -#ifndef HDctime -#define HDctime(T) ctime(T) -#endif -#ifndef HDdifftime -#define HDdifftime(X, Y) difftime(X, Y) -#endif #ifndef HDfdopen #define HDfdopen(N, S) fdopen(N, S) #endif @@ -771,15 +759,9 @@ H5_DLL H5_ATTR_CONST int Nflock(int fd, int operation); #ifndef HDgettimeofday #define HDgettimeofday(S, P) gettimeofday(S, P) #endif -#ifndef HDgmtime -#define HDgmtime(T) gmtime(T) -#endif #ifndef HDisatty #define HDisatty(F) isatty(F) #endif -#ifndef HDlocaltime -#define HDlocaltime(T) localtime(T) -#endif #ifndef HDlseek #define HDlseek(F, O, W) lseek(F, O, W) #endif @@ -789,9 +771,6 @@ H5_DLL H5_ATTR_CONST int Nflock(int fd, int operation); #ifndef HDmkdir #define HDmkdir(S, M) mkdir(S, M) #endif -#ifndef HDmktime -#define HDmktime(T) mktime(T) -#endif #ifndef HDnanosleep #define HDnanosleep(N, O) nanosleep(N, O) #endif @@ -911,9 +890,6 @@ H5_DLL H5_ATTR_CONST int Nflock(int fd, int operation); #ifndef HDstrtok_r #define HDstrtok_r(X, Y, Z) strtok_r(X, Y, Z) #endif -#ifndef HDtime -#define HDtime(T) time(T) -#endif #ifndef HDtmpfile #define HDtmpfile() tmpfile() #endif @@ -923,9 +899,6 @@ H5_DLL H5_ATTR_CONST int Nflock(int fd, int operation); #ifndef HDtoupper #define HDtoupper(C) toupper(C) #endif -#ifndef HDtzset -#define HDtzset() tzset() -#endif #ifndef HDunlink #define HDunlink(S) unlink(S) #endif diff --git a/src/H5system.c b/src/H5system.c index 7c540e5bf6b..1379fa7dc95 100644 --- a/src/H5system.c +++ b/src/H5system.c @@ -223,12 +223,12 @@ H5_make_time(struct tm *tm) /* Initialize timezone information */ if (!H5_ntzset) { - HDtzset(); + tzset(); H5_ntzset = true; - } /* end if */ + } /* Perform base conversion */ - if ((time_t)-1 == (the_time = HDmktime(tm))) + if ((time_t)-1 == (the_time = mktime(tm))) HGOTO_ERROR(H5E_INTERNAL, H5E_CANTCONVERT, FAIL, "badly formatted modification time message"); /* Adjust for timezones */ diff --git a/src/H5timer.c b/src/H5timer.c index ac04d157fe9..badbc659213 100644 --- a/src/H5timer.c +++ b/src/H5timer.c @@ -156,7 +156,7 @@ H5_now(void) now = now_tv.tv_sec; } #else /* H5_HAVE_GETTIMEOFDAY */ - now = HDtime(NULL); + now = time(NULL); #endif /* H5_HAVE_GETTIMEOFDAY */ return (now); @@ -200,7 +200,7 @@ H5_now_usec(void) #else /* H5_HAVE_GETTIMEOFDAY */ /* Cast all values in this expression to uint64_t to ensure that all intermediate calculations * are done in 64 bit, to prevent overflow */ - now = ((uint64_t)HDtime(NULL) * ((uint64_t)1000 * (uint64_t)1000)); + now = ((uint64_t)time(NULL) * ((uint64_t)1000 * (uint64_t)1000)); #endif /* H5_HAVE_GETTIMEOFDAY */ return (now); @@ -238,7 +238,7 @@ H5_get_time(void) ret_value = (double)now_tv.tv_sec + ((double)now_tv.tv_usec / 1000000.0); } #else - ret_value = (double)HDtime(NULL); + ret_value = (double)time(NULL); #endif FUNC_LEAVE_NOAPI(ret_value) diff --git a/test/API/H5_api_test.c b/test/API/H5_api_test.c index ff7ede34038..63dd095fa0f 100644 --- a/test/API/H5_api_test.c +++ b/test/API/H5_api_test.c @@ -143,7 +143,7 @@ main(int argc, char **argv) n_tests_failed_g = 0; n_tests_skipped_g = 0; - seed = (unsigned)HDtime(NULL); + seed = (unsigned)time(NULL); srand(seed); if (NULL == (test_path_prefix = getenv(HDF5_API_TEST_PATH_PREFIX))) diff --git a/test/accum.c b/test/accum.c index cabd4a84c7c..ac9754bf4b9 100644 --- a/test/accum.c +++ b/test/accum.c @@ -1920,7 +1920,7 @@ test_random_write(H5F_t *f) TESTING("random writes to accumulator"); /* Choose random # seed */ - seed = (unsigned)HDtime(NULL); + seed = (unsigned)time(NULL); #if 0 /* seed = (unsigned)1155438845; */ fprintf(stderr, "Random # seed was: %u\n", seed); diff --git a/test/app_ref.c b/test/app_ref.c index 1315f03c86b..7c4fe3e0f50 100644 --- a/test/app_ref.c +++ b/test/app_ref.c @@ -89,7 +89,7 @@ main(void) h5_reset(); h5_fixname(FILENAME[0], H5P_DEFAULT, filename, sizeof filename); - HDsrand((unsigned)HDtime(NULL)); + HDsrand((unsigned)time(NULL)); TESTING("library shutdown with reference count > 1"); diff --git a/test/big.c b/test/big.c index 03c7dd5246f..cf8a3f2ef38 100644 --- a/test/big.c +++ b/test/big.c @@ -752,7 +752,7 @@ main(int ac, char **av) sparse_support = is_sparse(); /* Choose random # seed */ - seed = (unsigned long)HDtime(NULL); + seed = (unsigned long)time(NULL); #if 0 /* seed = (unsigned long)1155438845; */ fprintf(stderr, "Random # seed was: %lu\n", seed); diff --git a/test/btree2.c b/test/btree2.c index fc7748c7b27..a44a2475732 100644 --- a/test/btree2.c +++ b/test/btree2.c @@ -2903,7 +2903,7 @@ test_insert_lots(hid_t fapl, const H5B2_create_t *cparam, const bt2_test_param_t herr_t ret; /* Generic error return value */ /* Initialize random number seed */ - curr_time = HDtime(NULL); + curr_time = time(NULL); #if 0 curr_time=1109170019; fprintf(stderr,"curr_time=%lu\n",(unsigned long)curr_time); @@ -4973,7 +4973,7 @@ test_update_lots(hid_t fapl, const H5B2_create_t *cparam, const bt2_test_param_t herr_t ret; /* Generic error return value */ /* Initialize random number seed */ - curr_time = HDtime(NULL); + curr_time = time(NULL); #if 0 curr_time = 1451342093; fprintf(stderr, "curr_time = %lu\n", (unsigned long)curr_time); @@ -8619,7 +8619,7 @@ test_remove_lots(const char *driver_name, hid_t fapl, const H5B2_create_t *cpara bool single_file_vfd; /* Whether VFD used stores data in a single file */ /* Initialize random number seed */ - curr_time = HDtime(NULL); + curr_time = time(NULL); #if 0 curr_time = 1163537969; fprintf(stderr, "curr_time = %lu\n", (unsigned long)curr_time); diff --git a/test/cmpd_dset.c b/test/cmpd_dset.c index 227b0c3bae9..383ed7f1b5a 100644 --- a/test/cmpd_dset.c +++ b/test/cmpd_dset.c @@ -2831,7 +2831,7 @@ test_pack_ooo(void) * the compound */ unsigned i, j; /* Indices */ - HDsrand((unsigned)HDtime(NULL)); + HDsrand((unsigned)time(NULL)); /* Initialize "free_order" array to indicate that all slots in order are * free */ diff --git a/test/dsets.c b/test/dsets.c index 3cc9ccbeae6..ca985a85ec6 100644 --- a/test/dsets.c +++ b/test/dsets.c @@ -15921,7 +15921,7 @@ main(void) contig_addr_vfd = (bool)(strcmp(driver_name, "split") != 0 && strcmp(driver_name, "multi") != 0); /* Set the random # seed */ - HDsrandom((unsigned)HDtime(NULL)); + HDsrandom((unsigned)time(NULL)); /* Initialize global arrays */ /* points */ diff --git a/test/dt_arith.c b/test/dt_arith.c index 3a91ef19a14..62f03aaa4b4 100644 --- a/test/dt_arith.c +++ b/test/dt_arith.c @@ -5978,7 +5978,7 @@ main(void) unsigned long nerrors = 0; /* Set the random # seed */ - HDsrandom((unsigned)HDtime(NULL)); + HDsrandom((unsigned)time(NULL)); reset_hdf5(); diff --git a/test/dtypes.c b/test/dtypes.c index a7a518e7e88..51dbf123fe0 100644 --- a/test/dtypes.c +++ b/test/dtypes.c @@ -10129,7 +10129,7 @@ main(void) hid_t fapl = H5I_INVALID_HID; /* Set the random # seed */ - HDsrandom((unsigned)HDtime(NULL)); + HDsrandom((unsigned)time(NULL)); reset_hdf5(); fapl = h5_fileaccess(); diff --git a/test/earray.c b/test/earray.c index 9cea8f4560a..3770ac44765 100644 --- a/test/earray.c +++ b/test/earray.c @@ -2317,7 +2317,7 @@ main(void) api_ctx_pushed = true; /* Seed random #'s */ - curr_time = HDtime(NULL); + curr_time = time(NULL); HDsrandom((unsigned)curr_time); /* Create an empty file to retrieve size */ diff --git a/test/farray.c b/test/farray.c index 791cb549f1b..a8f4352c984 100644 --- a/test/farray.c +++ b/test/farray.c @@ -1648,7 +1648,7 @@ main(void) api_ctx_pushed = true; /* Seed random #'s */ - curr_time = HDtime(NULL); + curr_time = time(NULL); HDsrandom((unsigned)curr_time); /* Create an empty file to retrieve size */ diff --git a/test/fheap.c b/test/fheap.c index cd1f0c5ec1f..0784aa775e9 100644 --- a/test/fheap.c +++ b/test/fheap.c @@ -6234,7 +6234,7 @@ test_man_remove_bogus(hid_t fapl, H5HF_create_t *cparam, fheap_test_param_t *tpa fill_size = get_fill_size(tparam); /* Choose random # seed */ - seed = (unsigned long)HDtime(NULL); + seed = (unsigned long)time(NULL); #if 0 /* seed = (unsigned long)1155438845; */ fprintf(stderr, "Random # seed was: %lu\n", seed); @@ -15142,7 +15142,7 @@ test_random(hsize_t size_limit, hid_t fapl, H5HF_create_t *cparam, fheap_test_pa } /* end else */ /* Choose random # seed */ - seed = (unsigned long)HDtime(NULL); + seed = (unsigned long)time(NULL); #if 0 /* seed = (unsigned long)1156158635; */ fprintf(stderr, "Random # seed was: %lu\n", seed); @@ -15345,7 +15345,7 @@ test_random_pow2(hsize_t size_limit, hid_t fapl, H5HF_create_t *cparam, fheap_te } /* end else */ /* Choose random # seed */ - seed = (unsigned long)HDtime(NULL); + seed = (unsigned long)time(NULL); #if 0 /* seed = (unsigned long)1155181717; */ fprintf(stderr, "Random # seed was: %lu\n", seed); diff --git a/test/h5test.c b/test/h5test.c index ba68918c2a1..a472dc9d5c5 100644 --- a/test/h5test.c +++ b/test/h5test.c @@ -1820,18 +1820,18 @@ h5_wait_message(const char *waitfor) /* Start timer. If this function runs for too long (i.e., expected signal is never received), it will return failure */ - HDtime(&t0); + time(&t0); /* Wait for return signal from some other process */ while ((returnfile = fopen(waitfor, "r")) == NULL) { /* make note of current time. */ - HDtime(&t1); + time(&t1); /* If we've been waiting for a signal for too long, then it was likely never sent and we should fail rather than loop infinitely */ - if (HDdifftime(t1, t0) > MESSAGE_TIMEOUT) { + if (difftime(t1, t0) > MESSAGE_TIMEOUT) { fprintf(stdout, "Error communicating between processes. Make sure test script is running.\n"); TEST_ERROR; } /* end if */ diff --git a/test/hyperslab.c b/test/hyperslab.c index 03b0e9a152b..da014d30355 100644 --- a/test/hyperslab.c +++ b/test/hyperslab.c @@ -1144,7 +1144,7 @@ main(int argc, char *argv[]) printf("\n"); /* Set the random # seed */ - HDsrandom((unsigned)HDtime(NULL)); + HDsrandom((unsigned)time(NULL)); /* * Open the library explicitly for thread-safe builds, so per-thread diff --git a/test/istore.c b/test/istore.c index 2062e9486b4..5a1fa0ff498 100644 --- a/test/istore.c +++ b/test/istore.c @@ -582,7 +582,7 @@ main(int argc, char *argv[]) printf("\n"); /* Set the random # seed */ - HDsrandom((unsigned)HDtime(NULL)); + HDsrandom((unsigned)time(NULL)); /* Check to see if the file system supports POSIX-style sparse files. * Windows NTFS does not, so we want to avoid tests which create diff --git a/test/links.c b/test/links.c index 4ea612ebdfd..ffac35651de 100644 --- a/test/links.c +++ b/test/links.c @@ -1770,8 +1770,8 @@ test_move_preserves(hid_t fapl_id, bool new_format) old_modification_time = oinfo.mtime; /* If this test happens too quickly, the times will all be the same. Make sure the time changes. */ - curr_time = HDtime(NULL); - while (HDtime(NULL) <= curr_time) + curr_time = time(NULL); + while (time(NULL) <= curr_time) ; /* Close the file and reopen it */ @@ -2603,8 +2603,8 @@ test_move_preserves_deprec(hid_t fapl_id, bool new_format) old_modification_time = oinfo.mtime; /* If this test happens too quickly, the times will all be the same. Make sure the time changes. */ - curr_time = HDtime(NULL); - while (HDtime(NULL) <= curr_time) + curr_time = time(NULL); + while (time(NULL) <= curr_time) ; /* Close the file and reopen it */ diff --git a/test/mdset.c b/test/mdset.c index 013eb775553..145618b60ea 100644 --- a/test/mdset.c +++ b/test/mdset.c @@ -646,7 +646,7 @@ main(void) fapl_id = h5_fileaccess(); /* Initialize random number seed */ - HDsrandom((unsigned)HDtime(NULL)); + HDsrandom((unsigned)time(NULL)); /* Fill dset_name array */ for (i = 0; i < MAX_DSETS; i++) { diff --git a/test/mtime.c b/test/mtime.c index 60bfaaaadc7..fad164b9e9c 100644 --- a/test/mtime.c +++ b/test/mtime.c @@ -64,7 +64,7 @@ main(void) TEST_ERROR; if ((dset = H5Dcreate2(file, "dset", H5T_NATIVE_SCHAR, space, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR; - now = HDtime(NULL); + now = time(NULL); if (H5Dclose(dset) < 0) TEST_ERROR; if (H5Sclose(space) < 0) @@ -110,11 +110,11 @@ main(void) puts(" cannot be queried on this system. See H5O_mtime_decode()."); return 0; } - else if (fabs(HDdifftime(now, oi1.ctime)) > 60.0) { + else if (fabs(difftime(now, oi1.ctime)) > 60.0) { H5_FAILED(); - tm = HDlocaltime(&(oi1.ctime)); + tm = localtime(&(oi1.ctime)); strftime((char *)buf1, sizeof buf1, "%Y-%m-%d %H:%M:%S", tm); - tm = HDlocaltime(&now); + tm = localtime(&now); strftime((char *)buf2, sizeof buf2, "%Y-%m-%d %H:%M:%S", tm); printf(" got: %s\n ans: %s\n", buf1, buf2); goto error; diff --git a/test/set_extent.c b/test/set_extent.c index 018421df45f..1db56bab6b9 100644 --- a/test/set_extent.c +++ b/test/set_extent.c @@ -119,7 +119,7 @@ main(void) contig_addr_vfd = (bool)(strcmp(driver_name, "split") != 0 && strcmp(driver_name, "multi") != 0); /* Initialize random number seed */ - HDsrandom((unsigned)HDtime(NULL)); + HDsrandom((unsigned)time(NULL)); h5_reset(); fapl = h5_fileaccess(); diff --git a/test/swmr_reader.c b/test/swmr_reader.c index 18f204dee31..91057703e27 100644 --- a/test/swmr_reader.c +++ b/test/swmr_reader.c @@ -267,7 +267,7 @@ read_records(const char *filename, bool verbose, FILE *verbose_file, unsigned ra fprintf(verbose_file, "Reading records\n"); /* Get the starting time */ - start_time = HDtime(NULL); + start_time = time(NULL); curr_time = start_time; /* Create file access property list */ @@ -336,7 +336,7 @@ read_records(const char *filename, bool verbose, FILE *verbose_file, unsigned ra HDsleep(poll_time); /* Retrieve the current time */ - curr_time = HDtime(NULL); + curr_time = time(NULL); } /* end while */ /* Close the memory dataspace */ diff --git a/test/swmr_remove_reader.c b/test/swmr_remove_reader.c index 614aed2cfa6..8cf22c3debc 100644 --- a/test/swmr_remove_reader.c +++ b/test/swmr_remove_reader.c @@ -262,7 +262,7 @@ read_records(const char *filename, unsigned verbose, unsigned long nseconds, uns fprintf(stderr, "Reading records\n"); /* Get the starting time */ - start_time = HDtime(NULL); + start_time = time(NULL); curr_time = start_time; /* Create file access property list */ @@ -322,7 +322,7 @@ read_records(const char *filename, unsigned verbose, unsigned long nseconds, uns HDsleep(poll_time); /* Retrieve the current time */ - curr_time = HDtime(NULL); + curr_time = time(NULL); } /* end while */ /* Close the fapl */ diff --git a/test/swmr_sparse_reader.c b/test/swmr_sparse_reader.c index a6d8fd49d38..695ca273b40 100644 --- a/test/swmr_sparse_reader.c +++ b/test/swmr_sparse_reader.c @@ -220,7 +220,7 @@ read_records(const char *filename, unsigned verbose, unsigned long nrecords, uns fprintf(stderr, "Reading records\n"); /* Get the starting time */ - start_time = HDtime(NULL); + start_time = time(NULL); /* Read records */ for (u = 0; u < nrecords; u++) { @@ -257,7 +257,7 @@ read_records(const char *filename, unsigned verbose, unsigned long nrecords, uns } /* end if */ /* Check for timeout */ - if (HDtime(NULL) >= (time_t)(start_time + (time_t)TIMEOUT)) { + if (time(NULL) >= (time_t)(start_time + (time_t)TIMEOUT)) { fprintf(stderr, "Reader timed out\n"); return -1; } /* end if */ diff --git a/test/tid.c b/test/tid.c index bf557fa34da..ccc61ba854d 100644 --- a/test/tid.c +++ b/test/tid.c @@ -1373,7 +1373,7 @@ void test_ids(void) { /* Set the random # seed */ - HDsrandom((unsigned)HDtime(NULL)); + HDsrandom((unsigned)time(NULL)); if (basic_id_test() < 0) TestErrPrintf("Basic ID test failed\n"); diff --git a/test/tselect.c b/test/tselect.c index e07b1b62dfb..b545eec0324 100644 --- a/test/tselect.c +++ b/test/tselect.c @@ -6362,21 +6362,17 @@ test_select_hyper_union_random_5d(hid_t read_plist) CHECK(sid2, FAIL, "H5Screate_simple"); /* Get initial random # seed */ - seed = (unsigned)HDtime(NULL) + (unsigned)HDclock(); + seed = (unsigned)time(NULL); + HDsrandom(seed); /* Crunch through a bunch of random hyperslab reads from the file dataset */ for (test_num = 0; test_num < NRAND_HYPER; test_num++) { - /* Save random # seed for later use */ - /* (Used in case of errors, to regenerate the hyperslab sequence) */ - seed += (unsigned)HDclock(); - HDsrandom(seed); - for (i = 0; i < NHYPERSLABS; i++) { /* Select random hyperslab location & size for selection */ for (j = 0; j < SPACE5_RANK; j++) { start[j] = ((hsize_t)HDrandom() % dims1[j]); count[j] = (((hsize_t)HDrandom() % (dims1[j] - start[j])) + 1); - } /* end for */ + } /* Select hyperslab */ ret = H5Sselect_hyperslab(sid1, (i == 0 ? H5S_SELECT_SET : H5S_SELECT_OR), start, NULL, count, @@ -6385,8 +6381,8 @@ test_select_hyper_union_random_5d(hid_t read_plist) if (ret < 0) { TestErrPrintf("Random hyperslabs for seed %u failed!\n", seed); break; - } /* end if */ - } /* end for */ + } + } /* Get the number of elements selected */ npoints = H5Sget_select_npoints(sid1); @@ -6407,7 +6403,7 @@ test_select_hyper_union_random_5d(hid_t read_plist) if (ret < 0) { TestErrPrintf("Random hyperslabs for seed %u failed!\n", seed); break; - } /* end if */ + } /* Compare data read with data written out */ tbuf = rbuf; @@ -6415,7 +6411,7 @@ test_select_hyper_union_random_5d(hid_t read_plist) if (ret < 0) { TestErrPrintf("Random hyperslabs for seed %u failed!\n", seed); break; - } /* end if */ + } /* Set the read buffer back to all zeroes */ memset(rbuf, 0, (size_t)SPACE6_DIM1); diff --git a/test/tskiplist.c b/test/tskiplist.c index 7d4cda0dd29..4c76321047f 100644 --- a/test/tskiplist.c +++ b/test/tskiplist.c @@ -69,7 +69,7 @@ test_skiplist_init(void) CHECK_PTR(rev_sort_rand_num, "malloc"); /* Initialize random number seed */ - curr_time = HDtime(NULL); + curr_time = time(NULL); HDsrandom((unsigned)curr_time); /* Create randomized set of numbers */ diff --git a/test/ttime.c b/test/ttime.c index 32e6859018f..08e9f967ab7 100644 --- a/test/ttime.c +++ b/test/ttime.c @@ -150,7 +150,7 @@ test_time_io(void) CHECK(dsid, FAIL, "H5Dcreate2"); /* Initialize time data value */ - timenow = HDtime(NULL); + timenow = time(NULL); /* Write time to dataset */ status = H5Dwrite(dsid, H5T_UNIX_D32LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &timenow); @@ -182,7 +182,7 @@ test_time_io(void) status = H5Dread(dsid, H5T_UNIX_D32LE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &timethen); CHECK(status, FAIL, "H5Dread"); - fprintf(stderr, "time written was: %s\n", HDctime(&timethen)); + fprintf(stderr, "time written was: %s\n", ctime(&timethen)); status = H5Dclose(dsid); CHECK(status, FAIL, "H5Dclose"); diff --git a/test/tunicode.c b/test/tunicode.c index a65b469a8a8..d3baf801692 100644 --- a/test/tunicode.c +++ b/test/tunicode.c @@ -815,7 +815,7 @@ test_unicode(void) MESSAGE(5, ("Testing UTF-8 Encoding\n")); /* Create a random string with length NUM_CHARS */ - HDsrandom((unsigned)HDtime(NULL)); + HDsrandom((unsigned)time(NULL)); memset(test_string, 0, sizeof(test_string)); for (x = 0; x < NUM_CHARS; x++) { diff --git a/test/unlink.c b/test/unlink.c index ae8da98b491..62c7e61a1b4 100644 --- a/test/unlink.c +++ b/test/unlink.c @@ -2906,7 +2906,7 @@ main(void) double rdcc_w0; /* Set the random # seed */ - HDsrandom((unsigned)HDtime(NULL)); + HDsrandom((unsigned)time(NULL)); /* Open */ h5_reset(); diff --git a/test/vds_swmr_writer.c b/test/vds_swmr_writer.c index 752cc509e24..b57c2f689dd 100644 --- a/test/vds_swmr_writer.c +++ b/test/vds_swmr_writer.c @@ -112,8 +112,8 @@ main(int argc, char *argv[]) TEST_ERROR; /* Wait one second between writing planes */ - delay = HDtime(0) + (time_t)1; - while (HDtime(0) < delay) + delay = time(0) + (time_t)1; + while (time(0) < delay) ; /* Flush */ diff --git a/testpar/API/H5_api_test_parallel.c b/testpar/API/H5_api_test_parallel.c index 224c1b8a7c4..71264af418c 100644 --- a/testpar/API/H5_api_test_parallel.c +++ b/testpar/API/H5_api_test_parallel.c @@ -223,7 +223,7 @@ main(int argc, char **argv) n_tests_skipped_g = 0; if (MAINPROCESS) { - seed = (unsigned)HDtime(NULL); + seed = (unsigned)time(NULL); } if (mpi_size > 1) { diff --git a/testpar/t_pmulti_dset.c b/testpar/t_pmulti_dset.c index 4d8bc7707ec..a61e1b4dcc4 100644 --- a/testpar/t_pmulti_dset.c +++ b/testpar/t_pmulti_dset.c @@ -657,7 +657,7 @@ main(int argc, char *argv[]) /* Generate random number seed, if rank 0 */ if (MAINPROCESS) - seed = (unsigned)HDtime(NULL); + seed = (unsigned)time(NULL); /* Broadcast seed from rank 0 (other ranks will receive rank 0's seed) */ if (MPI_SUCCESS != MPI_Bcast(&seed, 1, MPI_UNSIGNED, 0, MPI_COMM_WORLD)) diff --git a/tools/src/h5ls/h5ls.c b/tools/src/h5ls/h5ls.c index a5c1aa5b4dc..bef90cf9061 100644 --- a/tools/src/h5ls/h5ls.c +++ b/tools/src/h5ls/h5ls.c @@ -2189,9 +2189,9 @@ list_obj(const char *name, const H5O_info2_t *oinfo, const char *first_seen, voi struct tm *tm; if (simple_output_g) - tm = HDgmtime(&(oinfo->mtime)); + tm = gmtime(&(oinfo->mtime)); else - tm = HDlocaltime(&(oinfo->mtime)); + tm = localtime(&(oinfo->mtime)); if (tm) { strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S %Z", tm); h5tools_str_reset(&buffer); From f776a348fc46b262ef0b6d56d958dcf35319e46d Mon Sep 17 00:00:00 2001 From: Dana Robinson <43805+derobins@users.noreply.github.com> Date: Sun, 7 Apr 2024 14:51:58 -0700 Subject: [PATCH 5/8] Remove HD prefix from toupper/tolower (#4340) --- src/H5FDs3comms.c | 6 +++--- src/H5private.h | 6 ------ src/H5system.c | 4 ++-- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/src/H5FDs3comms.c b/src/H5FDs3comms.c index f5be8f42f97..bcda801a8dd 100644 --- a/src/H5FDs3comms.c +++ b/src/H5FDs3comms.c @@ -244,7 +244,7 @@ H5FD_s3comms_hrb_node_set(hrb_node_t **L, const char *name, const char *value) if (lowername == NULL) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "cannot make space for lowercase name copy."); for (i = 0; i < namelen; i++) - lowername[i] = (char)HDtolower((int)name[i]); + lowername[i] = (char)tolower((int)name[i]); lowername[namelen] = 0; /* If value supplied, copy name, value, and concatenated "name: value". @@ -2172,7 +2172,7 @@ H5FD_s3comms_nlowercase(char *dest, const char *s, size_t len) H5MM_memcpy(dest, s, len); do { len--; - dest[len] = (char)HDtolower((int)dest[len]); + dest[len] = (char)tolower((int)dest[len]); } while (len > 0); } @@ -2264,7 +2264,7 @@ H5FD_s3comms_parse_url(const char *str, parsed_url_t **_purl) strncpy(purl->scheme, curstr, (size_t)len); purl->scheme[len] = '\0'; for (i = 0; i < len; i++) - purl->scheme[i] = (char)HDtolower(purl->scheme[i]); + purl->scheme[i] = (char)tolower(purl->scheme[i]); /* Skip "://" */ tmpstr += 3; diff --git a/src/H5private.h b/src/H5private.h index e0148f43d70..b8d65405122 100644 --- a/src/H5private.h +++ b/src/H5private.h @@ -893,12 +893,6 @@ H5_DLL H5_ATTR_CONST int Nflock(int fd, int operation); #ifndef HDtmpfile #define HDtmpfile() tmpfile() #endif -#ifndef HDtolower -#define HDtolower(C) tolower(C) -#endif -#ifndef HDtoupper -#define HDtoupper(C) toupper(C) -#endif #ifndef HDunlink #define HDunlink(S) unlink(S) #endif diff --git a/src/H5system.c b/src/H5system.c index 1379fa7dc95..65b56fd8d81 100644 --- a/src/H5system.c +++ b/src/H5system.c @@ -689,7 +689,7 @@ H5_build_extpath(const char *name, char **extpath /*out*/) * Unix: does not apply */ if (H5_CHECK_ABS_DRIVE(name)) { - drive = HDtoupper(name[0]) - 'A' + 1; + drive = toupper(name[0]) - 'A' + 1; retcwd = HDgetdcwd(drive, cwdpath, MAX_PATH_LEN); strncpy(new_name, &name[2], name_len); } @@ -1404,7 +1404,7 @@ H5_strcasestr(const char *haystack, const char *needle) const char *h = haystack; const char *n = needle; /* loop while lowercase strings match, or needle ends */ - while (HDtolower(*h) == HDtolower(*n) && *n) { + while (tolower(*h) == tolower(*n) && *n) { h++; n++; } From 8def3f61bdf9a7174231e058ea50a32df173fcd6 Mon Sep 17 00:00:00 2001 From: bmribler <39579120+bmribler@users.noreply.github.com> Date: Sun, 7 Apr 2024 18:01:45 -0400 Subject: [PATCH 6/8] Add VDS and SWMR to documentation (#4336) --- doxygen/dox/TechnicalNotes.dox | 16 ++++- doxygen/dox/ViewTools.dox | 2 +- doxygen/examples/intro_SWMR.html | 99 +++++++++++++++++++++++++++++++ doxygen/examples/intro_VDS.html | 70 ++++++++++++++++++++++ doxygen/img/tutr-swmr1.png | Bin 0 -> 86410 bytes doxygen/img/tutr-swmr2.png | Bin 0 -> 23079 bytes doxygen/img/tutr-swmr3.png | Bin 0 -> 33333 bytes doxygen/img/tutrvds-ex.png | Bin 0 -> 30484 bytes doxygen/img/tutrvds-map.png | Bin 0 -> 36966 bytes doxygen/img/tutrvds-multimgs.png | Bin 0 -> 278199 bytes doxygen/img/tutrvds-snglimg.png | Bin 0 -> 243661 bytes 11 files changed, 185 insertions(+), 2 deletions(-) create mode 100644 doxygen/examples/intro_SWMR.html create mode 100644 doxygen/examples/intro_VDS.html create mode 100755 doxygen/img/tutr-swmr1.png create mode 100755 doxygen/img/tutr-swmr2.png create mode 100755 doxygen/img/tutr-swmr3.png create mode 100755 doxygen/img/tutrvds-ex.png create mode 100755 doxygen/img/tutrvds-map.png create mode 100755 doxygen/img/tutrvds-multimgs.png create mode 100755 doxygen/img/tutrvds-snglimg.png diff --git a/doxygen/dox/TechnicalNotes.dox b/doxygen/dox/TechnicalNotes.dox index bca81e4211c..7edf0a0abf7 100644 --- a/doxygen/dox/TechnicalNotes.dox +++ b/doxygen/dox/TechnicalNotes.dox @@ -7,6 +7,8 @@ \li \ref IOFLOW \li \ref TNMDC \li \ref MT +\li \ref SWMR +\li \ref VDS \li \ref VFL */ @@ -45,4 +47,16 @@ \htmlinclude DebuggingHDF5Applications.html -*/ \ No newline at end of file +*/ + +/** \page SWMR Introduction to Single-Writer/Multiple-Reader (SWMR) + +\htmlinclude intro_SWMR.html + +*/ + +/** \page VDS Introduction to the Virtual Dataset - VDS + +\htmlinclude intro_VDS.html + +*/ diff --git a/doxygen/dox/ViewTools.dox b/doxygen/dox/ViewTools.dox index f4c31c83663..92cbd0099b0 100644 --- a/doxygen/dox/ViewTools.dox +++ b/doxygen/dox/ViewTools.dox @@ -997,7 +997,7 @@ In other words, it is an array of four elements, in which each element is a 3 by This dataset is much more complex. Also note that subsetting cannot be done on Array datatypes. -See this FAQ for more information on the Array datatype. +See this section for more information on the Array datatype. \subsubsection subsubsecViewToolsViewDtypes_objref Object Reference An Object Reference is a reference to an entire object (dataset, group, or named datatype). diff --git a/doxygen/examples/intro_SWMR.html b/doxygen/examples/intro_SWMR.html new file mode 100644 index 00000000000..7b7ece3e20f --- /dev/null +++ b/doxygen/examples/intro_SWMR.html @@ -0,0 +1,99 @@ + + + Introduction to Single-Writer_Multiple-Reader (SWMR) + +

Introduction to SWMR

+

The Single-Writer / Multiple-Reader (SWMR) feature enables multiple processes to read an HDF5 file while it is being written to (by a single process) without using locks or requiring communication between processes.

+

All communication between processes must be performed via the HDF5 file. The HDF5 file under SWMR access must reside on a system that complies with POSIX write() semantics.

+

The basic engineering challenge for this to work was to ensure that the readers of an HDF5 file always see a coherent (though possibly not up to date) HDF5 file.

+

The issue is that when writing data there is information in the metadata cache in addition to the physical file on disk:

+

However, the readers can only see the state contained in the physical file:

+

The SWMR solution implements dependencies on when the metadata can be flushed to the file. This ensures that metadata cache flush operations occur in the proper order, so that there will never be internal file pointers in the physical file that point to invalid (unflushed) file addresses.

+

A beneficial side effect of using SWMR access is better fault tolerance. It is more difficult to corrupt a file when using SWMR.

+

Documentation

+

SWMR User's Guide

+

HDF5 Library APIs

+
    +
  • H5F_START_SWMR_WRITE — Enables SWMR writing mode for a file
  • +
  • H5DO_APPEND — Appends data to a dataset along a specified dimension
  • +
  • H5P_SET_OBJECT_FLUSH_CB — Sets a callback function to invoke when an object flush occurs in the file
  • +
  • H5P_GET_OBJECT_FLUSH_CB — Retrieves the object flush property values from the file access property list
  • +
  • H5O_DISABLE_MDC_FLUSHES — Prevents metadata entries for an HDF5 object from being flushed from the metadata cache to storage
  • +
  • H5O_ENABLE_MDC_FLUSHES — Enables flushing of dirty metadata entries from a file’s metadata cache
  • +
  • H5O_ARE_MDC_FLUSHES_DISABLED — Determines if an HDF5 object has had flushes of metadata entries disabled
  • +
+

Tools

+
    +
  • h5watch — Outputs new records appended to a dataset as the dataset grows
  • +
  • h5format_convert — Converts the layout format version and chunked indexing types of datasets created with HDF5-1.10 so that applications built with HDF5-1.8 can access them
  • +
  • h5clear — Clears superblock status_flags field, removes metadata cache image, prints EOA and EOF, or sets EOA of a file
  • +
+

Design Documents

+

Error while fetching page properties report data:

+

Programming Model

+

Please be aware that the SWMR feature requires that an HDF5 file be created with the latest file format. See H5P_SET_LIBVER_BOUNDS for more information.

+

To use SWMR follow the the general programming model for creating and accessing HDF5 files and objects along with the steps described below.

+

SWMR Writer:

+

The SWMR writer either opens an existing file and objects or creates them as follows.

+

Open an existing file:

+

Call H5Fopen using the H5F_ACC_SWMR_WRITE flag. +Begin writing datasets. +Periodically flush data. +Create a new file:

+

Call H5Fcreate using the latest file format. +Create groups, datasets and attributes, and then close the attributes. +Call H5F_START_SWMR_WRITE to start SWMR access to the file. +Periodically flush data.

+

Example Code:

+

Create the file using the latest file format property:

+

fapl = H5Pcreate (H5P_FILE_ACCESS); + status = H5Pset_libver_bounds (fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST); + fid = H5Fcreate (filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl); +[Create objects (files, datasets, ...). Close any attributes and named datatype objects. Groups and datasets may remain open before starting SWMR access to them.]

+

Start SWMR access to the file:

+

status = H5Fstart_swmr_write (fid); +Reopen the datasets and start writing, periodically flushing data:

+

status = H5Dwrite (dset_id, ...); + status = H5Dflush (dset_id);

+

SWMR Reader:

+

The SWMR reader must continually poll for new data:

+

Call H5Fopen using the H5F_ACC_SWMR_READ flag. +Poll, checking the size of the dataset to see if there is new data available for reading. +Read new data, if any.

+

Example Code:

+

Open the file using the SWMR read flag:

+

fid = H5Fopen (filename, H5F_ACC_RDONLY | H5F_ACC_SWMR_READ, H5P_DEFAULT); +Open the dataset and then repeatedly poll the dataset, by getting the dimensions, reading new data, and refreshing:

+

dset_id = H5Dopen (...); + space_id = H5Dget_space (...); + while (...) { + status = H5Dread (dset_id, ...); + status = H5Drefresh (dset_id); + space_id = H5Dget_space (...); + }

+

Limitations and Scope

+

An HDF5 file under SWMR access must reside on a system that complies with POSIX write() semantics. It is also limited in scope as follows:

+

The writer process is only allowed to modify raw data of existing datasets by;

+

Appending data along any unlimited dimension. +Modifying existing data +The following operations are not allowed (and the corresponding HDF5 files will fail):

+

The writer cannot add new objects to the file. +The writer cannot delete objects in the file. +The writer cannot modify or append data with variable length, string or region reference datatypes. +File space recycling is not allowed. As a result the size of a file modified by a SWMR writer may be larger than a file modified by a non-SWMR writer.

+

Tools for Working with SWMR

+

Two new tools, h5watch and h5clear, are available for use with SWMR. The other HDF5 utilities have also been modified to recognize SWMR:

+

The h5watch tool allows a user to monitor the growth of a dataset. +The h5clear tool clears the status flags in the superblock of an HDF5 file. +The rest of the HDF5 tools will exit gracefully but not work with SWMR otherwise.

+

Programming Example

+

A good example of using SWMR is included with the HDF5 tests in the source code. You can run it while reading the file it creates. If you then interrupt the application and reader and look at the resulting file, you will see that the file is still valid. Follow these steps:

+

Download the HDF5-1.10 source code to a local directory on a filesystem (that complies with POSIX write() semantics). Build the software. No special configuration options are needed to use SWMR.

+

Invoke two command terminal windows. In one window go into the bin/ directory of the built binaries. In the other window go into the test/ directory of the HDF5-1.10 source code that was just built.

+

In the window in the test/ directory compile and run use_append_chunk.c. The example writes a three dimensional dataset by planes (with chunks of size 1 x 256 x 256).

+

In the other window (in the bin/ directory) run h5watch on the file created by use_append_chunk.c (use_append_chunk.h5). It should be run while use_append_chunk is executing and you will see valid data displayed with h5watch.

+

Interrupt use_append_chunk while it is running, and stop h5watch.

+

Use h5clear to clear the status flags in the superblock of the HDF5 file (use_append_chunk.h5).

+

View the file with h5dump. You will see that it is a valid file even though the application did not close properly. It will contain data up to the point that it was interrupted.

+ + diff --git a/doxygen/examples/intro_VDS.html b/doxygen/examples/intro_VDS.html new file mode 100644 index 00000000000..5f3e0336e4c --- /dev/null +++ b/doxygen/examples/intro_VDS.html @@ -0,0 +1,70 @@ + + + Introduction to the Virtual Dataset - VDS + +

The HDF5 Virtual Dataset (VDS) feature enables users to access data in a collection of HDF5 files as a single HDF5 dataset and to use the HDF5 APIs to work with that dataset.

+

For example, your data may be collected into four files:

+ +

+ +

You can map the datasets in the four files into a single VDS that can be accessed just like any other dataset:

+ +

+ +

The mapping between a VDS and the HDF5 source datasets is persistent and transparent to an application. If a source file is missing the fill value will be displayed.

+

See the Virtual (VDS) Documentation for complete details regarding the VDS feature.

+

The VDS feature was implemented using hyperslab selection (H5S_SELECT_HYPERSLAB). See the tutorial on Reading From or Writing to a Subset of a Dataset for more information on selecting hyperslabs.

+

Programming Model +To create a Virtual Dataset you simply follow the HDF5 programming model and add a few additional API calls to map the source code datasets to the VDS.

+

Following are the steps for creating a Virtual Dataset:

+

Create the source datasets that will comprise the VDS +Create the VDS: ‐ Define a datatype and dataspace (can be unlimited) +‐ Define the dataset creation property list (including fill value) +‐ (Repeat for each source dataset) Map elements from the source dataset to elements of the VDS: +Select elements in the source dataset (source selection) +Select elements in the virtual dataset (destination selection) +Map destination selections to source selections (see Functions for Working with a VDS)

+

‐ Call H5Dcreate using the properties defined above +Access the VDS as a regular HDF5 dataset +Close the VDS when finished

+

Functions for Working with a VDS +The H5P_SET_VIRTUAL API sets the mapping between virtual and source datasets. This is a dataset creation property list. Using this API will change the layout of the dataset to H5D_VIRTUAL. As with specifying any dataset creation property list, an instance of the property list is created, modified, passed into the dataset creation call and then closed:

+

dcpl = H5Pcreate (H5P_DATASET_CREATE);

+

src_space = H5screate_simple ... + status = H5Sselect_hyperslab (space, ... + status = H5Pset_virtual (dcpl, space, SRC_FILE[i], SRC_DATASET[i], src_space);

+

dset = H5Dcreate2 (file, DATASET, H5T_NATIVE_INT, space, H5P_DEFAULT, dcpl, H5P_DEFAULT);

+

status = H5Pclose (dcpl); +There are several other APIs introduced with Virtual Datasets, including query functions. For details see the complete list of HDF5 library APIs that support Virtual Datasets

+

Limitations +This feature requires HDF5-1.10. +The number of source datasets is unlimited. However, there is a limit on the size of each source dataset.

+

Programming Examples +Example 1 +This example creates three HDF5 files, each with a one-dimensional dataset of 6 elements. The datasets in these files are the source datasets that are then used to create a 4 x 6 Virtual Dataset with a fill value of -1. The first three rows of the VDS are mapped to the data from the three source datasets as shown below:

+

In this example the three source datasets are mapped to the VDS with this code:

+
src\_space = H5Screate\_simple (RANK1, dims, NULL);
+for (i = 0; i < 3; i++) {
+    start[0] = (hsize\_t)i;
+    /* Select i-th row in the virtual dataset; selection in the source datasets is the same. */
+    status = H5Sselect\_hyperslab (space, H5S\_SELECT\_SET, start, NULL, count, block);
+    status = H5Pset\_virtual (dcpl, space, SRC\_FILE[i], SRC\_DATASET[i], src\_space);
+}
+
+

After the VDS is created and closed, it is reopened. The property list is then queried to determine the layout of the dataset and its mappings, and the data in the VDS is read and printed.

+

This example is in the HDF5 source code and can be obtained from here:

+

C Example

+

For details on compiling an HDF5 application: [ Compiling HDF5 Applications ]

+

Example 2 +This example shows how to use a C-style printf statement for specifying multiple source datasets as one virtual dataset. Only one mapping is required. In other words only one H5P_SET_VIRTUAL call is needed to map multiple datasets. It creates a 2-dimensional unlimited VDS. Then it re-opens the file, makes queries, and reads the virtual dataset.

+

The source datasets are specified as A-0, A-1, A-2, and A-3. These are mapped to the virtual dataset with one call:

+
status = H5Pset\_virtual (dcpl, vspace, SRCFILE, "/A-%b", src\_space);
+
+

The %b indicates that the block count of the selection in the dimension should be used.

+

C Example

+

For details on compiling an HDF5 application: [ Compiling HDF5 Applications ]

+

Using h5dump with a VDS +The h5dump utility can be used to view a VDS. The h5dump output for a VDS looks exactly like that for any other dataset. If h5dump cannot find a source dataset then the fill value will be displayed.

+

You can determine that a dataset is a VDS by looking at its properties with h5dump -p. It will display each source dataset mapping, beginning with Mapping 0. Below is an excerpt of the output of h5dump -p on the vds.h5 file created in Example 1.You can see that the entire source file a.h5 is mapped to the first row of the /VDS dataset:

+ + diff --git a/doxygen/img/tutr-swmr1.png b/doxygen/img/tutr-swmr1.png new file mode 100755 index 0000000000000000000000000000000000000000..711241619d62cd2a1dc94080fce7cc2274a87a3c GIT binary patch literal 86410 zcmd>l1y>te)HbD1w73?67A;P3cPZ{J!QI{6NhubJOL3>TYjA0CcXxNb-22}5{S)6> z$x3F{%$##(+jE}1ca)NX)JNn`$S^Q4A7!M)RbXJ=tHQv%yFvT_J%bG_kc9rcb5W5J zg%$4d>xUk|S%}Dsz`)diP@aw9p~py$(%LRCFlc@MeBUL1K_h~mBy^R~a#eLOcl9uK zHiMD3GI4frfgX`5nwwjhm<610IKjZY1&fpJp7FxA<(BTZP`XCNs z(NILM_rXBFy#5% z?6AGFv$Oit?sD2J_zM{^nC!m~P3X`C?f)HSz)%#ziD3NCr!+8(vtyY|2q$t ziyR5Y`rpfnVgLWTY@|i=#!4T8eVNg}kyn{RA8#XNCSJ zsL({RPHudZ#)-bwQM+QI8H}Jp$C+-n+=9MB-g#NkDPrigaUc-rhq@q3n%rWvtcw$^ zA2UOT|Nep_jLv|&Q#qX{^8bpnR2q0|@LaQ_s}=knb5|3;VH1lguY5BM>nk;>;r-(y zYzpx6=QH8C$CpWtS2>7EH#P<<)xVmg1W#Mwzi`O`%scFD$NgE|-zt~%=#V3m%`fx(_ z{}v(x)&kBh%A8-^1!XhhG+>pPM3JfCk=`TR8*5&AqaHY7ABJ(dC!w51dj4lO^fKoD z$Y`dg;r%o?8ij(IWhzxc%wpnPCy??hdzcf}beSy53@MaIWV zwz{88*4t=8ba3lThp?U>_Oj<29kN#&l=CII_cB}@9}kN7W-&rbSxv?e0{h{<$rO9y zgeG<&_~QxL3jKzia|^&o5OD+S1hYxokGCf=E3F=UvhhZ2X)M0? zj*NIjUoF>Z1w=J8@Ur|Lt=e86kK%v4Iro0#TCblo5XCJ74^uf(}Bq5)Mhdw}!(-RT;u357@H<8-Tdr%^yqn(plm^wO$ zUGjKwUSA)l$oTk(;NjuDANr!OYaBO3PrCEw;$RbcVqh7#xaMlYGJpU6s^>gJr6b+n z-@h>>McR)p^qkYK$K3hM=6!n{MWzz{k!ikwpdLEF){*PA9NyFQGXbeXjJI%H2mYz zLlb-N0+1mtP=A(6#=)WP5grp0qugk(4>;xUxwU=1fRIYd$cVIi-^5>9%X6NEoaLKgM)*KZA3{?*7hKz z0e!>CUlP*NN1Fr+Xk1>~v3X89I;76m$Fkdw^Z86V zdip;-Mk6VV-b6w|Li*!d8=O2mJZ}r(d!VC;hzQEhpWzJsAASjbIBoU1+I_?1IGU@1 zICQ=gwsZO19tVw?|24>po^SK26EyTS^mpL5fNF8i^}*k%4nH5jp(Z9jeheOCk5y4- zVY~H*YnG{}zO&83bo)PZf$#1V6=!BEblte~S!b>P7RvMXC9K^*7g62|H_~%8-Rj}M z$P1raTE5VUNG`Hbt;kH31)qBe_VY{lQAe8j>00tT)wD8w6VYZG7F_p^R*NegQ~R~b zNz^)+$UTr}b|(mdWHR&AxHsJR?e!(T9`rpSA?WF}Rk14IM)+8(Sj{_ ztNVgC1Oa`Z{cg1kp17UD1QOq$>9HD>9q_tPgXbFYy6iGBb0qkD-rGW{h>j>gOTKcBuBE?P*WqbIj^jE?G<*F~P=PshBO;blP%se!m4es*&-1nO0RisBW!QN>Uzm ze2F0OmJayPF;S{sMr<>U8s3yQ&zS?m@4Aoicyr{T#)cwNY(Mlx^S=Xg9mJ*eQ!c!)G};uYt>Rc#iliQ!r2 zTL+#TP71MR|Ac9*E|3QvQ*51kJTg0u+|5^Bpbhm{<+s&N zYkl(`ZarsdJxP?#HO5}&d(;H zZ-?D{R2T@%GXPbyE25)@Vb66!mww}!-g?^d%?AutN#C;Vc)8Vu;Ngm~iZbJe5jEy= zMF4}dJ|m~?Wd|5UOe;4z3I1xZTRPnSK}i zEOQCr_b$-#XY`(AWT%FWWQ=urp6W@)&RqkiY;K^={7B9lM00S6F0ZJyR!ei92 zWX8tkbOiYOhYMn5y^m%_PIuZG*qG5YoH3yDuA`;)sw{g?;vp^`x`pdHxPd_G>!{`X zDc6^uL`*I@bwd%Ol(e^sj9LRg-NgRy`n9=fF!&DT#EmAKT`c+_5StpY8Z+U9zVX{J zt~K9j0@C=pT(0meqVNy^db~`YRHOmT-UYAe*=oBE%U7#E;xT!(lO_^SrDh5`lIytBrWk5c0*wgF zCxrR5uHnH6B+Q}-s_NVwalkkdes8KYWWW8%T;7Zy6ft{a7?uBmdt#^mCh@BiiI1La;iGlFugz%P` z!vbA`-@iBUp|&>ylRz8@2hK&Qt8*Mp=1DgQ7*m|GapMAbQ}$T|P27wkCu#{u1kD8t z@W<}?<(fqD8zT&Q3gy!eZ@~2+hDKVgD z9wOwHr3OxHV*i)XK5-dqygKk69~(yrCn-$zP~heIFYnHSu0#6{t-z=7ZPpM{2pa2g z#W9$!gSq`H>R5hJsEY&uB^uUS1q>IG22UuthYB%rJ6Tj0vS@LmBu+4>x*F$G1i9pa zo$zSoK6g7xMkCsr!~!<=ELyH&m|CPev)@57o&GFF3-XN+)DBKIM`6?O%6T&?{6G$oqY_RfI^ z1CNv~Gf?IDMOgbU#N=X?NKnzgiXzc@#(IGWDtC!tr6$lIa2K8<@n)OgiuHA)%)wyn zKc5Je3W|zS`Cd!tug}&DeSE<|)onbrh>%ES0xa*H{a?VQY?oP4(TmebE8}p1kDDbqCjq*dr`PG}7Y^x-^|~f=S}l9`{=>eE51r|72R=MXyO6fFHt!f;9qy+kUnm+_q?GL5 zZObHgAI{>+U-o1`5iq$1v)=HC9nwl4TmYjzkcFvpbLNH-c}&5ib<|jt{k-i_8K9UA zPq|4Ea{uYS8?K>vj>qme|TB6-z({qcR+wd$T64wNw~Cs=gKHiHKEw?-)J6zISWB+ zW_2G7tkND=XsFwxq^6dP`RJWRYd!y90VWfBvZwVWryNF zJ$bpouAvaREU;NT3GH}m()aH~0%G_@!D!ShCjfeFs@ki5pHxfKTzW3D1u+q*F zz(QCCI^SN2G!49dt%hfZW#Nu{^*b4j?{y)^suTESDBkWZt)bQ zMrX(Dr9BmBg7%cF6QP*Sh135-`Y*V#Lst>2Ty4V`4P91SD$b;&MeG8lztKE|Z`0UN zufYj%PbGCMQj{?rdythaGXY1ti1 zx0yf*6EVw~3&w^a8bXgn3-D6%Ja6Ae%B?nb=j*@^i%cl)Aq-EO;_I&#FwZtA%F1Gj zN6JHp-tv!SRsArk0NF;DI~bqnaT56ljRz+@<osy>Isu@@PQ7NF+W2QOzm$>%pm*{H z_daGw4aT|?q%Ie_$NwbR5Z1{f?G`?AcZ)1)Hfd6bmAdtTkbP(NUml4&ObO%WbVWB} zAep8RE|4sgf+-m!y;#3BE+7Clw<9mtc^pKJ7A;W|o!AQ7phy zX)B}G;DM3|j{k0~d+0)qV^A>*01mMUWNHY_5(`@O4y>CL>0ijz8DMjf9SgqE$r6Ju zX#&*WD1VIiwg0=RGc1-9t`|1^!5(K6?mO$S~mk=V<+#jnW*bs){sN z^!@Y&&v59c9t0{X&TZW7oSbSHc=%>nVSGxaa!lUov$$PW0N^N-`+q20|K*ba8#Nl2&IQsA|5x!l!eL(<*2dCsU&2jSubQC zmZH28llPBui<=O4^Nji=IQoN6*lVbqe(7j<{V&&tNb(*cg}ZQ>kdhjBe~yQU5~-ZI z3%rm-!c{7*Lbnm2`!r(}7jXL;{XVUgcqASw@_!h{bNb;{u`e24TW^5BzLlfMJ=-idINWYFg|Rl_+=#a)aPRzVeGOUv2zzY+13H9kdVf{`lYhD;?j{G-t< z;?SZZ>icv~?`WwtvM#(uYDh<4@ycbvRkHs#9PjXvWTg5yoMsr^`(wS0W6oV!8U3&QK;M=lEO$iGQ1;PtH$=+fEI$(Y0`%t! zxkQDv2D=uEs#rF9M%|RtIA8!x{r@INhDahzha6ptX^9lJV5(d-&w&?;UG%#ECpTzn zKCNL&S%vjK)rsMDCN+FjxUTBE@Z2V80DmE@yTR4I!my2+9)g3iI7vx5#v&~4zoP$# zn9gO`xs&LpHwhjQ%^gAV8lx6^k(Dbi9YAXK^BWzc`~I)-LhW}Z=FqaHj%wF?;30UF zIzZr5;sqPK?8n6;Yj>=uP0*H<;r~vcOes_Dq3kl-39Vmmf*?{`MFrL{vC4Z0$$P|5 zQLfxsqgf_P;y+RssyS-!{*R#S!W2q=ZeCoQT7`#(hnlVbxX3odCos&+2~OFM1wJjo zM?K`qs0+rZsLXQp5C3~Bbb{)_|B;0~NJ{hpOivcRVnE=G3FO~>ba1-S$b^)WEHW}W ziTG)u{GjRpWI2u~q0tN_`o|BYf|OJoJl=mP9;jEnpsPoKL4iJ!DU{<2iuM=HJfl5@ z?UTi@yihot(-jmOZ(b#}(9J&aE@i*EPh4qZEOTWDq=J$XV%CgnT%);pc}z?Hbs^ZBs2Z zFR%_tL99w-?B#g_0RpJ^|s>+BCaANWRqT#FigF+ zHlvtU9Gy7Qn`s$G7v{4bEF;A>p-N%OXkXi0+l&I4`lSDH!@)N^Zt z$JFf(Ut{_2(`@(uQs^Olc|?QDy_}DZ{{HxKH~)448GJk8n$|Q+81|%ka1PTcl-7=~ z{c46V(@)~P5oYQ6bh2n-b}4`>^?CZMRG*qErmC#?!{dFAhE8mGu$md&p%)SZwR@?b zv5I7ndc&AS^Qlpt(E8`!aC3oc+A>jN7p1jH^c$w?OUd&Rt|cG4QxL`BW+ieA5oL|e z-XpJuK?U?(-?Dd^qhyfoR_sNIUA7{ux`Z^vGZ${tM&)A_mIh}h*)eZYI8&Ucqhy&Q zL`8&~)2j11xP1$fZ?qvgtvSOafg_+?2~*a@V0JK!1|CBMaAU-g1n7Zku=ryrfu&Jc zs!4xWqd~Wlrn@xcVrkh6!Gm4ih!>zq5*loWya%v4B!dgL0DJvlGT-b=jdg-8Bb{Ud z2l|1ROsOHbQe2%ID7ty$rkp39vMvw_jrFxCw)g&K$j{HPmoWqPWoP( zSFIJAq$JqJV0*X;%?b%$&12ZgF!Xe`F1+A`=JVVySZMi;^Hj@&136`-Ih4&R843{D z5jfRn>G_DfnA-x~_Od}qJTBL4-Ks|NyO{&8Y*Z@1TZI)bd%VB!2|;e^?e>4oNh$MZ zG01n^h+kJ{IE2x0dS4hiUM-0iNLaf+I?~!8T*lNU4gSEetjhh749$`DJEZ?f&^?Yo zWDiSPcEX594={v>f3P&5fkSCDr6AY;;EW=*POQ9i+K%5U88059-#RIp%-S8=+Vxb| zrnsh}y~1HreG>hp`Y6pp$vP1Ozq{SIuwy$zfOkPSf3QJEsphY3)l7e1#>WT=bu~x7 zX%w62g5wq1THN9z$(D&8%(ho+=~4Qg$57(Futz8anOCMqghY_Y+b9ce=2M>UrJzcc zte~FkiExp6xA-z2&5tJ25p(|L6{6m?!yqTWmVAOBiACa}jgb-U5I_6Q0+Q9?Di8f$oV(aaA z?X~8@npIs-FSr811ryguMF^{zk4h~L%La23m{(&jlqiR?D*NYd&E%+lj^efJoxpA+ z_L(=9+}b#+p&O@d*T9!b;m7QNLuV031h5hrr4S~0%0FOvQPtwA5DeC$8f!|>p((&* zyHYW#$LlRpL+`=9a^*uaU@UYm#Oo?ORE>#xuK)-Ob_{0GmI)k+PAaF^rVC>7Bt_`F zhg}Lsm+GBX>noe%;5j%g3EhZBeJbnp;hHt{=TWhknB56}>bh_o0BAZqP!iw$FieUo zUg!3~i8hG>&qopLWg~x#42EKCDA#hspENM@IUwuN!?#UG?nGuxN;(i;qwI4gMkyMR zd0nXyyK~IoItx|EKSIc@|m8t~VRemWI7}=JGZlz#Sx?1LwHGP#8!Nb|x zKQAZy7Ft^OYYe{>EfMT^S^{em-;%QZp>%x*NDmE(U4bwxJ)kT))|%3vLq#|mZU9{E z8I*1t=}azkD6fSZcXg?x*uJYD;1Ku`0bZRSeny^)++_$$pQ#C@yr>OAu$iiv6lU~> zc%y@%fEIm$@g_a9y2rPhahdYduow~Q8NxW>;I-8BN02q4YY31Qq^`qKb7u5H(SCc4 zv6GelIzB!tI=r;bp{S_$^72$;b?>-szgj*5KUZ`-MyAN+?jG|kdVOz1SRF4iN_|CE zId3n!mX2HkrB?e%(iYjJ? zg3@kLS;XR8LAcN+A5QB0Kxm+mY8k9I^OrIJBLJFoU7UaG^KC)K5W5sVqFs;Qzh zv(N!Zx9=cqV3^40`Z?zz@@}GZ&xjOhUBJ8^xBJ+HuJII)&xvv;*(Zec=g{0Xf^G@! zuhRG0tGvK0ljQEQ{v?t}-68B9JC+@qiSIAU81&Ta?AZULJHtN`5mRN!TRE{d2wY?I za5_{vk@sVI;z+k9+o?6^Ec}c_JU(6_LV9`HTJH)PRLVQ;^4c?g)3z{{x;xdvB`%*^ zDzF8yjR$HZvhP38ZF!x)JvrD0JUi*{TA5l{Yz+`O^cBkUmu0~a2|BP*qtR*rjNJiljHl%rmWxm01Nbw~qSEL=cMOJbPMZq>G&ZVWHLm*awJ*+X7vH2s3` znc*F+`i>lu_2rF(k|j68JCPmxvy)xB?Y%uH!L!=c;rFDpN%a@y*zd`1TQR**fDH$0 z=Hmp#3!hJNg?dAU47MpMAX-`h_IWRx+wQ^H_4Reklv zVF%yUuoshjs;N8^W{nfsTBu)&EhO2NartqH61n<%&&H^4)o4t`dxd0WCkena>m$z4WpNi}15w<0ts)H}XHiJV$-HD2VQM_)4 zIsPw?22;i6uP`&z*41h>MnS36+vMabgJ%$dC?1GJ2 zGh=hdF>M*XZCBHu+n&#T=36P>`Qx44-VSB&y)ASenNR|USCo1RMN3=cx-XP*#gDhC@OO+4Z5}5AL5ml1+sD1A@Ek_?W{q7&>S=}yB)fh(+b4`z4TgcB>rWwjiv z3jJ31{x4N+!R?1G$iW`QXIejf<#n`@4=v#wY+m3tEZYp^2!H+s#BO-ty$PR?*DCUQ zUbEF@?-ZNq88WLLIT9wpK$C{u6GFl<4Bv#wH`1b+LU2fRh94j zCgFZbE*w2;xB?o0&S$KOM)B1_)k^xqLgivtDzYN9KP zfVk&nhG~aoSP6J9E&el~0%AGgL=8aoX4TsHRx0+j;31c7`1v3KV7Jk7weegN81*zV zHm*|D2|>Pj<>Rc-07B4b^F(d+>fweWu&&*CN54g72j&>zZ13zVb#(@0Mg{CnNb1N^ z9O+M&%qfu)3FzZka+cw~JzwOb(b+B*Vsn;1qttbHq7!K{iP-9ixiPq*1>k889NUPh z#N(b2!IASeQA_@5`Vjsd`Qt|ch5`n>7zIJ6-82gdCZ_S4LJQ?;4`$9)SL{z_<`e_U z8rX33C>klhZ3)@Xh=s4=@w=p6I?B@5Iqfi94t@;|4|T83l-uVp3GXUSkNw6XI3J&?BjqHQ zp5IxeVWS2Dv@ptan}&jc?9;3H>a@$rMdtM*7?4HUke&hq&6lLjIF$(%r8688-T##L zChR?Ng*AX*n!C)A8Y-WyzfZq;U8u@oD7N%FT|3@G5eg8RNo6^>LAgXeKk^7D6%-*E zZ~ZLbPQcft)M%x;fkrr`(WtSem;IntpWuf$uN0m4I` z+^xuO5A!K&>|T(mOkXAIW&u-`x}?4ruP)%*sV|5hL45}n`k|S+bDPai;l@t`>W|>s zKdSXwIxiEXT2*k9U0)=vtA1qn8=iR3toqy<__AM^l|OkT;8}gcADsd+d}hEJTXIu} zEfME{!80wO+USp{g6!76Q7}+^s)_|f$(OxNX-Gwt#0!j10|+%E;v$M-=={+Yg7JSd~kfI`1oTx`z0 zOK*N|bkE@s-wp*Oo8=5AfHEeLWT$QYKRF#6)mRZr#)_{DtzZs zfovpQ75dd*Ar1USEL|kuF+A5}|8RO3&I;}5(ch-(P8XFRqy@r*`PPuA#9aCrH))<~ z#j1(n(&B0*A0KHD`-hUZlPk$Ex&&9pHFw|ho)B4Kx1I_UgMn&Y$$XK-S?hEPb-JZ5 z2+{STRFj7@4#5c7*`YzHann0-KkK`TYpT`@BL{nYxiLK?GMRDC9!PSXwF z!qEM-;`m5>#MYG4?>Bq3>W&rFYd#!p<-kXTQVMWjVh;!f&NoRmJ#665)WnL^aq1@- zspTnE6|YXujD_SndLNb)T?4!<$ag;C9IwW0)2X_88rlt+QoC3dGVJxD*X(5Zxboiq z%v*Jv%k8~eqm+m$^*eNPYs0R4y6~lv1H+U>j0^NT1z%4#IINK{)7SV(M@e}EWm-Bs zx!}{Lba)3)OB&vxy4x=_WNn_2feMl z(w`FWYY23N1Bg6qFbkDm{G-dMIvF8Nm|ISJ{U#U3`VRXqD?SI@ZTIV~3Q?br=fbrG znAKhaL52^=9{SISB%Kcu{4B>Zv4B_NS?0C!wKYQf-n*Qa#~0CMmjjcgyILpDMJGAM zIB$5}xf6b0xoeH7RevB>mNF!v`Uu7V@br#E6#}_?eEpk^Q4pH%qtrl2w(I5Y3r%IE zYb9WPt>C*8HO=&%?=XhPLO)i={YmyS4bwRMY%Hmz7?~rQg3}{I*}wiRh&M{CVHGv8(y=66?zope0ZF zdE0D*>;U(DZgZ+QSK7^3#l6k?8f>+I zUj&+KUPz~!kZBJi#d3pM1C+8A-MfRE*t6hlR;K{0Rc~J`ym9S3ArnZJ9cFnbPP^8? ztNzTj8xtTiP!;PTBDzHIUK@Uh?3!xJOwOWHU7BR$Pj$d^}WD2%6_WI~#{ z#>O3Zl3^0?T6L~L1`1VbrkRcaNz2=-xr@Imk7!ECJ}~YMx>W+oILe`CGK%vv`6MDx zoHA2WaA2}wL3gGVx)_ov;f^(CUUw_4ES)UDMNbmV!T1qD=mp1Z`fBk~mPbtFkDm6d z&zbR&-(Bu>sed+yxMeDn<;za0wC%DMN@=1Wjd#)Em!+ckm7j_EBg>hWm2SOaGllX* z|CEDD%gMPiIGL$gOqRXMUccD~@ygZp8!VOUwjhZ~=>_fy`Qd;%eT2e=Smf$U1bL57 z)6xBv>^vB<(!Szx#dUlTOP=>SK6!H7DUNZwUq;WK_?r#h9MMF|-ncW2((Lp{MsIT@ z3NLZ1Y~6F_f4prk#>S7kd9&|nxM}_E5#32U)1bT|G&@N$^hbTx$O>2%2b z+j0)>p_v%ySYTJ!v~_FP&h?)4ChwvXB)OGRGq(YBlLK{lp;tB^sT5FI80{7b<%$E) z9sXcN3)s|rOxLjQ2Ux#N$PvfU(C~+%RPiWwMjYi=($hFm?WSoEibJLTESkpFrkj0r zbCewLR(eKeW>#=mEkx~3;Jl)*(^jtkh!Cy*UeRH;a3j%1on6Dr6jt zgxvZVr&DZlk#)|h8L_pMl!^M-#%LISy%sQ6wUQZK>4QukpKU#r7lsz$R`gxSLDbL0{z|Il z<|L5lv|Tg?E&T2QLEE*x&GA%-c96NRdMP|7Mkj(x)hmSkE1S5__x-p>j}7bX-EC_^ z8D-b0`n_C{I&Q{+=;(^-#d6E(+INfYb|vr%vOsz{^TgG+KM!ASULUj8-nS#1f3Qy= zNuMcj6I*_Iu0RAKi#a9C_!pEC?rm*)eY+u6!*N-8@|cB)S7}Roe#i61qrymK)(OcN zCB822o;#Dq8l9u90-VS>{Ycn1UJwv_k?yjXTK3OgP zwrVD!Q;gV3`iIgopfeE-RE3v7f>$5VbudN|dsU?OPOr`RwVlirF$Em=CgDnVkYGBvWAm~?wimnKdrWo z`O7_dkoNsXw*UwhI?#-DlL|fmdO}1!`lfQGSR-|BuzmdP=^)k<#}f4{KL;CbF2~s| zVlIYG1Mw7yIu%nw1eyi-&<8myfs$oaD8fjJIWrZdj2vlsZ}+R(`E+L)#5P|Aq-FSX zX3uijx14<1nTujVCWbpeegMA1gMeYTpn=mup*A^n|IzV1Qi6h!w8_mIW<20CM2OFp zBrBa8VQcmIQ)8^ZHcjSwQwinM)7eu~8R1_4O0HD&$4_B6iSkKz+L>{Vt8|JzEhY%g zcnrdkTQ?;G7;4%M9Z`1qQc(NITdkkVJ6Q3clyMtYxWz-Lik@zE3A#Sam@0MOXrf*H zOnnqzPdb&Han`Ym)0;veaeb+5HV1d{73 z!0((yqR2av+!x0}y)vQhOcE>cJS$OTd0ezO-)3aqdf;1|j-s7qs-vm;lk0Ivx^#KH zjjBIT?%h_InM=DR_^}DFguDed_Y+hE{6&ZW9gIoQ05|XHyw|4O^3g!`^f6CJv{Izf zul%o7Z1=@6iDI=jtbtLMYj+EmG& z_WjP2;>Dv0m&rOVSFXLDiSO&UD#6WQ8G-9gg|{zuqWI_I)nFQ_kF)qgf3eMTm9N}s z>3{o>XtA<=gx3EItQT34Zj>s6_J@23v!rSoY`cm11K!jh+euV=B0Xvecn7}=q?e)^ z0(|nbVh%ejgr?8Zk`tT@s8rq1_u7G4q;=O*y^<4)svf8kI+r5PXMSkEPr`bh-@GT6 z-vtO6+DbEYsTa+OjA(fbiMoEh#=ETKB~9mYFeoYaBW7mvdvwikU$pYpOD@8=dpfgx z?#H*R$kM#2#BN0xHPg&wOT3HqpuYleAlrD~{4tyP7%*YQ=aJVv!kk~#^5GNra2YHO z=X{Rs+ess3vxTDmuD#M{`7}28#%1SkzuJChFp=p;NhutDLwCsJy>@8%aD?_8){kIL z*+Yz8Hg;2#S&Zf@Z+dz&VSH)-dDUMPY=+s8dar`?SUv1ff1 zSAO3y_W5QfF8cr=_hP2`MAs2&t6Q!yc`=cplur=bpW5@wkh6oN{SyV7uq+D?30K%s-6Pg-=pC*^AJCvp6^HEualXn`e7iTTj=SrErSc8v@ayvn<*~N0&8OO*PZXz2 zn!zl2#W{#34xVVb8V-;OkU>OzQJtdGHEUQXe0~-$HJY|jfYGs=bvnn=#qgYBp8lN1 z;`==kCFx|NZ<}m=QVl^1+nNUojq3*Itt*a>tgl>_(fI|w&=8jf-VALzN@47)yEBOY z5T{E{^9AtwPQ=sykDmB!RBx6Y(KP|p_=0#s;tyAhiGZ(~76*LVto^b6HmPHf#71-x z-$aeYCACHolkHv8#ndvBC*xs0@be@03AxXGzv4|_D{J!V1lQRo`+|_WFRW3)MiG?P3uuUJ=~v;F47}O6aEo6OJ|c;&TD2K zUCTI($7vTG8pAwmCWx9o(^+?zJ2-)^-)Jw9+UznV)4p5Kp>7sYD#%AVx zU&3=^_TzJA=m5W`!nE>!kt2ww#8-hSh7EqlOMw(ni` zK3U`;jWfHwnJE@G@BtQqSI^qyRpL0*cg+{se2w%r6zk?h5BACKj7-itEOdNT&yc-13&eK=ie>n9({ zUtrWG&4UtbmI`#ZE)vw1OT6EQ^ME0QyAqQo8O6bo&o~n+9>22Sn&kHkxP8uNN|#ro zqA z8srOAfP*`UKoHiA_A@pX#@lAhJ~%DPQp!txzQESQ^z(CF-IQ!pW+JA!nK8@)iCcLT zzJ6%I2-6n+yKHOXZ|c^Z`C0&v7ih=RQzoBVq_Mg&TTI-|k;&Ws6m5J|&`^TVzTi{IF7ypn^(A@4s@~wR_S=AvJ{6WVT-MDM<<5B(ZCu=u zOzsSXHW8=y&B?uXu}bG+l7r8$Ex@c^mE)xzBb0L`?!1~7sM`dEdjyAf6OygqmQ7p6 z+QNXZDB10tAMIM}d+rrU!ve^j(5YC`{8+cPnt7AHn<*+1$Ds)KxwvCOP5GG$vtq1jKoNW1k+` z;;aHm#QLQ)3Nr>9O(xiri-EVKF$$?9#3aA!?iTL4hi-i9@#)COwA7t%yGsUMKW=?) z^CtOHZf0ZhTZB`p|JMJXUR~jruSZbnY;4~)i z&Yq{SW3rhcJI~yu|C3eBy!MJl+Rma58e+4jKL>+z^4@a(Vy=Bf8^N#aj+pSP zOf(^Y{Pxg=HTPvh5DH*7bg-~JA~%d7i?pC;>1yX!4P7mXo&GG~#VjDtxac9~C=DJT z5XsZek469*JMMnWx%A5@`nYy|n&Dh%qSRbwags zS~gb6i^9F0b$bIsb~$)kG1^tfmfQu}(89EgMM&K3wL{wZIBgto!wmKE%`I08zw`hg z`S4(GQ*+U9vWCNXv8dlh`VXx{*K&4p&O#G70k1eJ+Oph}l>KP=_?k$MT&kOApcX^F zu-ky=Ahh_+(rVp>7HawGy>0|!6g0_WkWk($x=>CSZzm0u|6)L`TrNEBg2yL2`0;Ju zyqpsqTJM1Rwr%>=X9w4HcwACn>LIEpU%Sk9>sKm;I-sazkgsP1bw5{DMy5OHJ;F6X z>HdD=g+~^#E|#Xz`0j)H<$H zY{>ibJLZvkn*GU+&nE{_v2l~HSkWZ28>y>b5h8>l?{oeKAKFW%ceze%-_j;g9nEhx2i@ z?^ufRI__$)znX9N=ZPeI*bu$FKha@M=g54ye|RV}L*3za#*gYL^xx7bF6#Rz)Z}7L z(&HB@F+25yj*2W`?W5CvUuZd3&%Ee<5H|?+uI3FpVIdBOK*KaP)pzf_7ps@a1{>0w zEXI1rzjOvOy3RtjaGRev|88}aL=(jQ+p6(Vfo<3cP@&s6 z>oN6^>B;`<(C2z=Ok(u;!7}4#wBtWQHQXXGL-4s4c28wG&*hTLG%;A|*KG`bmykPL z`rdnjTf~0q_Jmfsvpu81?#3Z1@6dE(p4!HemH`2sf|gvQh^KK5j^=|H*?!446hvY7 zy>V~7pOtWJaI;Zz(>)hqLT}IP|8&?5_WCtnebVD5ixZoXt_BGjVyM2StPWn!5v%tD%!}-dnk@I+OlVHA?9gH%X?=J`X+_e z!z1=|a1@96MWj23yTVWkaH*-LRsQ$a9bg{2k>5MhI$O8QeE}Vy=uozJiCFI+WgnsI zW?4wH|Lgt|{ao|JLtii8Y)7ZSY5YrvL#p5jCPrU+O=%WwZJtb7xVN5$tG=7uVLP{> znx`ouZ{{jmYAiwM71K#oq85Q4njohoRz#&AFYzkK$EXTk_3GBfY5eyoMIk@7f8!93 zkCXez2r<>p)=gFkOu*fh98zV(Mp{ct>XT=of$xPxCU+jRnRqk7Sy(YvBC2@Tp)JVX z%1Vb{4c`1*w}h8%iPRIO8QR#UC|BYwU!&nMPTV(^6_;Y2`RILe7_{|cKX)-;BTTyG z9+)Yf&&#jINfjtMS1D13ggvQ#QdOD@LP)BxorGx}h@ILChV0o*iuJo5Jg+#R&Xj-^ z$f)*U3ah-(jdNK`-;bVkT?O1NvL`nneH7IX7{%e+!Qs0;X7P>h87LZMM6K*)^N#g2 z42G4KN-f@N6OpOut&zdeA1KWDn)>uR^QYuP5{ATEXnaRU;^QQ;WvF z_eCcr`otusNxo*W@OqFFB0#NxR~{c@7HYOEIl;Iy5Ax~SV(6dUHnYT-(&1MniM^Er zJfbL~|2(9nBdsEZ_O`DM{?kz1*C)B_#@tmf9${!s4NJUNO217z5*H^S zveM%EZQt)o`9{leKQHG0adegeO}%Xx|I^(qjnXA04blimkCIO5936smD1a^{ca>fobdf2cq&EZhD<9NmbuyU!VxKe6JER zL?&#H!&7d-C=Nf@eqlfnI01?6H>8>H4nXW246Q$#E*2ue5OUbvnGJ2o*-sTyyiwtf zvYO6u2C6T3d`~JIE)eX#*clJ=aoM881K5FML&n09`i#iX@!xaYCeaz=Y;sN##l~90 z!bZ4f5HiU4>D)Y06oQ9`dnx!u=jc?V>~*~tEo-8Ya-!>v|EP@@sb3_ET2JeA=*nRV zjK?6z*Xfb#<)QP|L#+%)U)v(2U z?pQ01RFY6~&ezmnEihwoSC-iyesI=OF)DCynOx5}U#1_YjH^=rwdM0~YjAaXxsWCi zTR$T41;_VLr={eS`Iy^VWK6GqYDG7PN&z4`j=ptO;~Nm^g6Bu!#oTuN9p+Y5Reg=T zI&MxSeN>MdjM!ffQvv+Zv%lC!ueQh{emj;lBpI4T&3I2lxr;mQ62;t)eT~ADeX7FH zmPQsjg)@UMf>}AHls9+vOoMf;z;pRbAyvm=_c{~eAPUZbf}KjxcB|)&NAdLmngxH) zBWn8O?%Skq-{_7@aPh0U0-tv>(dY38;cSwCExE0+1{-N#N8hp*yDC3u&uhJAZbSRd zy7`eHh7#&LGC{J-K0{ZcCYH5PiIM)sq2TJ8K)w#%^DY>z*`cu%{xY;Rn}}E34U!kj zd1-e8SVuHT6*SBa`>f%Y^A@lgKvoAhifNvMP{{SbVK*o_dt(ZcmmOTW%4%gGH4fKj zBDh&*onN?1W3Q+=J#`Fm(lOx=PV(9Z0{T=Ii3522GYqBBTz zf-Vhq-1UH@hD$@!@N^V3E-C)CNapf}#>VD+TtbKRVR( zjho6Ff<8m}mCGBf)rJ5aIn`_CX74>spQ8nxNPQ)-p%jl%a+ZAFvA=U;Xkj>GvjfgQ8V(5_Naq+Z(a_H_)WFYG@oO zjwPo+X9t|-{J(HIMetaui4Eq58VNNeN)zx}cQ7sRlXEV1elklf6hbU=B9Ia^k}@D? zW9itxn%NK|&?qS2d`z_dUz9}gf^nKH8SEw4jXKmCw6QNFdc)szYU#hzCsB4;On+>UrPUm(_s-TipQDTFR3CNPYAn*iz&V8%uA zX}IXRa7WMD1GXe;g6B(IIhdKfKM$L&uUlXu>bJ)`6JgfGif9ltgU6hX<1FJT0&gugE;zFkwoRyAQeqO zoF)TwNnt?$cKs8?Xm&ITBIe2R%4OjL@K!KT>RQ7@^9ot6*eerBn#~R_)>mQ=Vlphn z#eDXydpGl!i4^Z5yX4;`ic4uclP(3$P4%PdW0je~Qjj6(qO+P5e_J|$&7 z?N;!QR#{68#xtenAv=1+2a9?Pnp-TZ7Kr7mtmDOoM2iS-`n@3oc+q$>U`ZBvSmfu~ z)K}24(*+xB|MZ2@H#1i~^`ONLj&FiJ5pmVBR5nHT)#j3xfmc3^Dt8l?DHMHofB#awfEY_fR&h2J6>@Y6B^nyk56=R>#FcYWhkq|`}e8gho< zH8B)7kSeH!MdDdDq76+64Bvm*O%`sQEDRAqOM1N5V^pc)t6;d|T6Pq)LQEE@N?n@< z$z#vP$x=%3qr7?Z{`&4v>}?zr8`xVmXfA#|pMX88^GCIRkzZUvNxPGw-ns^|3#=#e z<)~k|Ky2O|r|CiBs^3)B@!MoK9RK7V*RlS(rU=7z!vbVwooIVEv2B4@*%&tXFV5W57~D zpsnHRDJP)xh0iSBZ#{$x$YU`i_|KuJ72dfaPeW(T6}lws^Ki)D~fy0eJ?UZbYwXLe`-v#Uld&bF=jzEHhChC#Yj8ZK!#=_&V^A9JOO7i~@v@Ro$0?T}=Naa6 zu7wF5_%jbWOsv+4T9ilh#GUBJ|;8RswYD*r#~9lt*)v<0lS)R+{2=tx>1{e4+o1w*<;Bu6z@$>QO_dHB;J*{z;dR05_uWiuH z;8^7c52~W#%AKMHUc#e*gr9@Xb;TiVkc(15!3KFLC?lKlD=FKTQ4O=G%xi`Wfp`Lj z{%&=?-nH(KOKQLrFst<3ZY-nRP09w-nu=#~5sO>Rc-%`}mlSp89Jz~bg4fapAdRysOm4iD9*YzeC|t39 zz_uA)6=b4)d6L8nO|)r%;^9K=)fR-a#L4RMsQOAJu6OA9*{KPoe6aB?tKnq@jL_G| zJud}y+4oNE_vuSjoE97G#DI2~ClFo%q+^M^2`DtssB$Xh=Xhk_wKgzuQb@JHc3~yg z9eSHiCUlkZH(qE;uvAF?K1Ei|NJ@_ny+?j_w6MJVzuR_k6U7@W%*tp(aH+4GvdM20 zBh&~>oxXT#3rP&h{uW%^zZ;bU$*fHO#UcG{){~Pstjd&l*}K*1(9xru=IyNe_+BtB zR1PE-jWQ45CqCS9l8{l;K~wfN)?9y1{4#)%qc@Vu4c!I*kwJ@)zd)XMr4b%YO#qHi z@2vBVmD-*=I<`iB-Lxy4>o3hfw^x7pype&#i9GfZT2(v{t$_5kL|hTnRgAMvgxAX& z_Rc1kv2c{{7g$^4<~qki|I*?jgf;PvR0T@7ey8EcZ$k=GrQxDK(l6iv0SJ)s^tpBg zB5phT3dps=0D%L`pK&{v!sFO3w0TW@(qrN`qrY7EpmPg=GU|0PFMwJ$1-F2b=k7gC z*Dq{o-AcpSp@6-d7+SYBxlEkq@JErk_=>#AF!OVUs9*DYt0`I?FDbkFE#G!zwe9>O_&~B8y>>1YX?Fr*U=3l zZHh5|hrdwC_uhF1riDWA8bnL?8-<(!)2iIHz(Vf zFAp0Oxj~AQyn@R<7%D@0tdv!7;Pg(B_*L?bbmxDWfQz>D@AT0^ddn#(wzi;%2`{T1v+?qiHTZn^S&LsA&zB2 zT!}=BZ&_WQ+f4Aw9T?TJ82o;~2(^L4g>=4RuJKflj8<{1SC$)kc07-e8A@+un1XGRY*^;J)PC^A70B%?QfDDLl$RgA7+L~yaslMM<)ymvkX z72WBwv!OB}VEoW;ca)(|n|f77!iMha#o)buSyICfNs3<+lC!wfiFJZiy?2@T z_%t)c!w_ruN_b?-iZ$=^x9qxQBfZUlK%JVw`u z+D8HXqa*iKX#Z(Lws1XTBUe!?m(M((u<3W|q*>=^0fQ)fJLF8e>e2f8V<#9J&piSh z{QC8W?ku^K89=nYZ^SYq{O+@X*pSBAkky!35c#NmBR?Q!^1;djJ6qO0V3s#8#OJ5J zW+e}{YGkM&`_?-3@E^z?r!K!d->BK|iX?u8DASYvq`%bMJM1x>5*_{a@Zropb&k>Q z8Yu%i?xP|wW{~vPCZ>=owf;rXrI`}6AI7K;yM7}cL`+9qP&+u>CnHkZeo>|PZ5{43 zL*x$szg@Up8x{BAqdrW)eJN()`<*-aAKUE_zdY>>6Xs{FM;}I;UL377J)`}?ubAMw zNa>qi65di@K2~LbOJ>sJJEBi$8R3H#RStGE6k_HrR__{?R z&-n52r*=gAW*|G>AOV@2tvGr{^)n2L9x$fheqyMaHieG1h^tdrbu368I(4!tajOWb zB_7XeZVm7*2E&Ujf~GTuoZ~O46_7v}L+UdDYapITn^s%HI3xp7zKKq5&l>ufu-JN+ zz2`kbt)KF;{wQS@a(PgDa}Ephu=FcDshV{pt{%jXqQ}tt{Yc(CCS^thdsX#uG4Cmv zQRV@ov*k!(+kl|yXF;2IlPF2p=nd_;qtKJV@uqn(otlDakpwiS^mOyBID zn=b=gRL8Ypu~>=p+SSV+GI!ra;@u5N$?GxyKoM4>6sSgNJ-fFRz4Tfk zvEKajak*;W=@z;$I$Nvc%zaA(r7t`%8snFbbe7BQy2d;4{bU|U?g%=b9d};G)c!II zYJJ5;GJUwB?m6F>XZd4Cv}oc3_hidES(kUM8VS(UI@O1-WB5vo4z)=`YxJ};9j)ay zH~%>hb~A)vnuq6aydCxe59*$N8M1Z$e!7{TA#jJ=^ySg33kDC?rQA6! zyk-&gFqKNpF5>kj-uP-IXt+PY^4wFxAtDH+RpzSYk!}@9qYn(NcZ%X zHl;ki?KR^3?>h#$l*Z_M=k;(CY~`Wy;n}DTn{H@P`d4=a2f&wH45Y2Z#>W0wY4?75 zUY_VYO#AkstZ^9wvG}n(GLoz8xx?%jay+ZOUDdg=2Fb)4pucUg7G$v0W)qV?{C*Z! zhK8n&Ug|w#-k{y=e}hGF^Z#LhRIwY<^93CoiZ;KAzyF$PXy^G$f>mxY_hj|cphhTr z5Z}tEPniJ@XJGNa9K%F9aos$sf-4{bB%1 zok1d&L$wp~De&ft6ei|kYp5!sbd|l>*ksOu?l%x!$|TAS6pzMkkb4wARmbEz8LBrJ zEvMq7ZrVfjw@$m*Wngo&lArSQK0I`iUV2U{%v6VAO^WM73}fF+gp^$Wx*pf-b3rbx z8r@I#yq_u%_}b!%UD=POym>KRly-KWiC5Z?5P3eEM4T95?J-;k{T>VRJ9CwH((l@ib(sR`CFYgf%#wOI4;!kQTfA^QMlQ!si zDzB~vW}IV{ynE#B0~<&wshC(wYpyUKIyY3h-X;)Ad%)5dSxQ5nqsJ&RNpVp+XFe7v zAgyVId(E`8Ks;Fr`XIAqSPLH=?TfraZc;DqKPE?k!7iUm~IHqQ>a)R>8V0si4586Ic&c1tkWK$N7nsqWf1Yhx4#7>^R_kn|x zp&RjaH+$|L9tdCF-LEZ&P_ASAkTUKX9d(aj3YeOX#)H7QP z_+E(IRy^{H*^Dq-@f ziL%2bEAYwQmDcg>jr;tt(&6di$a-Nrsjb#qpxxTSyzgg46q0x`IqO_?$F1fu%fnJ? zO3?`^bl^fMK+(BFo`oOul-?~TQl6flD^yfab7mn)v`HgTcw-9QcAX?kgK~#&yCY2o zA(mC!2YcnX0@Sy+?SU@3a-qqTikI0<`qs}upbi`pViIYFH*)U!wk~vky&8O261KMF zj}}`r`JGqWQz&h2+ZRoajH(AYevZgBUaf+5D5L&-3`$p3|4l_LZCM;;qRgznA%+=E z_ZtFA!C`}tKi`>@>5^V|9{C#9q~d!0Wp<$>u$>_WSTqqcYc)SMULHTNOtZ_xtUGAT z!EA7_4Kgh18D73`q-5@J`%W6YI=lB%-}>09%J^^gV@SJiftJJ%9nz^`7Q@=;in`O{hP#X?n2}SxC3_lB z5G$Q7EnB7n;gM^O#V1S!F9{2Om81gC_-XVSfV|S}xUCF`DZqcXVVcZ4W=NQzdlt;@L!8>>)eH@XlEH&9=hBT{+4Dsrk?%lzY)oUcqfmS3;_ z+}uijmKAr)-P`%I9pOCD_jbERo}X1}yay^P|2#qfaTo<04q+dx9y}9B?a4{W`5*X> zk|pyxQ9gnD&Jgz^3&n~QT{d(o1Ct%7V0d=LCWyNu&A!zW?*DF;HYxZ1bsg_Y{n7b^HlpTX`EVlm z&vL3P;$APat^&Oz9OJd+X4t4o)+|324aOVQH|s>?=^Nj74YxW@hzcAvfKKNe;T_V*uldus%OUYM1S+MUROiI>c`c$h?s$ygqT_8j>PK* z=tE4T5;F^zK~N}1pT7IEH%PyO%YA}Iar*?(mQ5x@20WqvO3N5@Gdximet#BtJYl8| za&?!I+0t+&vRFm4=($c``ywB^tg~@RJ0R&Z??iI-sMoqRh~yvqR^iSpDP$H`@|s@x zhskwAHsh4F+cdQ2^xo{_*_@3iRPCA;j9&u%TO*cnS0U&ZeZJy>j|KDA)}V=i3Q`}^ zEVp;wLY+Hb@@WRy30|^SO5l@KHHJt673#@2y5XQ6=vRKFICwdt`>)!Ii~VqVco*bP zfrMp`CLS~bHPYU$*L+)_9#qL>kuz-#)*OQeaw5*#I;Q%4SbA`3w3wAr^w+yXJP)f| zCBERUp?1lj)r#xIMaz@#QUK~bqABq6sp>G5u3*F*n#5?5^^g1lQbEHN&rjU}S!Dxc zX_Cckr8cXw*-fo`iFiTzK>QF!092v8Wo-PXQbKalRJQ~7OWV}VF#Kk9nbdfZFxLpB zxV#ew@bAJ3ZJc}-R!feBt#>o?+ofWJ@dXhp4taPT+?$kz^E>`*@xA`6q3{8v15ZmS zLi6Q&e0*lpRv*0G3Dd$QSw`0Q(ZF?OLEI}6_|P(1Nf^?%-h5uGx_>|I{yS<&)%}WT z*n@2LWnc&vcz(M;>?8rn!Pn$OGCUDtIWIRmvEiDfJMd~F9sXlW{0V-l@b??0 z;NboZz0?Yc)8szASWV`d?&Ryd4r7Pv&f8C|9#^Tf&4#hsugNL@Z02~1!s}J9yIx|H zkf>mIfqrZd!jtwgeaWp&C3X-$A_x7*P3ImNBMM&t~0U)9h!~jgj zvwkRxObkTPFLff1*Ly7d7^G2W17sB9@(Tdb#`NXlLk~M)?ZfKu7j#VPz&sfa{RpT; zrKv9s_20dBMzJHl$MT}!(J_5v5bRY()Vd6YNpS}58+RV;0n6r+?lg&ETC2U_h~;%T||F(~k4&Tq2WB1r0Pb5-J; zp|yZoZ6TC61wV+y>Jzj7Rl?K~UWw3=xFuy5{~9C?Ap=Q3=^y`LHbFFR6=_o&EXN+` zf7ghWvJ_nxVn6qzRXMCG3TKc4=KfHYtgA&6p~{fskx6N6ZC8K@KQ~hgXJwFrt2v7jhM~P1Bu`i#9L;VBI(51J!MPHVhPM$ zr|DLH)vL4Jn$B4#AjtKer`P_)3%7pWu4B;)=Vw5_&O=9_SvRgiCq?UrG1dBq z6_?o@os9UrydDPb%ljNE7G6hLh7boz6Tg${D6+vBF4j^vJ{1kmqv`9kp`xda!*rtn z#we$(vt}d~I^33OVm*MQ_H|-VSdFHgjBDRCSpPK2~WG}kI5E~%}Z+OiWk`y$DKjB{2XcR-(0 zj)Iglf-&r#q_*c#Lc;Ilhyxt<+py|K>EpxH;|o%LV)M)I2qzjzN>__uoy=MEsI067 zU*vIJ$b$%ERAkgVczE+gKdrU3$I@^Hw%fv_`My06++YKQN>B^hV&me9p;lQN$^OOc z?*JeEOY~1j^&)A42+kKmIxby(_GdA-W!m1YUkDB8dl)f==5Qg+$GtZji$#C1C^=sSCR8vX=+lEaM!9^=jUIW9Lp7seCA{@QXrx_9Qz!o zF>AryS89uy8C(MA{GobzQGH21VqFw&ffro#!-o3rXZvDl?m`~|nRlN~iAd=SkG^vw zH@_mI;irT5EAp)57C(BW-vC<$@jm@5&zgn3{Ofoa^)eH#g4?rvS#Bf){tj}xv*+a# zvIne7@Y`Y1ky_>smlyY-x$;dDL=A}SihnOaVLP-oFh)JQN2B66#$r=yO3Y@-L~C## zCl7c-S2Ya-!+RH6ZO}dw9Vz?!m`SgvH&T`J+}C?cj^ik`RGAmm$`~Ao$ z0;%gz}#-Qe+5wZNRjLV6({Y>@?Nua}g zjakCUY9}yw1ZGi?9APK0nkmLPx)G zwvylMC6)%UG8!u!XCvg?3F36DV@Jd(6V|?cUqO8ceOgq0&|%HE^MHhM_7%xrw4l|% zV^r39$cVZ`aEZDCxETzFV4W6p;n|FP{zo1mACrdaet7dC5>#Z{)Lp%)mVBJUFV$PE z|Kd&iV6(ua1b8K+L56G6)DyvvOm1Pjfdd0djwrA88rL_A<~IGgOW(5tyM%&=2YLkZ z^d0;x>7BRB#{K2={LMuMR3}0jG4v?f<=_Htz^*4wsvxPjMrB+AIwld1Zq*%03EgCz<#wPV=eRQ9MU5p{0 z^!kqYo87}^EpMCoh|L#bNXUSgoA7S+%f&MkFQ^(9`?Yks8e zIx+&YXJSO&9TK-4CDI)&hyM4?XZ}OlhG11P&6TR@wuDI?20F(6q>P)lhdU{1#4#Bb z8C%E(gjBMmd^t8iy#V%32ip|#dye+$cBB3 zC{xaj+B>0+ba123-}~e=+fFs!8Jxb#z0+pI@c~sgQwm-WnB$UQj>Y-WD zF!%igDnvWA)_O3XdCf)xzuY!TFGMS zvg5gbqoFe{P*Q?9#4@7Ld20JeJ+;pJd2W|0Q!b6jf9|qg^yb}9y3L^$8o|51tdZ#u zT;pUHLH=UPvK#f_k%nBi-4erpl1N={gQQOn4-x5S&=4Dr&*^l>~ zuc{TVfkLEftI$O~t_TcJYk8Ky(Wey#FAAc6@)H#a9XM*E+rE1LK^S%j?Gu8%AS9s` zwcegJEb>5@o0*f{L`N6$O6$WHw3=h$x2x4UzzTob_m=RasH3ldLJi95%pL{v4wPED zYU!mVq6H0du`=J`J#m{S&w^SX{Aj|1bWNgUHoI#E9rG?9JzriBZ(w{^PXQbcCbw5K zO-AqU2T`RD+>G?G<)429FD&z0@D6maW|OS55Yh*=%E_6d6k7LB)f+k=|FSZ&GO_NE z!A$Nf#Ljwrq;oOq00q@bTssyqK4rD)rnnc1a;oCAeIO1)k3uiM5~Gbn>ds81_svff zD^29`;$RaJOj^g<*@ra-HnB%wV;8<|vYL)RR@1g;dcmWL#}Zg@pMLZF{yz9E3Q#=^ zTJ0Xqt5=K>j#ftJ?A@QP%bxCW)TMBmTu)t$Ce zmaB~0j2RCe7j8)VKS=47$WWGuK}>sf{BZ?N9{DX!KVD&*1s>Y$OM6h0`ntTf?(>~V za*v+IG7Yapgi?M2!w)?qJ|?Cstb{|q@xRvSQjTf-kJMm}AiGr|yGG;9NfG;sU5iZg zU9)7hEMM0x$+w`zv5vn*3(VwpNhZFEjlQc*>ayI=X~fkwUWyN7DYy+xezLiE(PO|` z3aR<-y&et(pxgngqfW+p=%2lv@(`aN;+ZRvnq8Rt4_>P`_Q$E&X*DwQ%5*EO^rPvs z+eZb|zI)T<>un_rh{4@qjxK-IKxO_B*hMrPo~JfK=}yquH|Yd0Bx-a7mm5$aeMz_3Wx9oo z$ic=ZCH*ed3r4Sw?K>}@`H;7)=otlwVsaMsQCv;Z9|I%SN*!G3P0r@#Mm76x=DGiQgw|QTQEE=IX zo1VubMEt3|mXVnGA^TD_D9=l9y6MN3%zksBkxjI$flDNF2%Y+1Kmo)o zwJ$M`U5p1+j+w;isof-9N9@e|B}R~&!Pl!kfkb{OXw4FZP1QMw7X*bFpS3}}R#gQ_ z@>`1hk|M@TMy(!dyj5axIDAVftQC8Vg#FIZ$#>2GAeR;3vflq)l5k@5S3*z1t`?Z59a)UJxpK>|IqT4)@hHUS^Lj^6GAy>4DF?vn# zH8*LfCT>sF1>I=weJ5oBO|rLA8)JO6^9f_biG$zoJin=`lAF6@#*9=6!A=Hgw}+Uk zfeb(M;x4mSDx^tYBOXd3FL>XZm9YoE6_F%q^021H;UFb#wbox>dh>b{=q~;)MB}(5 z@HQ3@u|CRP!W*cQj3@TBJP_y7y6|{6^d^(zlXq2Z`k{x}Ny?#kP!X4WEu!+OmP^D< zK?k%JhLc(~5Z7e?dcTvBExu{Nq_Uam_fRc@YRVihDR`M4snxNttPU0uWaQ z2~dEG1n)e*mx*OAH4oUKNFmp=9qGC*{FCGNL!WQ<(^Vu2lukTjy^_iVdQLetA@d3R z)^hCU4@}l_jYfM%Ign6y-IIKKZ(QVa^Dz1(2LIQY?Ly>wRAxR?I@ZI+s?rye3dy>? z6a|oB5r?_2kY{0sLHjeEBDwb$p~v9Gb}N1e-#3QRXx=R!qiv4cD757+ zCo9;ejb%NrFKv75CacXNaM0IP?X{d+LFm|R-813JvcZb8EGN>d{;M)~3W1#nz!zyJ zV;oF8SW0|DZrh#?`Fi?C6*!qPM5hGMI}p%U=w;#6B$;VYSlRYSFmRXt1OQ{r;z8vc zrJ)a(hAEVKblXke-7SRQs=f|US^On0H;C*&Dkx07AEg%l{`B|^57}sMZ#{jw`GHjb zTcYTUxv7nZ;zI9u&J++RwLxW*XE~iCFhD+CL~9){?{qj<4WNq97(#EX%-Gua%H%Z! zKsV1B*KisaiwEMR<4`4$-x9B6&G;|VvyLG~;knP^zr|ZZJ)|{No5hcW1uwoH9{wSw z_yKMw=#r4atg)C1(st3II{;G*odIl*74{TEEwQTPyie>ZA$%B0r0dIVH0lMQsUUCq z?T5=yis1FXGK}*@u@c|ct!oUcQc7NJ1f6KDM;Hi51NLd^Xvk7tQ}x_Hx*>Z$b_3*y z&l9|LiP%V|-6Jui_XZOBngy~SMvPTPDUyy=9OFPS>i&Wns-A-shWm+jbn15g1k&_R z%1M)d;@F#RDr(-*(!mt9bPkVPiYr5EyKk&*AI?+E4OSuj{Zm(s6CbSl>&#|(MY48M zP^6JF;3@qOHZ5XZJ1c~0*}v3 ze?O5zi9S9uOg+CX^LMuUuh-v;S6BO=|IU{Q7*nL_Qo}r|t~aOw1vb~VH(>8Q0%mEy@SXGuWr)K_2! zQ8_>!woo&LvTGK)c1$g3jein!OY0-{V2Y$>>D?*7ztVZi?%JRl6ffs%|3fOxS@CJ7 z_GndA>%~bl?T5y3)Uuqa8m*C$k{ZEiB4r>{aF)vS13i&+>N&m6{LC+&7Ew{Dpsx(1SRT4bcd|Xol()J;3)Glpdy@u9p5fxaVf< zZ$4{xc|`Ncy*zaiprATQkzzI2ANTE^@Zd^18wb;hs2~{}o^!ld;j0@q)*1yTnyl<@ zC)6>?qH~9z5SWHs&Ia;vjVpk^Hyz|gaK0qw9ZFG&AbtK#vO>bjgRx8h80eY?J%Fnu z_vl>c#7Te2K4QPaBug};cQ$$Ux%6#+hjZ01S?NLUd(%p5#CP4mm}p09%TW!pCe>M8^S?frM~7wQ`K+G`!w zCyp)`t{M$HMNT^W?~##!?xSMr)z(xbJ%awq9+e(5hIrZSW*bAwFa_n?dFk9|}($TSU?@(CK z4iDx5=~uI*)5Xz>@S7y_cN*rw*y09wJgm23LpN{b%86xX3*L_N_tNm9dMb}#t5jV7 z&}4%py%bQ&lL?_K$;HDMxubRaaGUKuY1-AYkl>6Sz2#~BU$WC;GCpbR_Vmf9{9j5^G4G$A+8 zQaayd1FXaG9La3}wb)0dCABGHgCQN)w4wlMxVIZn7MU{Mbb8jg&=ORPJ`sV#uIqi( zk1snA)vCW<@55k*^BiR`{Lk^{vD%ge|CdDT)v5|z#CY-5bh51288Krezer<`zVobj z`YP1ooO6!=4>NhKE2zj$J^Ar0IG&L1hg#qkAm{oXXhyp(fpBlcQx%H#piMbinpPP+ z{G_KmZ8HR065}I$yI#%Hr9$L$d%%9f8NTOeYiD3x*-V8e*ySXy6Fi=Yr*YF04Ba?BtpRDg!fwD{R(K-@1(St!*VNOQERVGLCmW zl##<*2nS_(0}@OyKJ4HvjTEat9!=O&(%VdnTK|mE_hlusdjE%R77Y84|For~SSy_o~aGbLN zfq>dAJ#J=Aw-1EN>kmE* zj2BV1%UUvW12hi%z|GkK;F`&@Ure_4rTcMKI2aj#fyC}{KVz6r^l+MS6IHEVFF!gH&2IG?@WK3C!o6UE?Uvzq6t5#aKZfE1GIk?OBTe@Z0 z+Ue$d0V`BrOe|+Df?6`IXq(on--U&fPQ&Di7XAhQvd8nmUDK1zZeg=?h?t(9!A~6W z#K}p&U{nE0i$D2)%5~LILI-4eSg?j;+e>HJ%w_GNJVDdA0^T58uY_O{nqn@Kcb_zi zhHvw}Uut9pXBcS%*n{a`9b7IBG+`qbd*8Y3E-wv}JP1u@1hzlB)nhmOe8BG2+{(1D zK6Gs@aMUD(SI+19+nvhrM9uUDUQXKowN*9!5v#efEujgQZ`6s&C{niMvz^vo zM74VeUtO(JiDMl6k;Y@5(yW*X_7S=#5h!ub=RMjFZpHCO()6V|KILl!qn@o1aX%DFE68*+YECGLakoqJoB;|!51%DphB@QU<;SwjqY(!9FdbW zvC?I=X2?^#{BKO>H}$#ct@#{SQFFnOw<^yi#2D<;@~}BYe-P`%==#P%NKIq@S%Caj z!BjGjH#X9aB}~|`QVv!O$-F?^3V7?Zepj-NL0TGej{H0LbCpYL9^)1O!%l-Sd~~n# zx5JpQ+3pRiNwf==22Hs>h{K=h0>?+OIiR&rvL zSh7g`&b$Cj5=lQ6gRaudVR{ya1v^zeUsYrCPT%*1G73jKnckn6{Dl{zXnt~PsMJ?a zIuGbuS~3~bn8a1`_b?<`zuPFPK(N$U@u)d_u8mo=1Y@N2(3C`VbBIS3M#Zr~{;sUk zRWZ7jydu$Yi;m^&wfi+THkdE>vCes(kGK4*u;Z2y3wB@qPs5%pX@Jd849o=2v)=|) z$R8z`e&(^mKa?aUk6h3xn)Dx~zJU!M*a1W)21&n@0oF{@h{;K9jT{Mzx7ok*%sYcy zcSCNVgdT6Y8}vBM^-~}=yWf3}zF}F$Rt%)CHnWx5p2lc%0x_^)R(0iMy10l4)CW`I zNE@OG+plNTyqDY{0?%!7) z0PARcx%u@_g?>)GRNvh!qavV}EtsAIWgZ(GrXE)z8QlK$Z(#Ny3C%(uX-FQBm85dS zQW-$s4I*=gt_TJ!k8K+fcpe4NkM`y3A^Pd;f9Qcw*pG=>q|kw)6q$J7 zvT%T`+gXYRfKv3aVnz?J+d|=!e}G*M2Z&Xr{4bN;x3Xc2#a}CzTl;93JG+FQO+}E$yY)S~5|M;h&H}ZUQJno~ki;#(^`=al<)=)niTlog(rd0-0l+%2 zm_3wMEw}b}c(eB7ekPy<+bP5MDy?3hjRN~?z zl(NKGP*K#RFq+?^^t6dRQ2*|hzAr2~=EjTI04FlaGHeee^>3%hCOhO+=kPdWC;^T; zGvI|@Nv7a7$hYVLB0g=gyMa9-L_-i?i`WVGomHWdHqw7&>)Rta#46*Nh~3eQ$s?<3BSYz`Ihs$Ni1G zEXVg*_x)dWjqFzh6Vir~RMkxW-1sBs1b81UawO_zYKg+wx1D<+)Lo{L0P1kSzHxJ0 z5-|V-wHLxv+6z-j(ft5MmB(+7Bl0K!7cCuiFkL1I%sc?mObi6HoDW}+0r=|n?gMdv zNeTl7JCqD~bDDn~h0dD?@w#;!uvM9NEdd}CfLJB(nwFIn2mEVNA&2o9QSsXL-Dfb; z`6#lT;k8?l}uGWCjwn>J@=+BaU2(I7R>!vt$5$4g`Q+ zq~)rs5l4Pi0Dex_e{XTNd$*j4$+Lgc!j?6g110bg^nzCljSfUWY4}4Dt*8?-c+S{C z{7aj}I0MFQT2IPx*Y+7a7~3*vIM|RM?U+wR`Jil7SCPt1L(=pmjE9E_+(i4dp5$VF@*G|z$?ch zBePaNK<}A6MM_plSV<4uok;Ycb?;1t-sLud=*owc71Mvu2)J5J%u?x|KcCe-fa}>> zcJEO#GJ@E|1?id_8UcVcgKS`cI+3rj+Q{QZ-$~zWd`#B;|Hq)i4tf8h>aC-y>b~z` zTT(#s(nyDNmx44%r<61b(w)+E>6Vi26p=={LAo2HyZg6~&*%M)@&19sq1=1+*|FAK zbIrY$yFVD>=4B>m9Q^l8xJTAmTOYI-`S5S`tgp^?3r#+zfose2F59pF_j1%dppU%| z2D#Y3`*%?9^~^W?57$>8g6@sf*J}SB_SF9}l!y-p_}r${YvF$jj=2K*Sx@Y4fWuQ_ zDSLHs!5!!H?B~o=9N#U_u~goSAN1(O<98}+%&fBCR{h_zI#(jaiHBZo`QhsP{xK-H zO>>GOC5;L*@-+ob+2CW0U@AYfE-dH{@?m3Ocomk^A|)m!hEe{T&6wwY9e}9~Rnv9H z2G;9$0*e8mG=IPYThgL-zXJtNZ>yu2@vWZ}U>#NT_4Vz>(}CV->1@U_px@Y*0R!3u z&50n}L)3o=+V(C1V>q^(L;Z3Q7oM^Fs!mtvmYPacgMpE+Q^pI*5?6Q6JWoO?j@r<(X=v2EhAH%^4eHIH>E-yy# zx=Y`(-zC+T;-<8+fP+rJVx6A0B`E)vYKMZ7a+9S4^dToO9!w4GWonu&Z)5v}GxAW> z?u+SCDz_2;VH+mYBi;(!T+|0uJ^vfgfzC@z%u`hH zsu0`1eM8YlF1(;;BL)s0B0Ulj45{~=H!z531}jGq3+Hd9wX)gu_J`lOClW~5LV5NT z6%|%zQzqnmd<4k2j3Ny#r-ah~CaMlJ`Ut^MR4v4YdZ&XO45m6QyUw$tC+iKyGA?pb zG1UJkwsUm_Sv?p-ozS`)VA_>@a1P>7ylauV~Sj2kqLj3v2PKtz=lwg z1=i*eG(_LDdKQ-c5*nVR{^oEtxU_O?-!XG}yuR%)G=os#n_<%WP-0NVSHnJd*Gm)Z z-q>rlr2Z~OnRiLNb3ltmeJ!dY4S_XpWX9?Tz>&Yu@whZf*_4C!bG_G7WSo!SUbpF3 zL2P3_9tjCpSa&<~KhJj!WW`-{UV$bEbQox{R&ITb9%YG07;yRIk%F`6pIr&G&Do2D z_*hDyUoIawVcY*1oWT`vltzOR2KbLOQ9fh6_U6k#lv3pAel%6tqte=<8_ar`6b;G6)wkbz z3L2NRd1gVKmtRUm)!)V#q)Y>Uw`fB_LGfKKP0)0_2s55SnV zoq19{@0|a$z}3Xp=lc`3R3%z9FOhK=euF>(I`IeW6n%15^a)~du!tPFv@rUT>X!dt zK}j>HZozD~A)l3#qd#7x!M$5K^6wKO&@(!JPUwVy8>JtYTKqOg$t9p-Oq|iu?LQR;Mx|^v?N);6^qCw3b&^envo5^$dbY z5mMm*2G52a99RiB1e0Nri-(PFjzHLENx7N86<61d<-^aw1BKs~i+|0xfHF;4)WTR` zjeVyLK^_pQ>>$g1*p919N>?{>#;9=nT}uz$Wed^UG4#?V$NNufuJ_`MmAF z)7R4792fxV4t$au&612h`120!-|Xx{CT#_xf*Z}aO$G=-((>tlhl$(z==k_F*&pt4 zakX6vAwcK@q+mAr(F@0d!9*$#iVdQ8zSgX=`{!|ed!pmwaypj>(m?H;{1C?4E@(QN z!@$&#OUlZ2B$}k=M=RYNc9I|0bj3`(DVo7N8 z14p2D{I}nQn6Ad;AIOSxzdl=v0(BA2c4rPjD|%=eB@4MFZy!8XEYqn*2q)vR`-A1~pT+Viam>MsH zrxAqE=|X)k5p{$N4YOp;l44?fXDsU8yB31SKhXmrD|Bw4e)k}96@r2UYG~h?ErQEo z%H|9tt~)IM-eIxW4OD)ZCbtL3Var!ES@s<`M?6xuUtMtE5Jp;|MN`KT3 zCmgDP-z)$dqdp4I0MHJatg+1T#n@r z0~SW;zjyuwwM+Y(WZ6NT=9aPT4p>%FWn6G@O8r-|xg9>Y_#%R)rN90I>$$(3pFvjK z?f&+Bx}IA=?^f0=Aa}cSlMbO*Ymx0h*Vi!HS7b`Xh0#Ce>*Qv5c-f$ zRu)Av6d0qTwtGKCMt}Jd;%&gkF#AS%f%)A{{08EVT8G_#&Op8aEP{{~IsrilumI0A ztIUUv9;bB@+Uve$;w)_3P@4G)a6rBR?d2g%rd@W7DrGj zsiTvMBgl|xt*ceKbC0pi6AlJ>d|s)ikCE^k)M=S7lFN9P+!)1v3JV$7`O>n(Cw4B5 zev-kf)4aXCTT@94c+PiGCT#b(F$GN$ZB;s6{7OqpW6ZSXp*H$!;B1w$g)Y=_UBkAP zGFV}icK9N!nYzY|^ zRY!T-EsF@M=UoT6A1YsgTYnfM39YG(t*w1PR4+>T3Ijjf9S`qO;F_10*M~{G?LY8= z{Goh~k2U4+1Lvt1Jm*R{dq2#1bVuN~uu`*c(@x>jzb{?$5PLi(IviEb+-Yrk_~I&N z;u@Y^%uZ61IDg?|TK5R;EGlAf*CyB>G#i*4sJ?@rv-Qwcz)u0whh`~`(YY>`N5OK| zEdFj0ajX|aXMU07;#&thlF?L~F5C9-w6%u+9z39e@z3--+D zIvaV*qj;wGTI{KgCzmp33(Ft$jS#kWmfZB^{3G-Cy*bfZv z*oXI;`g8SZBp_lR1LL-|SGV7h;y54V2&}Lb5fwnYn!sN9t{ea#VgLdG7kyo->^$1Z zOIH4OVkYqA0Ar`n3kkL-FFhN@o`)N`eX(0km`)*L%S_$|h1bLl2n2Z@1>sx2C!bq; z=p=4sux=xG7wX?|hWQ=u=Vq)wySc?!Ux+)LS+fim4%V@{D?!x7TqhuCJMbUc7WQhN zz|zIiW>~-KxKrOltp`N~A(O}{TgwQVzSBW77`q63NV~xKtWS3|wLx1TM%Zvq>p(Oa z+(|8|6jebaQp6zf2P}onA?!ke%+T)p#ccJ;E`tMtuG+~DK?OYu1mV+#4CEP$CKT)!av$bU9z z@Xy@-gxZPcQJB}ixmbMMm&o=UM2*8Kuy+Ws)K{&xBF$|FBn~ds$p^W{c3&sU)7Jx2 zV2mczfkecQ8;zfLUpOC?7sY1RvjX%SUE$s9)Gz*xtOD-RQlrCcF>D3f#vd0ayzaj0 zoQ&H(;@KubqW3>mG#nZ+a;mE?ChO38N__qpjsNSfc^By!0A&7oO{>rUcGz!pF}GEj zt3I6eh~z=RYZ>aSuD(8gx6a9p>at9IJDEwubXdAW8@jTQUX9lc10d)z)bH^QYL3nH zV_<7Vxu!);rX8WA<0|a>2(L4V4Q`D`%}}_qVDlx@U%B!unr`I8icetrfv7*16qdEM-jNW9>Z^0&a4RgBY-Uq z0rdRL!eKti{Lk_#0cy5+CH<}bid>|j?|eD=$JwB449<(4C(Lbr;X6-au*G&r8MLb9 z7l?=eJos1kz6UNZ2q1$TSYrQ4R%V?Ml!wMn)if^ZxfNkXJll%+e%RaU_}l99f%-Zxps+U{X52#A;IURgYeG6dS?lk?_4->hD6oA4C0g+-wkLS|qpRnu~{biV3 zq}ec#wuLW6tQs+mV7W_!;&ABlGU)e0o zjlEvOe?x!ni^vPS40<{`B!JC^l@xatnn-~4ZRS}|K2A&e2!6c;@ITFzdMi?1A_kA8 zmqZNS^*&38{{ldmh5F^JX-w#|q?RCK`MG!=QG7o_>JYIg2h;Zx`A-aq0Z!_j$&8h@-4!_0qGs@1959)U{q*VVVH>=kfbT ze5f*q?KRzdq_D(p4kmGaDcDvSzh|HCV(n;V{owVg$GMNbwdT`oJn${=0shQWfinwm zdb_PwQ*j1&q)56XO)?)e3I)GjeEQY+C4f-(i`sjiGVp11a|PbkRzz^B(( zd`AJRoX?h1^<@SJKqAhqvBKOLWRvO=vLX~Xr;px(xtcoKF-L=1eRsS2@iROUInE#7 z!4k4TOsU^;kU@~5lG15rB zHXUj}5m0bCO-9${W^Nj@aUY)D-mJz#LU34^pp-;xfb~khli@Wuvo4iRD+3Z@ZBKAd zbjs)dRx=3V&j3)Q{1jq^h0{fb+B!m_XODOYIFP94iR>C@FOnbiIPH}j9G81}fJ1!% z+`?vO`n!NFThcd7{~mgvcgq7>gYW}!2=DIY#o@|nC}&ur0E{Nev?#L|i7H3aZkf#Y*XrOo6kovbe=vQBWcE;s)n~DOeTM!A$b-+({Gli$y zKG;Gbg7pDQ8I^#OpP>q{L0Td*&OG%=RUn0Yo4n*U5Jce{?Xw=y60;tk&VZ!|A}lXP zgS-&1Sh=lP{Pl@#;uMy8751v)qHPeH&>9pxX>P?}S<9AZ z{xVmqlIv-d%+<=EWqnXe{nm0JLo~!{^8K05!=vLJ90um8v*^gMJIRGJYKi3=hGo ze7DsbWx{|yTXam!6?G6M%L#isH=wBQ0ZHhHWB=sj(7RVeSKs{B<5#juK#nYhE(La% zz?+gG1*UmqQA?&bo@oN}kd?L-a4H}R>zXn&n)LArg5@`sD<6Y=yuUPnx+T-^>78tF z{e>eh6Gn>JJx*LN-F|rr-_+R&i8C!lUp@=N`~rHa z$#O1*mU-l=1xMeo4q;L^0Z#D;I?I}xFPisHLL*d<4ThPRokWCbW0~pJ>G8u#=XHi3<4$%w;3JTMI5ef zk?x>p;^RoegO`}@VXmC!ex`A&Z6!+wjIojA!Lc?oDQ2GvrX*DzqbtdMCkXwV^UWH+dGEl%?Q zFzse?*xQ_+4DOJ(-NY!n-phdDLGM`9msk-O%R_I^>D!X;vqZe(^oOUs1Bpm*8B{2McESC84$2LmupXA&;|5FNQ@=Lm&KlkKUUZhQobLVpRX}C`M%G5jNlFf(lG3|>dLoCK{3m`T+bQ0$ z+54%}dWvIZ!pp&Q0DPYKVQtgPZbS4JKcN1rm;4FrrY$9lte#Y57d1JTI7P!xYao_c zE9=)^zcOJHQMqsg0&&%|dfSc;d6BVvua(J!r`t;bBoOc74FJNKRR%inrb_QWe*7M0 z{E?_VNf5eO%?Rk0lt~HJwrLg-tW4yn=;+9llwwgVYE~RTTciSv%jAd67iy5VHJYDE z@bH~7ES2t?Jl{dxqIO@BMXjWxJoo+Ra(jrqiyrjth}5t*b{pt>^~bVB>gB>Fqz#~l zqTlrhwRbj5BdL?DV{h!>~;2-1qzx z9BBJ{N7qiPk>YlfB4M zs1<{)a3X;LNT$Whi@e~sZi70)`ud=x-F%TKW`mrO-pX5pY7&Cy2C3-t8U_LL=A7Fd zKA}EZoE*>hAMH>7ly=Pr^tXK#1Lq$?0MfkW3Ci|zBLE$Z2_>bq_nQEOhA8%loD0qj z4kyM*|6w+9ORQcE%MnnmcK%Y2uLoX?mHEG|Ell_MiN=7Kcj&|Yg7&ty4d%C;`1RXj zmY}N!FLlv(#4%)o4RCvE+ZQX@bqg@vqw7h;B48G$zZ!5(6lr9#otE#Vivt88>p~d8 zg-BavE#_)s*lgsQkeXT&&&J0%BV`cwwq}Y3VLkvPO0`fFL`#+J>?&VqE)v4(kvpwb zBqb$Xs2p9S;r5}=#JQa}U^_Fvn1IO*02&2@o*3GzlAL5+PzCzsIEzd|nd#80*IDZ4 zav-u>_1RF z9H3}Wu750U-F|@P|5#BS*5N&T()Or^OOVfPqC?BAsJg7_K=~cWK-OlAGN(tMT^37KtX0IT9sRA2j(OG;H|$YJ5CgoU z4_1Q}?!WHqC^YpT9FIkKfyk%}wbjZg4CGE^amELCHatQ8!3l&9ET(@*`H%b9YWLE+ zti*e&Si}h09fCR>deD__Zp@S5XF;Vkg4+vQ=J60iY4S?HCnS%SWesloxMSUoYOiK$rJ?+Vlet#9HV;dec;^iYVb|NHAhUY@6ea_`;4!LEGn9|7UrLr{Ep z8Di@p-GBhwo?WZ|mjJzvPys-2SK;uY{yU6JHa&Sm4u|MW+pf{yE3_2>8*LB4BeyRinC%k+z zC<1(-HC>ysMl!*>6`t_+YTK@L^9P|TZ1}DqW@5(|&SU|9SXRR?r(h1pAQ!SN-vlHz zs6Nlp#`A;0MAIQ}OS@zutcP6zpJ5HG>sF9+=+%X?K_!}77L02dE>4_jUBqB;Yg&nB z&V;gJreBGXTTu-07^z@qGqqs1DLZp>eXA$@B*#aByyc*AoHhZ~#zIa?= z&%W)EdB^o6dPwjOoZyRC0_gk&clbT2J9V2X^?$2urNW{@Y((&(MLIULz*;RTe4yhL z{wz+o*Yx9Ma>x2WC@0C>;gN}W;HC?3{Hg-n$p%CT6%*RegOR=E`N|p%0#c_g6HN6% zlHUo`w_pLh1vuT|s$62XyEk1cRwZ>QmZ?K<=r5>Dm?Rp%2)HNKOF&lWfBSonB8Sc! zwS0&MbH##^dVS{-fMXS14^0tae zx}gX@p1p(UwFB4x%>i?pvWSSU#UFmZBYZo-qhaIc&DAU2;+)GJnTN^SybBNQJuK=u zQ=^aYPm~VX^j%JXj8HV(_In<_fJ@~b7K{iRob|`^UnQlahELl-*nfhG=dg8rbVOIg zMpvLIIaNFAw5v5Ztj>jRU!X8i!N_4@3=3ZyD_m6`E#`RIJ__PcXfOc)D~22>v)J?Z zI6QLdCJ>ukByf}oUEe{$+a|yxddPX_-^H35?~b;7&w`2nThcx?B7tANg8uOG7;gTAu9d?UfOH;JEuj^CSnu7J~8s8aP# zn2ouL=~@DA@KG2kI2Q<|v={8}ZjJ|sz6(7jIs!DzwL;ZA&Ay{0|I79DB1aUVwgJ9Q zRhySO#`~@yM>16PWyYpqLd@Nezk+z#c3JD55OlQ;#`ymZp>UgW|I+Lf^P+90lG6Ca zkIY3I55ty@Ue|=;E1lOQyk?oRt<1;>L9FmVLF~9$LpjSDw&(~k5 zI1h#n;Pqef@F^tw9z%Ik5DkPwq|wyW)cs~9Y-XhT%{%48p~DgT%u+()u&_0*vWv`P3f1Gwec*iw9Ug>3*JBBc4)+LByX~Rq5~S2s^dj^+@v|Ff z8=yQ}GRstwyqMj1iyw3A=B8Z*SFY4??o`2`uCNeQ?iAGWIvO|(vUzpQ+*nw#URr;w zk$CFVkN?V_JA_0Ke}aD@elXO&mzYhLWZTv%(fa-IG)IYvAXgh&Z_kXShPvvRZNyPe zkI#Nl_vUm|2>}f){xBNSqWs_Z>mSQHb(bri$Q)j$@;kGBs5DLQl!^(k z?JUWVCDv0>I2))F5?vF^9p9ii;vu>GHi(+uF=52_n}J?VD^^X+wqv7<*TBw-KBHc? z^kI17j17@sX`sPwE74+k{4H@$>%}~s_xgtVw$;7Sf=_90s%9gjrs}*$uSM^^*8*6LG{7EZMl}oZ-`6&t6!hq{RyeE`ydzM_c}B)TE?usngP_w;%zeLAXH9ws%X5 zaOa1Xe9$!eKPQfWp)~){bJ)D{(tW}0xS#hV+*ZN*t&6=w(cQwl#&2yipwg?~uQciiP8igLG4A&&@WHrma?D z4qfM)X-k2JShCKouRKZi4t)!XG@VDs40@}`zg2gD@=w-0K*FfqS-BJg_K!(sst*Rp*nGy-Y|3mB;;MQ9 zFZQ^-;#t`OT8u~_UZ~!W6EEk%yB{wog>gI=rhD^7*U9a;!dKS$@GV=PukxH<|d@Ey?M(0!SyvR7#Y4Eh?JwUya{u*-*{_N!o) z$NjCNGeE0r)hl7P!gL>E-?cKMWd4O-3H3pXC-AIPkS-M@dBq@c0PZ7+M|FC5_Gx0F z_}vvoy{kaQ6%VMe9L-VBNFD5%%G)_TQ)x;7r1IK*-I{19EC9 z@t=V*ZQvstO6J~gux@hA zJ7qF_sO&;g#1kWG##Dqv*IG_Xe#1HM31A>~2)gm~J7=MQk=FVI(YBg?m1h*-;8202 zYihgU9-oD!(;UD#O7LgcfY*- z$e`36`hw*3r>XDXbb%f-TRfb2ub9hyVyAAuaX|gYaVzs@5;+O?i=}`8Tbalpa2G~? zczAgBcE*Ol(R`y4S7;XGLH?k(GH*Tpo5%`(hH^Xdv1}>P1%x7NK+rQ#Vv0{I!zzobL zE=>=Q1Njvl6_pqa?k?mM3 zz9NU2i0g_>pbIsXBCj(}|0uP%r^y>LiGS<0xLeo6 zhtQJsz_wdi93iNq6lF(0kb0lOs{$?s>01hh+K{O|et5bXE!P9g7&Y3Pn=(R&Nxi6) z6ryh#RfrP5N$9;2K1#&snTN@_QHn0pzqU);X7wEz7JZst35=hedxJs^TDYI{*KICB z*VNYMgjR1&1NHDuA7Uz@B48?Yj0o#6b}K(B#noZTmepG9f_$fw?uiQ7X#APzv|I;=|TsPY~HZi9b>^ zh3nDK?cF-VD(Fhe8Hn7x+OXFA#718OM$Kp-nWyCU6DCS@#a4e*TVh&Q6fP9#tlhS? zDL-y$izzQYpmP7)muLe3V=pMDq}@f5nm^6&nVj(LEX*$GJfxC<#!Fwg28G=Bjo8f; zz0qYsmXY+ZUKz(KdS|;`aWfL`2;Y&KEwD{%)bxuwbb&5M(#`Fmni;+2!{^wRYjq=Z_ z40D$^ywo|>9(NZjXpXn?uaBFblf(d#8Bci3P#O46yi?4=zb1HMe&|tlK>EjLZ~%1o z5g<7;;apVIlBO4fHu0P|ABY!vfRdOIi1uPSiCz0*+d2R3dQa#Z#QYZPJ1|8_xWWGv z&4P~}0hG-nq*Avi^2@lmUe)pYD=OhF@Ncm|uP6Z;okK~Is24=M)lnPZ%!=JML)PPf zGY0+fcICvRDz`2(y5p1)E_K!h0l2Ji776Yt)DC!-WsS1-)Gt2?4-oG+x*?%JQZv#qUq`85c5gL)&U!95M5lZ~Oh4@=p;Lsschbo$f0 zyBzQJ8PoQ;iZjtXacJ!67$vLNcL@}oN$Ti zXHMmBb;u?o-8`zXlkS`0M>9 zU5}eXaloh{h8B}?BJWlhzb^Vh-6iz2MD<`-SH#7|#UEgYJP&QsEo#Ix5W%G zFQS%D(8PWBkD#CoLjM-`t@e`v-b#Z1r(2gqrzVb`#bQ3}p6Q=v)aUcAr9cPQ>UYDE ztQGmq%Zkx#JmcrI4`DNq8?8s)0#-%48L>qNL(M50S{8qwQ?{|M2Um&9p`U#=OpwU1 zaH+j>pRA?+pX&)&yOEjf!BM+n9Df|;*ql=Z-+2%-KQ?DOCbd-eev|aaGjqhez+jC!Rs2oEpmed_*Rh(ye~8n9 z>`xgV`ICh(Ph5s*h|&KMlVjnT4ptVqygtKDLn@pkdq*LbL>KfuH+V}MRaxEH{e39N zUP2~~x&Ua!R_5DOpJFPB`He;;ykfF~4Dp=(M9slCgfJZDolP(mJ5&w+4VfiO69W_mw zc&xtGF@DnLMbzY+BW{|9gAR+f$2%+)-wOrbWgy~pAd`y;wiqu;WD}$h!Bk?Kk00pL z0OO({WBK`rg=3@sGp^F=gXPF8pdQmUC3&j4QB(`A4~{K6bKt)S%m*zBz`=sM_y^@b z6KTLu3Z&tf_B)#Wyol9sUD5>_i`l5gv5yRGPNOUQRA79h@RM`Y#;)n=d`?Y2oL5TU zVV);JckF>Ew*NXPd$R^Eutbo(^RG^RiK1vzNY@HVA7ls7l0TA@DbDv`X?G40hcIPH z^cDcqJmFY8-mBm7JF5PRBp_U}g#G=uYgsFm)Jl+|)cwUfq*OOWsZMw#l~S(Mg!iM( zj8;w4W8sU>kH?=Kjw@=CYX^8IvQh3QS!Ow%nIGoo9XRgbVX2(b7TF+^e#<)uXqFU0 zk`j$p6OR4SQ(uRO^F1N`kw&|EF!9n??C;Di^35ysJ&~w2iBV&=ugz7v-okNr79dHVkEgmG5^7~q+>z!@Y?q-?kAlRIj7U61%XOEl4 zq&`dbMmJc;L*t0CMkMOZo%&UQLSuB8#Q=pxOYK8kES-Xf(^uHI(mmoNlJo7j(nIv6 z65qdnkGd|m+RlU?C! zgz$gvS5HJ=zbCIQf*`wt%l++|u477`D7m(3ag-M?QnO;boDRQAYMy?Id+pv+HQn8- zavP$@Kfat2wp<~^W?X52Ou6>+T!7PUogc^gpbMFe_m}}{JH}~G7u*aWGhG3$Cl27v zk)XmyI^b9Xw{+E~ONuRK}?QfYTvnfHOt~XjmiTsr}FdDB6E5FcPU1N8RxzD6aF- zk3 z@v1dgaNdlE7j+~f`eL97uW8WP`NF*<*bqMrmO9Fr8dsV07k=v(J zD;)K5#c(*;?`YTIJa!x?@+oxicyHkzDHt6HxY8a3YuLni= zK?L_2NZu0(jEMnsLNSn5f1`vN$U8TPm8&Ne{6w`R=4Qq+zAeo&PLMa@E@O*4aXQDW zcjgP1q_V=A*$hrQ21B)i9GP$MY&1YS3y5^}4=BzpC*N{)ttpKUD(CN|#km(Yq|rJ! zyJ;o!pY6pT-N~)24QHZ7M4uBe`niPqE)ZkBTwa^o_l%}qxGyEFnIWyYx_=QFrRW=@ zYjcFOdKSMBfA|9@uZ&i?9NTI>r&6qYIA4Wr%2J+$N6IsLJgXek$BgffFROtkYt^i^ zI~w)eWGB5I(Z&fnJUR*dktKI7TcO|n0d_gaW!T)qL6^+=nq#nY?~7(nYkV?Y@o*A1 z1`g^ty;%E@QFsHz{mqHz@XzBPvnATc9XfHz?`Fs7Uc{R#y-_m9ymWPvMSOR=^J7qJ ztq}@t{c>MXpl0%xd;E)sQo)9MJ9WI)o4wdUK&jz}MP_}fA|ZtN#oQoM*CXG#%H^YEtLy#LiRJte1HiJi`b29R{8WMdmy zD>BD8lSZw|y7;JoLXDFF&!ud8=J$k0GzqTs6JsSj@?;dt`F20Pt5k08)f;}7=$oU} z;-jkISUrKduJ|UoIC4u5<;Fzr_vg(W3)d%T^Tn#~le(^d>83X|sCbMnxa=l97ndA# zDAqoIV9L+`X*Y>0R&KxX!@8&RlpVwV7y)AxPAI{q2jg_L1qSNis13Hu6p!<8xeD9n zNO|#-U}=g(Zzj4|yg$vU_U9dH+-`qM!2V=6U}0fx4PF$_oRDH1qge7QBWRz9!qhUq z5FGG70qM%(8-TF~G+ltyftM*3qDfE;Gy%T*{hOvh={;)oTiLMH1=muF`=b!#-NJjA z2!Z72xTa=QaMvU3Xs;b}L<$O#1+~-f51-MeT+FA>gqQ^Pe0nPsY}$nQMC!E7K6>=i z!Ly}?=9%c^WD4!+%7~O&hX~9U)9(apujz3A#+Q?+S=^pqR|vAXMsGRSCJttlq^hlYhxonF_!+-rufyu3FE|_Gw!KP90;ftEznVeXF@8hj)$Vkb;9LS$GsgrL7u&dRy3? z9Gi>))og`fkQR^#u!4JTxE3ypUe9am1$~t(7u0{Kru2hY&@YJA;M$8NzXLgTce&|q zItZzriYQwXKmWzL<1()k^)Y-Q` zo;)r~-@NCh-DYitse4at{xxs}@r3p(WG>39Wr^b}c=lL9=$LMpdEE z@@=oO3}2To?;0a0+N3k8vdXCFJkX!Urjv5%UfF$N%H8Ffb-#E2>n1>Ucwx@p;r2?r zJ69OLGBC zA|B&2Z*CYZ@AlQ=??n;xMaynVJ+7t08c(gAk9+ca{09+k+EP1&+Jqxt;~@dW6-k|F>Tz+B)9?VX5ZhU}G2=^@)eNt4@Ye(uWY zW-ZaTWN@m_Nkxw=J`}1}m|j?ExL<8Xx%YEKx$gdq>RtF_;$JMdg2L5*GG1&HeD^Gp zgO9!RTTh28N$b%AP(`o6J-Pe<^ zKyq;nTo<=b!%%E+J&)VjG3N>e2vScOhdy-v>v#66)$ZtDo}cWFvRGNO77GfqE@Nni z<({kjDiA*?8mp4gd^R8Y@NpZLX+#@ver+ck7)8keWCX^27LO!1Dp3it>;?#FRhQIw z^}H|a@3RXYm=;G@{=s3;kaxFYksYe4HIb8aTSh$OP)pPpysk|reVT!&@Dvj7RGLo> zpNeug?5Ni)ow;WB23uyoYj&C2Md8kY(kM3E6 zL#25aeS}^^t%QwmGUoff!mKRiGvYr=7W|h8@t*7kONu;4anyz?VsQlVa(TKNIP>fr zq88kj%r#pVK6B?$G&Qmonn_tbznX4npKINJ-I=Z{yg8YC|1vs(l=AXYw%T~@Z!e?T zETyz+X>`+_b1u?vPK%2^N_xXT?Z0Z4aXtCn3$v)G3l>8o>vV6`EiTWmS(mGQR?D{s z(Hz7=C*Du27g~09lW_^YdXBP1PcrA8jp;HpUMS_1Jv6}-z4neV!k#{^OYY4rMF62q z;ISBn;1!_yyF$6Ol2IUQ<((4#N}MUBnh76CVVY*vB~sKK;~8w*CE( zG?QcoQoaRmUag#P%SDG-Qd}w{j5>wFdXS&|Fr5F@;e-}BOKU)3ByItA;P(X*C57{-(M|@tehAHC$xOs8#qe7ZMRk zDR7yM_r>OjDTfjZeCU9~R_KaufpVe3c=tn4NT}^6mO$J)RmT<5qvsC$GukEmXK!mx z@@~04k%zsJINK=|)G;0qtGF6=yypS>F2AjX)iP-@1(0H&X#S%F8E6K=Q8?Xc62Pp-OK?-^S(>f=j**en8l<; z?Sd+kCM|Njsb;wtC=b3&hou;y-{VbLAr$WwPve$4Hbu(9Gj*EX$#e4Z91nX7#EP+n z(-Wn-Z{o?vYVFN16`?@!Ct%+5v=R1`n1!SkJQw^b$3#d8=3mwBqMU3|BC2Uq-Zh-# zkdWDGXv9PzBW34}TZtIp=cpJg+;Y-N-uOJ1Zb9XexB=#H;8SilLkiQS3h%^cANQ6< z+S?6s+S@hUU$a*)I$mGWJ3%*tk=682_i3F~LU3M3O(uLBOgTzE>D+1j0eY%2I4@U> ztOA4c+ALh#zKXDE0-dYBitohUrD+h6_&b}fP4cXB<jbaRn_KQi&(wGiwvn_j}V! z;R`$bA7wPvwN`Bkt{g4sTV3p9$prYi%LKL8XtZWhS|L0#8QOuuX+5|2ligu=y?nZ~4+6s`* z-rI6qA>ExaVI1-HAd44KFA9P3IR0)RXJJ&sNDQQL%0BhXhJm&yW(7}aQDdqN-gnk5 zh3X9?tp?r{a}jcqtlNYKOB)_;*R`=uK)CzIYzmYeBfa5#C$=@#o-h6tuph_ zGvIK)ByrIqhZ^w4%VjT9sI^O4q~6U%kXs*?+pHdVS$zA19AD>=<9#WcRNC9|S7E-| zwCS8QTv{uEOds)#U{X_d)-{2!sq^DR*ocESk^sNU`TefQr+IGC;A(%)B$HEin;md- z`mgZK1EEupOO^%|o|5CE4~+lYefEIs%M%#=$auH!Nol;JzV6(tTu4jv_m7$;9Dm*K ze4gNhQGu*<*gN=u;%e#tG4+;VQNB^z?;iw3LXZ$dKsts7QMy4oXXubp0g)DvlJ1T{ z=@?>YB&4Og1*E&ByZ1HEyZ7_%sX%gG!F6p z_cHd}JFgeojE$a3c>GK7-OG-Mmz*7Sc&AfBGC_@Fd8#gJ$ouo=djUFrick$=vog9T z{9b(HlD|spo)o=x9lLj$?c92OX(Q8CrEX&zfL&1IebJ^YX%grP!Jy4ek~NuMS{rQC zYOf9&V6_@^c7$OiT<~MR{Uz{O)X?=f-;RQP`rupNlvUynTFU~7`=fxMeY&Vfen(B) zd4{~+HqtbDI92UJr)Xj8hPHAo?Iltvx8mw7}mG+vC-R z789=aghG-<4W|Phjz3Jx2J7#b0 zo>j!%i_!DSgZcKVk?z5xCXUv@SwN%VRm@B)RXTE z0ho+d*{&Vdf;SzU-VU@o?Tvx?Ny`)kk-TLd!uC$1^HOsT>35s@m%F9k2}@0*Dz;sF z4`cyREXSFe1$P%zRWYOS9-@BMLG2N)*P2d!s8W14c{c zUXIqEGx5Cpy)#;~?+!^6g%74S$4nG^$DN!!hm#|m(-g@K`eaE>6 zu^wG1?2wZA52k2yH)NccW+NI~Vwk6JebxtCwb1;iHYo(trvq}yFG~*GRtOG;$5 z#F=u6igBRfAw%VPqV5JP6XvCjXR-VuqH%XOyslIxzbDmj){o0LGKcG#i<4p(6wEg% zji@CDCf?gbw|(|f`kLYxchb1{Y|Evk*x`46(AtW33rE}_xdZco7H;f*D=#%C`tqYchh3mq;s?_)$tnv4g@ZaF8>_N(q) z%2FDJxZu2N17dn@?ikR=;S^o_I;5Qf`-v|iKNS3VEZ*rhMwsZj8GYx_6La0$8_rf^ z#58+Y8UFQ-^7-ZLjKiPesJ^nk{V$S3r}`a|Qq9FBvZZumw3Y<4M2_}&jM>&C~R1UuTTAq1ji zNs}%A#bG^6b>CopUdLSGQbShm`dxtT*B!0vNFS}<#o+thS>J4FdCVZ-RyDm_3sG_n zi&&E3z&3h%H%g$I6cB@l9y^;|kn=*x-=mS&Tq+r};@u#A zg~J*K&@>>~jD$6xaikR6d=HJGof{8PQ5xYNJSl%bu}|3&Y%YR>jXnDn_}%7CyGD!m z#Vz&g6dqREu=up+)`be>CoJQI=|M7o}q1+eW97_r2B}p_KGf z?QFUrkM-B$S;62pF5U*t=K{5mujnOQQtIjeq2hCnd-e{Ci+3#z`NOBA zL@V%rv%;5NN1rTb*pvf?)hu(mxGFdq6QyLD*CRA7V6xTvllEg9J^MeO$#n)AOx1g< z*4{VV$0@@8lqry$uK6=r+h|2{I3}KK{gsWJ@hp4M$s>&a*PBVj(aq=sRas%7aQCm2 z8_7$nR_NAfU2RImK39#H&XZ;lJG+;bacPW>@Z!XmdHspy;Ht+tw$c05u;ziw9_t6n zU&%Y^$gEQ&n`pZ6kzV@vF8l~7TX=}_^q+WF=g2XXThz%ItS=&w(CdVw?SeOJz*?R zZ>G+FUH=-;nLZKV_dw`rU7n7uk`N2{4D$=9lQS^J2b|I5ZkDpJG7Wj2$!SQ;@H5EA zRwf{WCCvlcgjrU93t!Gcql{&YI#%0Vb<3weJ^rJ@(QPFhsTDJE3@kyUwxfvI?T z{0{e4aY-gjdnIx=!rbOdBoT}_N&KKZlc7%P0&n?o%qHgUNF!G(#7L&^sOtG={S>%r z4IS)Uy?))2gP!|u4eW9UX6eDb+^5U_9COEFjROp80&!iuf4)stpUfDW2SO#iyv9KF zA=IezFNdkZODY5yLiHfv3j2K428SWL16DSxuc~Sr3Qt@=@$aGCYBkPBW{hmY3pT;sjUFeubOqvR1LC>#lvyh;qdlHq=6(A1&uy46S4Xs^R!-ab5( z#-bpQ)gHn7KGhi;meY4AO^UNzbLo)Q#G1KcQwO3L-&M8hYL70@sA)j6o z>B@?e@HO?X_bt1nAHB73Ah|cS*5J^vj7SkhVh!OUpDuMH;(=Y4Ago! z!Dn}|Gi3`*&0cx|WVH-9bX{wv&YzAGf9VgITL1_-l>EXatG5q^4EqGh{hFM_ z^BSR~RLlbgR+j&(5z3nAfO<5bM$N5`LkVcLwXoh7KXPr#Ukg^q#KZD3Oy_q?wi!gI zC^Q~WK~mEP_l8!QNiXdRaB=a9aaY|3lvLq}H*@r1Fx<;lhxF-c8&=?N1ep!Vb!DQl zdm;qd-nXal2B7RZ0zNH%lQoIjkG-;h4p%UmCG$dCz4S`N2?oTB>NMair^NVQO;Nrx zcS0;}$9^Nzq01b@gVR@v*m(0=6;;Z#%`1P+5Uch3IgO&>1W+R*S(t7nUa9J}HB?PR z=?f7wFC!Sv_i_ks*>ywhcWPDm$qULE9tQ0G&VFLXwd|H;eY* zA-^gy3KQ`^%2c2{1X$g9JU^qxx*p(hr)~?{XZrq~8#1cUzF!*PXwLeVId=l}OXh)J z^7a4yB^9#YP&bTjuJ*VhzFQLu_IPYi%BQ{_a2D0qJ^U#*b0y(NZ*ubSuux7%>`M_b zDM@W~?KS~4_=W#`gYkrdyh=>Y%fDJ5`cn#bM5GGnt5jo(UTVp=WEo7x*jfC3@%FY_ zV4AV>3QB!Ruad0o^3AN5+X#prP-I5btiTP(uGYZEb!pRp&Ytbf=?CIIr~Q!XoLFf! zuE400!i*x?J-YdNxmRxsgBHg$o_~ha)`n=PMQ1tU?FFe7`|V0nGaAKC4#rm!^2Np_ zmuF^j2cn4{lB~(An3R}T&+FbGoL3mWnMeccHEYCYvQvB@lMB`((JU_~?Cy=#;9J!% z(NVWV^T9W5sveC~O-x#9>&U~WG2WSoJ?!Ju$nr%Z8M;J-CHT%a_%t-sihPj~UWFVI zh)yGqhMS8m!b9aD!UU^?Cz|bw@IN#vXZ6`t6rQF(DBN6$1U55dD~3cPa=h>9EvI+} zLy8(2G+5Yhf2k<2$Z>07GG}dr0jiznK3JZbfjf7?Ad|=fNG(cSF~>lr8t#o(SWID>x5x|CSpsJqjl{b>Zkc7fjVPdDe~C0b8En|)>~Ae!1`g)S2lr)`cG!YN#4 z?JFcP_kmj*${*r!dulc1vVgHQ#-!gdr6jM^4^>ahs&6XCK#xBtF;s>9N;+bAGl>Q? ztgXXwPlw_`1y=HZ zM0ShYAu+{*Q2*YqO|SZu2?BX@thFlFxpnnsUO_ z(x@PwDha|cV20p&v*`n2#*&klS6glGxMW~wm%TbyjrV(^;EY~q+$`NQfS2FI?$DJs zTML?#vyUMTMNh?mvgJVrJ&5MCY+;R@Vce1UYDR4$_E%|BY~&T+ zUxuyf7V=n5SbkuWcQ?V)(D!Pb0lB`tlg-T+`jyeA&36z6!ICUpZuB2TN?ACuy#ZfK#SEoVSWUf=uexejDt}gD<)v2XNP7Lel zKqC=F?Aeaxma8aH+KD4i{w(w-YcuamB>a;8h`a`n*&(<5P4{ikN{nVuOzf_(pg-Km zC$KIloRc#(#fC!J6V?Yd^2vt2WI@DUsv`o6O5YD5G`tOTlF~tw5$gbafB7#yp#@rg z?H|CaoUMk{jXHY7kcF+4CZ90Qu`KH09L^?=2~Rb|n}`GIZbiQG(=1EJKQdM8$h=Q7 zqyPMeS(gmHip>ip^#4;Mt!Dxq7_yvlt#`Y~*SZ>2Xep`B&x)m^ ztdPC&y%Nfzk{F8X53l`0Bf^~528aj=VgGUz^z?qb`aH}3icR9?j*LVE5&KS5Q1I@{pnaS^|rFgx0kc| zzDa9+U}mvNoo|29^E`oKjQ3C zBr@3ye#v3u90t1048}xg$NVy?`*N$*G4rS{CBse{I*#SaSggxhih6LJUw(t*pZDD? zK_Kas-gB-w#j&xD$sBp7p?Hw}Mg0CE=dz#?G33~0Zm*#ffrZ4ZQBJ&cu`SLx>dTSe zF}x!jmd`fE1grE8(#)x&wl)0rT~CKwup%}$*L^7Yb;MR^>Td-FEBb-tn)tI__wIwG z+tprH_k6N3mQzczAdWI^Ig&jE?zrtg{%!B*3zKhxZ+jTBW&(@7&7Xhm^?4bVZuMpq`7! z`=w0eGtLCkL5l&s%J-0AZvX-T$UqJPH7dZZ4tC@RwaCk)|{2#lXfD z0+18YnUa2A>u1&flnZ!K|1ze^r0pRKTl-I~k#f9sO++q740sC?_vV^4MN;%FI1^Nz zM2d7-^Zw^0KFc64GHeU}O(YgU4(oX!b?`kZnxF5ehCVkml+fb#YhC;4QE(_?7qbyD zsVQZV85%%N1jSb!u{DrQE?HRZ`5qfbL`?tS(G#cf8vy-6>H2+N=0ixSuK$o~yQveZ zeEwX{rvD6A=u`V4ggpU(VruWYsYU0RdV0JlRdg~I9+%7-)NqZFkm_Lx)sHB zD=;lwM=THP{l8n}|GUx_6BOhhuZzG4Z(cOrc$f~TDYf{l5n#1<*Et)WaCZFl6Oh0{ zejz=LNsGe&LWR6k(or6MYX8QtKP4v4e8db3Qd6C&wGFvM6Pb6}9G1Y8D>1ituW%TM z=X+lSnP;iycwGgV`bg#Vorgh6=3`m)I}jFT@KO_HwU*|U3L7ADY0RIwj}1%+Bu`lzYM!*o@T zf&z{2KOCuoS;R2$d3aO#3$Y|`L&H`qrYi2P@Cufn-`}vuoWai$sG{%^FCqEQFy2CO zQY)QVo^=1SX6%k-V&Qnoq^Pypb8`t^SrE(sn3T!}2@UcP4Xi`!^<1Pdf5`GEavB~N z+9X~8B=%~r80hJ{7hC)+4wpMV8%~zsg|;+#5;-k=CKmQ+7lH{8B$vk~z7`@rd!vX6 zD;l)5#w6*h0!E1cSy@$4plrtKw2OERxuo%$u6%q(LSpdm^@>9nR4$>!U~8S!S=R!u zF#v0m?fG-pyjBZ}K&|r1=7#hWSJw~UORKM27lW;Q^gIon={^_>$@3Ve(ljgSFj-Gx zN^KA@D}pP>4!`Hwr;P!tg5nBOY?_WlhA#{{We_9E=Dot%3YCE5H?|y7fw(a!3t0n8 zRFmi9xd&&DVCksk7!-%((Ht!a!HEh(_i~5SxOi77Ns~F1 zX~(FEwAfaOuT{x{_O36|QN5tQ+0^&OZ6#fU96RjAYp490yhv66hU zd_v3;Ut)OAG*@@K7)j}7D=X!9Ecasaj8S>0ysT4T<9JI1G21C%8Hm!As$U;q@Pw1M zz|%Mw?Cl9pMm`Cpq&Rix3tGm?We!^4m|~lng_+OQsZ=;vh}}NZy+b!EgbEtW8P|z% zb;B<7R|B>2{}3t-F~^JKnfKCM36#haSzwj;|@>fiZr)IlF^+6jNwpO4*KOpsJ! za4AG49rgU1nu<-OJXut4^1M7++dH1EZP|;gcMgMBRvvg1P|M4^79!hRWrQyghV{k> z_w)O$CH5&vgjnJSn=VTQIkFLDU+{347&$JqgRW2XPT7e$07MxD=+eQ z6>KJ*x9N8r91(Ide?E~gD?9ytXTvfL!MWzCc8+bYksS8Nov?Z6_frQn+k~rUc9GgZ}7{v1{C8Ld-kvG+~h@%a_gaMoP*{iVCsI_AB)EQ#|tccr#kjsyncxHAIeFf13NK-zPh1OzK>0 zoH#@VHS7mp@&>Y7#@%+<{Cr|r+mLI2Ct>id@85za8dc@|DLS+2OqEV`4nJD|MYMk4#gTcK?}rp7CI)N5I*T(4kn`a_?oEx&LWChO(Z^nbh4ppN?C6B+X3 zbw?x3)Kyi*`!`wHm@mDq*k-sXaa32TVB^e%P ztHkSxdKX(bXTtaIEQQ*oTA7BlAt9oki(POx#D6{s(FFVLu4`~Zs@YIegw4!h-E8@1 zIckEnGw56xUoQ=Fif~k1dNV`7vSvB-N4dCywsL|mA1?!)Sx8Z@5li23g@wFQDBH(b z*n0JI4&M5g?7UYgw2og>sl&cf(Dl{5WGSqtf>_s6(e4QCu|Bs6Qd9}^icO!857pFD z2*EBM{Y8AZQ%kC;mtQPrsvxN>c3tyFr)Cs+V)X%aCrdyz@EnOr6_v#Jk~~DUgR?5A z#h2l1F{2A!E8|9Xi(2C9ehi8a3-h-N7P8zbeQCT?KT|Lp?rTXP77~9gjX&@W?Js65 zZJ>ph=rc*3{Os*hkSYi^ZC2HI;F zd=uv6e_Y||c9aLO!e+VIA8LHA`KDllIvg#hgWWYmMz>t|ITXXZHM^}tL!7&&-co6{ zd_4sBx7Jff5JqVnTlFQfh#3+caJa=&c&WmZcbmpjx?@t2G1OD>?zccivE?x) zzU49b-}mALq^8=_(YGTZQdLzWS_vL3!XAi$WyB!?xUIB)C(ztMlyNbqY!=nz&y6_Em}5*I;vPib`~rrq0&apDt0OJS^! zPj;Agr2HU?LNNuuHVXA6srT}$a;`?&rp_}G#o+@o5 z_6PSzkNLS1Qo<>UEVGkRQcS^i?JlouNYkOB_8be=KTCex-yW zDR2cgD%ez^)0p-25dOTs^KH(CD9Vab%PAPUE2C@XX{68KEs$>xeVnTsgyf&WV+oHu zAq3DGWJX<;cNI3o{N+~Xz+6qQggDi8*(pmMDU$g820SH2_`3j+7<_N?4-|ARQ!TQv z$3bmU!PPw9NOa;c1ucseHsrn37zrM?u&9gOIy@ApGn#*`KU0^>KQ28;G@nQK6kEC| zl|7&^udnVONk!!^wP(4N2~(-~F}k-#7FXn^wYBN_Rm|33QN7KYEWCajCfT8U}$HH-0zMkpE z+}spDIrsbf7hSgs3GYv>PcM1a9QKTn^c8XaJhz-+0LD1a8;|RsvdN{&v9E-JIlK!^ z`>((a)!;iHtByw&u;PybkD)FA9X-KMT$EEds;}5wbju~sbw%*ISVi$$&bnqgZJ)Rw zSpUxJY}k8bJ@Von`tkbKe$ah&Xo$dgf{;Z==xv48P%JFKji*%p&G&H=W8LAEkGg;M zU+IpY60peaKoIs3P?t+Xs<^%n5cX-;1MmfTgdHE}sZ0lw`UIN%BTGuM5~pWkQUtD} zR2OVc5)*Ge6$zgUL6<}g5@_M6H7qgsc~lS+2u@@1+9}R(u^Q8<#AbG;LR$1)^)q6m75z#4B4;hXDTj8Rah~sRVSaZ*q1z~^<6$~!=#l{Xdi*gW zAD%GqOACGp2eJcYp`A5@$K+^yFb`UCtUG?oNz>R@w%m#eiq%HKZ?JlWRUy77tdhY` zK8Imsjzp+A)g88A3}|{|owxJGTjBIKW~{1WYLp{K_~4Kgj5ikdjVDW{d^}i!sU`0kX`flN)U7XnY6x zWzN_;MDJ#KXJNsuxmranhF1&n{rj%d5x?bh{NC3~!&M=WtCq8MSB$7ElU~28oMwls zwe6y<4a3_n5q+Ky7;0b4k-a7I(U%&2ad|d_vo>QJ^MRHQU_|gQ0i34?;D}R)sa~_` zMhfJH5NZC?8hqOBQmDnwz#W55tpBsL5J&P)C_RgSrh;~jcD9(zqk@tB*NE4X*^%E| z9d3m!+x(yz*9p+QfI z6NPhBrh&y-zDEjQeyi)H?TMNVrW3}_IlMPZM#_A?K}1Tb?^rFwsov$omYvkX?sjHY z-Mi6}0R~So$s16dsfaTwWyE7T3lkb7z4TOEN&wjI!FuaS3=!2Ej$Deyd# zdy44gg?AH@G#|&!bf-jK_x0a>=pChcEC0UUkU^|C89Sdp1fhl@plWfcg1Sep{-Dhv zP(yVYyuku62Jig0XgVp(8etOp)z){+lbd){L+Vz@b};!Y8ehZM>4s5FR3=wP*4An` z+}~;d7#h8QK}Vx=E5SZgO${&M^0d2Ej` zSXrYb=Z*8Ex28`BQ`_H2>I_$tgu)>f(c^v@o#%n-_hnqo53!9N9_69>F@S$DXchoR zcDCOAq0UqK`jm2i`zZgDHpykD?bd%aIlpvxyzUJ>AOxPCR~TU$)brKNGpb|LVbnOC#R;;4mAUTvM>_e%A2)JGcjtW|x!uo~FUlfE z$W3{s?arQgub5w*I3NAd{Au`76Nu~KDPOk>jsPd&*D}$n%82g%hD!m%yU3_iqPmcaf&h)pbF%8U}QPYFAeKUT{y_V{5dGPA z6)-=}PcoG;!~V%oO|5yq{;@B%-4|EB*O>G1<#R$sFLkA&_MMY*h>)pMSNp|jN{GBT zqE@Z$o0v*KB)RaOtzB9RFPr~$6J{@luAFcJQVufi7@D5AX)HP>QR2m+g$64+X8WV1 zp~n_rA3^`7Hei*pD!Mf%SA#qqBJ)@|NBaJ%(SYf!SwEs!hZK-+@ETN&`T!&WMO5WQ z)Q4ek14s#&rZD@p61y^EU0O|77PvFJ%0Q57ua*W<$dfwWEU;NFcrra8Bc{-_V5Sr` z*4Kh_5W2TuE-!fBXTU=VxAh5NSdgo9s}a-clYf`R*n|qA7z=El>9zK}T|;MG=cH?O zno~22;nm0!O4!pP?y6IxNiEo*nYggu@I0V@;ss=;|-cD$cuWLZ)JBKMMF7xyR_Zv6q=QmMa1mFo8Xr?)r~} zXK*Kb$3Tz1{8E>&6rEK?M%zFl@gnTCToHEsMJ#&ASabQ+8?C&s%p(5g4tL^YVqzJH z*^QIyixkJ&`1mrFuZ`46PDVwV<=8*J4Q6vOsvkLf$w1~6pzS1uYLFa;*RYXzMnri? zi}Tyzt=I-^_h%&^0Pd$jZT2M#m%5IQ&Y5Hd=!$b3ftmnit~DbfQ1!oM*C`Xn+gGv# zAyMw{{_`}4PU$BA&#mQHj%z#CRzl3uRV0#w`K(cV#(~5J;aU(W#6foTHl>aU*()*! zTP5i#3^pk8-L{rjVHAQ0zwKelOS_9}IDCn|FP-*rR65Z1FEyoe`eJFpXPqk$2{k4= z&@zpVucZ;I8s#3&DqX%)B45!(W$Ey*T*`?J{pT|w&q#%Gs^0fJmZOJO4LO^&1-{t^ zlA~|$e`%1Ye8Nn=E^0IIdMZN>z4#?eC%N7#SP;SfH$!tP9`cb8`=>8@SMok1Mx%Ma zVFX}U7}|SO#9ys2EV?zHkVDjIV91CA;RZ{NS3`WNuiQ3r=VI})IaW@`gQI&VKj27W zs}j?OlE#2*H5=&PtyO&4)zhtYKosd!^)igm7Ijx;dA!aF1sCc(RfW)a;p6ajk^2VR zKc%bGFecZ6O|RE}+m6?}Om}`y2=B!WHRucp=ec8j8lIKkx#nxcPRb3ALH;H(K~r^?P1|_x?blOUbHvqpvr9V<-4hzG_po~ANU%dpk zGHfg+a@x?&V=mC;AvtJyfbuMOHbBqg`avxTAQGL=T7sD#Quw73h&LUd;jN@T!u1xh zuYxVIj6PBy$ybjR^=jx#N0!)$;rDxDf72Wk)`V;SEziDinS+@I;t_2PqXkemoj6%} zJrdCh#{XpO9UhNCNZ(SUQuq2+ha9dHm&G8!b3Pz*G{gHdCrm|wLE@{sq?UAF2@*SL z&)f3aaI*9i7$0yz-F{V;n_hB2OVhsONP)$fX-b@hjn-jIb%bR^?xu#tw$Do&K4jJv znSdJL4}`h#h~Z*%!XLTmy!852gG(k(6S~Wij}6^CPqZ9+GIrY4{g_mkFN7%)()u|M zKspZEiM(r7kKiBi_G(-+fu?9@FImY95L!9`&`9}R@Jex3%4@s_DGsGZvFx3~dGV9I zG66pQNi;IRzmYmoWRH%>rG60V@GqD(R4~5Uk`7Jp`mE(tO=8V9P<+_FP8rEeAFa=P zXA#C=GQh@Sl(dFCe;WH&M<1JLg5YOWvCX8)vn{Xhh~JgYW z)vie&?bW;Y9Co=(sKR#lk&t+#ol)AyY--J*&Ah7~W?`SpR+;hbm9$;ct! zZE!1G(ul#OC08CW4-y zL5W7oL#O2%6wK=}d+vvM=!KN|K&oP+G)1V_<>kh$#ip7$gL}AHoyg~xY(Jsv{Zp!w zj*HJa;?LhtfjLPVk!sq99(UQNo-JVvdqDu4?SRSP${p|*xlO|P$z}pO`b1K+VWl9rQ)?0gg+ZjylOz?l2L* zl*GGdE)$WX77*d(^@m`?2Z3IwhIf4tCF{~{fU*YIB|9)9YMExlTm@4DB|>^@)raqS&DrD6IsHbZ8cI@Kh! z_p9x>;#{4xqix32=RlhO23&c4n%Yfj!9VmJ#Gdzv zUMWohDwyG;wOJfy+7??t<3QqoegBK!BXT43tIf@EL>R6Zz;)iNCoc;vVPvkh$T~LP zm215a(1-w%>#OFoAMG_CmjWjrV&OR;znQ7UdIDn$b1VZ-HV;nH%GAeWV?sa$`F zjl`Pv3Q`SIP$Krl((bE3lB^KN9pLgx1jfcc&bd8bxb8sclY_-Fd*&?H_LH=Ct$nL& zd~U5Fr1l1-{*mqhUkFr`{5}*&1wAP#8|0|}x12>ypq^&8+!12911e2=po|cdi4`Tg zZaxa7H+Bf=AKgzT-Izbr&9SMdenx6Ye+yVN%bWYiXPFi0r0YR3qcQ=X+^8E8Iq|>d z>Q%RwW%8t5Z%f|#%J!bsM=X9nx>j^D^pzzuVv)Ss{B^-cQh@TN1Ady6=*@u?>6g%@ z0M{FUkXi|U1#YxKcKAeiH0`&3JJFpVN=zWFqs$pAYttJ1f!4{^@a=4{0o42h;lC=c zPPfLo=Gux@fDgQy6!oElj9(Usq`OM$%>up`)GR$bwRJI{lH6)gdHgj#n&X1!=uSai zduh7$3x~(T+%i-?ld7;+1e&PvX8PFJh3FS6~z_e2Ri0nb+0w^~<{lgea?FW`DvJTOMtfTCN+kuI3@2zVp z*`C`EtdWkfR~{F3@CEyTz#vy{n6$|Y9=@0*U5_CCDaCB0domP%2Z21?A-n#Za{w4v98 zD_hKPH*)ZvSfG@7Ki&sXG716Ln#R{r`I7B9LK~r2c&Li+2P?WF&b4q}^Rmy1S2RIf zR`n9;npCTVF#2HTiT{*;wC9`nB~Aa~CArx>V-|nve<13R&8V8jhSHFQQ;AFmTt~C= znYIV>WJ*VpnPQ`A%XyDD{Q&i#B=E^!Ikg55PRh8h2)<;cLsx#pr zpL{vZ9%nF}G$9ouw#4uO;raG>-($vxj{ao$3$T|9(W2fJRnt6`(fxrph#l6_?uz+F zLymEBo0;swzr_L0`nkLKHrCfCF-E10>kci1(={JXz62aCQjx%p9tiGYHfRhacO|;z z{>NR_xIoUtz|ecN*0-9d|2YPSvtig-{01O!>mmaWwE*&R+_M?Pn9NqAGLcJ!c_QAd z{{E5_)SDmWk3&zsAvl0je=MxfptdN~8nSf&aZ5NPkaw+k+;&{@9D|59m=@p3(?@3- z&<`y@n2BQ=W2i)QpMTP_UN(_I$y*{N@EG0}jTxB*Wxd@dBODSgHislhjMXK!0vaGUtSY<1r%nSNk4kope9G zEv0>vq);FBY5r~3Irb~<`@>SgG$zhZLqvw*=M7Nss5)iAJ0?UwwbIoWyO9>>Y}?4N zwKJ*6OPPqYaX+Ps&trf4f)=8PclwMejd>R;$EVfSSYi)=`+dNJI=g|2V(jQP*>ik_ zA|(TVobBpn_KUvF5gUd#F4;*|v-~iS%U!H#(lCBz)4nhHWJqv_Nw>PFv;ibL97TBx zue1}|cJ_Rq2Ig6V)+=x!{)a(t#465Zq88X@6a8lYi_j~pI6ITor!0ZO<*R%RQYm=` ze&4u`jL@mSTnySa4h#HX^1b*Mu;oU@(lmB~_dhC=YCLc*JW(F3w5+%ZAT?hT+Lya& z4H#7jQm24xjiG%^T6s~a-s`ix)NE~C(0TI|xXM{>ueNIHdhTx*?t8%gx6$g<&EBd> zgoj(1`h}dD_q`Gvhw~Gow&8ed2+Qy2Z0vU+RBG;gnnaV#gWKVHSFBIpmZ1+Yh7k>y z>pL7dSSGw&*u;5^e zpY-`&gj6?IxG!ExHWuTcd?&9k1t$f*gg=%fvD-YIDi?R!{*6TvQ$K2UwheIA>YU65 zje1(%Cox6$%Q(9C_;n_Q;b`O*c19;!l5_C+93WupMIcdRX#aB{Vcdn1&hzf7$Iu zE3}~@Vd8AylK)(9Q|xhbNXi4018)LjdskJIHGPz6g%eu;cA}8JZiNTJG7qH23I(5i zJ|I60>Rutg6S;XxCYmy2gmX`I_kH23o3sJZ(md@Ti>=^3h1Bc;B~82SQ^~YwNsPlO zA_@PQ!#SMhW9c}Q$fE`Y4-<08Rf_3P_lo5MEtMCH%7phvYq2S*hKc$zLvjr}YrN>z zn!K#ccw8aC)Fyv9-CZXkjtPCmP~el6C%L>p#Mmv}=<)EScS8yY$*!2mkciEfRW*F* z7ukML>$p+J#orrZRwT0m2P7r1%Af)AiNd!|Lg0Bp;k=k+(V!Wpg*K+wj2Sfk^)U4z8V2q5$PLsE~Gx?J9QTnJw@o!DvHXj3Uke{`O#NJLCYn0h#uCnV;U!qJ)K$Y;zG@w0yiI@eG%SK_G zS+7v`qQV!w2WqzYn|CN)3utfSKsjwt29>UPEb zG!z`!Inke2(sl-`j3{Ftlb(5r8%6w-;?dC0l@^!4AfhdklQV(imC_m||FD`*7*TK1 znu95AZv{w`CiIPg<1A|sX8RcVzfPHYssW9rGr<~S+Gzh18 zU0J?S{`uYu@Yy&<>zs@BN+JTS0c;PUp3Nv|VG~@SL-K9P;jf8t4|mrrBLLiH2?LU) z14_6YDN+hD{Wk3D0cqSk9(y)BQn1%8yY(>KVj|VvAN}h?z8T_qS`$HB_n~19{O~Wh zd!e}nePyZs`6CUUM0mn(|GJLONL*X#9DaN}wjdjGH~BPg`!{`FG>@B7^5NkFTr-g* z4v(gOR)c?wkB=tc&GU8tqy2-S;MMBXa4h^svMZJ!(pX9xZz^7>=ul8jrDaPNa{R9I z08@#Qe{W1p70d33E#K8M58DB{X<+B4!2!^wL?PZzcHqqS7jNAyXZdAA!~Eu-;~KO> zO=(S(`6$;(=>!A<9A@o}L2;PZ5W%T7og=Z+e1gx4EkT z_g4+ktm4d0+kbkVFV62q*&y@(!weL>#x0fm6+_h%Y1Hn!Yc573nq~8-E$O{t7PrBo zv`U*x!k>w^oekl+uD zynSg{(sB<@n_iZ@lx5Lo0O2jEFm^*_yd41xPQIFT&UJPKdGj3)@JWrzbwKg?@(<~u zlkD`fW=jKcy9Wh!R|?PA$RPVo*GLdB;fF$?_JXu~PRI3r`x!BCnXD-Rg=Cb|)+mB) zACur=5ib}{jlUCft7QkLCisJ8-e?yEj)*VaqA%I~PChmKGS%T3SVy1p-wyrNQ$dONWQ%s@-~VGCyUJ1WN9;zMwxjJq2-_a7@{~=g?z5=I(Jtp zmg*`{X^eu1lK;Ud0PFV)KnbQp$0k+l{*UYTR&&1a`@s|zVC={7obfsV4hm087;!__-TRCqWp6Ewp@@v4%>pwH9U6nkm;n8p>dk{~JFQLxF9 z*b}GSyOBN=lb4=GU$bzR49v@=b(BPFRg>%8Kl?&jQ zX*Lg%hR1F@uKg$NKp}Y9)Onxn2NC6K+vYaM)n-!h z4M2xDUWrmgFmFNE*V}h>OMEfzk&-l{wdOO zflxy?&EfF<`#}1^l4A@iO{`>0A73ym6%5mO=NG>26b}#Y;*;Fv3(6g0itA8|e>><1 zbx2EO$N7pN=R1-g%jJgT&T4Ng9bO(N*%T%n73Q;o;ED^0iIQDL&gPpKzyh0;FVwPu z6)n@OXh}2FVvva0td+H?z`;#WMMdn^oYX;{slk6+-Qo~Xi-GUebt0c%ZlmplTV^Al zf_ISJ&oaDe zr7ij67dzxE!hV(x03&0_*Yc448N_}K%m2G!)eW-+a z{b2g*4WJX7Ip3d79Pf*bR@*ELAB1KYQ`<8P_dEdN+@>9=(EWJvyv0rsKEHQV&#X^1 zRm%!69oqkA!{GBl`ED2P&faJ*C)Zrg#MN0Xg7YH^ynv+LAmn1d$?W&}=180888ZjR zJX?Ge1pg1dX8UuUC_LG@95y*U?4|ZW<#<>k}jtl zVQ=CUFMW;`T3~ai)Un-!5Gw*FOL_hO)7)9NMcI9C{|2PH1Oe$rO3@((gdqhaq@@H5 zZi%6pp}SKARA3~e83BBY-`{(9JmwD$MVQ#vzSdsrJkQTTjRUN$ zCT7LT+9XHCJU>WmB+?vh&tUGBNLzt9(eZgXLv*y?dj8)!cujJh@K5IGlB_ljc@PAN zWXTDpknRqZ_p*+xT4;fhGJ~k{MBvilIuIseWs{ESxEECOTx0$bxHc{qLMWR`?;sed zb-)wMq76FWa6jMe>btr;Y8s+T3woEm2aM6BrZp7gu@oJwng5PV6eOQlH{OwMm14K) z{GI}WdLP$&&Iw5((sp~A17~tgYaD+7<=@}Nk20*?K@w;SO1ZjolJELkoLdyf!tvs5dk*CaWLvEuSFueGNJEKCz!9h zur5yg-oub{W~EV(*IxN3i=g>g{0-3_P-iwwJ`nR+>`p8@olBYbIRTv5BD%0n@wPTK z1T*^`up=3a4`V?>z5W9zi{OEC9QElqAfF5kts=&Czj+`sADDL?ABQ*??;tY9y&5P; zp0|dqX`Lfs4yL#6uZz$>+7&scX_4?g+nVtG!2?}>;sQpJ$0l;1vD0XJ2ttIJbaEsU z-o0C0&g!(6$Je$klAi~N5mGW1NvEWx3P%7^Fp?+#HKfn1J4`?EBGvrC`%7^ACBGgM z1OkOWAu#UJ=w#7;ke*K&^eSK^BA<*P$&rV_VDcT!yi;y~eOo&>?J?z$#i0O7(2@YA z3>D=J5SatKcFWK1UQATyxEATw*gEnfgob}-q1JC9eI0u`%J)X2?P<- z0umi57)b!`<31>LDVU#q?hD@dwXkyIO3tBj%cg?;D}dyf{t{!9!!P0H3Sen&eht%K zj4UQO#a^iIG#~HE;`yHs-@{J9XYlq{cJlNxinhKC&F%fVOfH1XKw z$r>!DpYmWH(_1zOSQ2&KW-nj9oCk}L+y}s2(x8fH_1BxmdCTp;*ZYH1vX3O@M z&6WS+XGDlEcDvX-r4$gs{E0Cu0xYm%gpigk-E1%)3ek!*>i(8#CgCqohvwPa-=C=} zR8sv2dEMR%E$8672f3yN^EB|+on zDB%Z_`g#My+RTH>k4VMB>^_6fq~VZ^#aGmw9+NLp>ui+$H9?oB#*{#ROi0gQ!s4); zi8PBNZ2<}4Y&jbSoFGq@T~?YWUC!2X4#L1*THCi)NRl{v8|^1ZG1J(|%vc(9yA5Yh z9~d^zSjf>R6O+kp*S-|Df#NY*-nZFDF*=R>x_sw{nD=W2hd1Dje*_p3y_w7br1!e~pyMyPO^(Jbk&Ye2n1Kc1 zcnm%xHYOUS&^OF}AoG-9ti*(ti3yZJa})&}%TO~gZ6_y>9Y}*WuAy(vqCt#2Jrgar zjEsyJD0^2fT4|{UKn^_~fJl=UaNK@(-_Fq1cBrrYJPr^Sn*r|>rid4Ky}fUiVgND) zva5+9wyGs5A4-TVXj$(pWc;;QnjOUkf&Peg>Adx-76Uw-BFkNe^SAZz9!N+K^{se< zVy?Lgz(WckiUg2z z88O?T%w|A?S5&l%yPhhU!|%9i02CCV<1el_NluC9TnnACt{XAoq@u}PU_;0Fx&C;> z7aF#CtocEr2f3jd!$^I70aZF&UqR;Zqtt911W~KhcJ0EnrHdRooojXs=_`aW$CP?V zA`C(7;KQRlkOcOSl3bWAWv<%6R5y!V&;zCzoWP|ljvFOApFtAdj)WR7mYsuBiX-F3 zF(@+X2M-$PPz!;4E1)Il^0C38kQjXt35mM&;p8CrxU}H=NL!ndoE-L01tA6EE4sOI z6fMxkF-Oh8PG?&+(IlcrGp3FXK}HGbxxxxpPwppAEg_#2;r_&o8}{(pF!m3Get_FMAfs#{e)8_mE!5c} zH(Ub+3>_+xGH&-D#uTcF9U=p$)vx^XO}W#Ug{*Zw$Z*0VN`+HMj1&4V>_^0S=1sujd``9 zM)-rI3OVt4wwRY+&E=-?7UlsBg~)e`?(nKP5HG_@OOa^o#cK0SD<+Ycf+5dq90*_x z&@okkVYuaZnfc7z-u%0p9g9!RQdZTj=TD~$$a#G&9X!|>c zZ&Fh^v}N6!SmT>|zy-(N(P2uVvG;7sgl{a^HO`eTkio>bL#&ozm>8lQE*Qk%7=h}} zmc>xL?r-=-nu`asMmp0y<`<87MR`O!Ujt=8;518Z1Qu|7|8BFl*fUTYPqvk}N;cJs zSk^N!e$YoI8qw~#jhX!%un}!nbT)yV&_q_Oq<)R`qnf5=-Tg3e69MBUKdXqKRTL3rvly;C^7d zIb<#Pbov2-;Ue?v7&S+GeKDcIsrjV@dyN-Ou`0_d=$fm=hnOB>_~Px|1n%-2a4>bO zf99v2LK`?dCcM`|6?v3dMv;wdLQEhi#n9de+18ph07r1oXr*A1=)P6gtjGqa&Fhyc zRk;pD#1mcDr97mM3-9zz_AgGJL8-hF$dumrEorv`9}w$NM#F_t*sH-t41jht?ZWpq z?*wn$1}HRZuE-#roA2x=yNl&aV-~lUj;1p0k+WALUH6OB*d!oIk;vajwd5^!UNtYr zq4zcF0}W_?hp9%src1BFY4>p=*{f<1N<1!Fu2`GMmabQ0c2l;Ye%Px!AU4K9#j2GM|U6Y=^=+Z`dHzn z;0DIf;O97{G~pn;NPDz3H9qq#a0#2?07f3#(_-5kccOc9O@$(i8C-0T0^J@X6NY=0 z)h}i1UR4fGXjOl7STqK0+b%~avTV~oPEo=UxJ{3qj7A^KODV>Q?C-}>iyou9Z^UJJ zTKr>fP(f+C_);Z`nN#8&$~6R8>9Cm0(b$S%Rhku-nx3Fl8m!PZCLD|Zvsk-_eldsG z=z4H(>kuKw6sCLM!&aO=790Mauv1Qj0Zx(=OSmJf_k6+v`4+;atwYt@Idyz(&aKI? zSRkk4=@5{_Va#JJfZAvGCpiye^I{K|E6{WHk+yyLbF54{O2G~!bF8!S*560Qb&Cy4 zr`=HecXqOLCjS(ZFp^oE963Spg2HdXDJBWsY&F!Ds{>jTR(auicBE)O#CrtM=Su)X zbfNUB7N}~*$8F!&Oa?%ZZdgHK&BtF~qm!2Vca=`e6l+`?2|DPoKZ0y}jwJ6hjrUe| z`H6})*4B9*t$ch{%)v~S^Iq0F2(*unUMFz(WQBVqxDNbVzVcH8WU-l2RN`w-+c1vA z)19F!>60S|&Yq_b<0WeFz8yUDdU!UIwC!s}FXp+4UbxZRm>6FA3J(p6nl@wJxmfeVG z(O$iMq@AL=Dm_SkgMOS3vt`yt2g!C2Lf0y;B18`mJ>8z$w`aXL?h<=1ELkE4>z!(w z*wy*f+b=Ev!PALj!7M3)@X$_qA9MP`D@wj{4x#G_IO=tCdQrED29FN?xu~bHd+3u^r)uDt1qI#YrVU>1nSdQr7J<8zl#}(lvp?UUtz`kX5?)sHQG zG#eLkq1gi;cznMC7o7d-G_Ygg{?C95v`p-gd+Q#s7g3#7zZg9xDd4~`t(bAY=Dwl- z&Y{ZRV@j9@+sT}PdvyV?X&!udM5Os{$hiem#N5%vb06!zt0xIl7I5D{>aMp-bs2w+wh{bGGuuflnMI z7<(>vXlFZv+u*mm7hI}wWCa24FNS|kxQ)wojo8)#6Q1M{;6{3077pKLV%j7LEMpoa zq97-}F*@WiV(vDqTqYJvcx1KRlQ?4@!r-f`OLrYF%Z&Q?ac8*?+W>mRNoNuZXc19< zH!AXaW1Zpoyeyp`pb#`0#}_=Dmg=wQZdC*AuS#!Jp+ZxSRFg11|KDc1@VG8Fn5m{Q zcX&c4%PnQHwYYYZ}(2WY?b_A@yx7d&!uv+laB z7t_H=gn8sORWK{7#b!YIZhGEtIf<7Gu4yZ>{%u?2^++qm6}%(6YX<3h#w$T4?j_p0 z0jB0~<<5?6=URNDJ5%4N1$?mXs#-?qb3uhh$vOZV9N zRp&%CtG0k)zcD~Myl6IQIC0aZWmPTp?io68v6Ooyn8|oM_U>c+Pcnqa;K!A;=(mWo zcXB_HRBMSgRAS_;Ae%C+)Wm$hw|HhB&pNHUvz#iQIEheKMH&e{-6icsd*A-!b-t$& zm+sOFliEQmgLYM)n~BiU_BRH*GXH$w_g)ly>zAac5qbq@hU#Ff zp-Vef(tB#K?q80(a>jjMF`<7V1hE88tjKxgW{nWf zunkTcXtP<tToN#J9m@&!&a*T+ID8=C+2US45#~*ebC*cLx)< z>9KCqOlrksrccXDLnA1muQwI9RiUb~ST{@uj_A1v69SMDktw^A!58yO6Eu6_`HANc zbQ}g@m4w&|aBtPIaRebKV>3pyG{>NQeZdogW?D-c~pzw3Lp`@-HtUD*2Y# zg4utyu|!PrZU*{!6KPv{BbuqI_dutjj?lZdJ7{mrS7Rz9D?t7f5N>B)-Jl7BgyC^m zG2#FyD#hd55-LQWIby;Z^CE^{r6CY3{^z?d2;j)RVl70birgw<)kbai+2TZdXXjd- zSfA`aQmi3J{hO>6Axl&%SKuI6pFnkpM`>`#))irM1`ZV8+}Y_u7Y3yQ14EoTY@gjG zx?)d{uu*UP2cM7sR6&x}I>RQY!rH<#Xo$xpMocq1Qh;@SsS@Fw$hyKpuQ<7Pyr2ON z^1Oxo>3L`Fi9&a&kt}KVHFR*k7CWkHT!bBq{M-n#v&jW@m0o?*{^I6m?H}&{<_49% zM{yPZ%#>23khUFJPaT$zu#R!^wL&N{1$}kay5-JL&N&6T8k?6XgrfXny~x5=-x#ra zY?wGjOmqlUMfY!2#tS0CZAf|=>$D!)wF=FkJBtOKj=>9I$}&q7m;C}zrDYIB(2-6B z9r;A~XxR%{9CMuopgX#K*Fu-P>b?xi&trc?o;ZneD~a4~qUUHQ6`ap~Q)5ZZI&Ehn zhjeMyP)B_%p&azw?pmTpU=RJjcoVh}wcSv1U96@y?A{Nl=)?Nh9SR)r!hNB}qUD^9 zi&9Y$ydOWk`H3XA-<$nlzMz_<_NpZLsCf*pwll8M zPzu(ub~Y_vtv2v?puEyNImUsO(vr;P@@^akvpX?;K#hPx%NkE#zv8Bi9_*jozpLyh z6vhqLuWK2x5}#^|O`D^l9Wd?h4%bDV^`BYHDkdW_$-hh4!=NZ;(dzVU^0yI`O(**a zd?{=#svL1`6f)l(XvKH06(y!{emI*UUwhd?KT&v1WP7=&WusWV?8U)F&hS>8s@rj@Rgam(26&=mb+F9{Rp;`xU-68 zsvbptUXg9pS@!GvdTSP)s)%6~itm0!ilqs)yZb?*@vD-M{0;OfBVcN8kOX=Q9+`&_ ziWZ=KO16lT|Ecq5=dUeS+13!%j(uf-JPY4=zru*mD|fbe&vR$dkKu$fW}375miQ9= zC`VOD0j}S|(nDt`;-vi`W<_*R)uPkB&o%tthN5t{ed;;~^gj!eUDe9p%2oO>2Zsua zlBip#t~~}VS8FuwrXzjs)S(! z2D`s+eVeNie)g8>1<-nRKYJg(`2GFopT_EA zTV8r1wet^T`A9M{TSoL~Risjx;9$i?sm3q#Og&+3-_$r14dptfKuIPrZE*`p-<4>FD)wBi(Oe(GGXpikl zlW|@R4(M9dsdr%T1@qLfbBr|l)ag0gm9E<~MG;o*CpRyx{|P383&Z_m!-z$1i**ve zU$)R=oyMyjs~ddsDS+WoVmz!2f+978%NxjUpCF=6SSV1I+riT-;IC1xMo}|FZ{VZMuMr%6w=QmnJ5@vY~)sCtbzKjCk%-qY#oCM&AR@ z+Qxpb|EhU4$uB2nC7odB<4?n+dns%D|>~?^Xe-gC$ zXC71tvrat;2nu4+)Yy$t(?73sHq{FV`h9=eRN$8aCVV|;!vbHMT}ld>)JiFsJ}s>y z@fu8N1F!R0y^X%KN@EJTDJ0;t(-$e;#a%|0zDr@Zy;ifpkJr^@oB(q1X#~AwRu+9* zL%l(<;r0YVSskixi%&qtIKSL=A;^L<0{z(W2f}@T)26eCxXA&uzBL$pD1hsG08 z(ep?r`q@J-_-G9X+oD}8`}VZ2KsT0K$gXjFf929 z+craqnVb;z3}?sXlV`|2H6;~QZ}d@sx6)&eSIzDl^v|(-71j8#ARM@{WXMnIB4dWu zr#%L(8%hP{&#fYg=0kr{m$6zT1fFrC*wJSPcA=ghFKC5-aj~=#L~8yc%0h>B1fV3iGQyG|czX@V})m4hQbV%n0HmeWjo_6I!^Xtgz6IX>UI zCH3NjDCEzxh-X8b1=8;8ch=U3q{ya&_4Un{qu@XUqBt>|5u<%yr*780}`5{lK<&=jBTqp-+kIW#qli7Qg zFpcUsjId3#xA4jxj7dlX=VmePN+Dk!6{3U`GiWg|mcnjNe=Ka(94OyR-@%?9>kwtA znOBYB3G;;WJWr^Q+L3EMeUo$!$dmfUGbuXm(jj~|(&zpW)t97*xDVTc)(#*~6bDB2 zv}KpdPP!AkqZFMet=N$JifTzsB&bz_9aMJ}|7MH0bw&fjgOJCZqupzqF?W5Ys9ewo z;#n^k$(cVx*CnUhBTe%IRBCblwZBzf#V|`k;`3}2Yc^A1RmLfgI0jjQjx8wCQO$D?Yi{Nv{1Pqbve z7BUt73!49Hud!c#U@}H4Z24Yg{M7&P!`jV1W!+E7=VV4|JtLnnA1$@>>+5HcG&Jp- zCDCCO5pb+-L&mN|q93@_@z*Mpv3KDtgjy~Bs@!ITB+e3~gep901oM}twgtmFnDe~f zJmb>V5kA~#Mg#*Dw}k~MdtUcNOE({cWJk<`vRsn-c2^j~ON?~TUKEK_Jo^gY9?KuJ z`t|K^`wkMydQJcpXP{VlIQS0evYP1Br@Y&7Mv$5bT`S(ax z6r;XA)gt+8g_fr#4W}x%ufpY6X#e1>Cqd@E>sRW2qP+5*4o;$?A_=6bf?@EAx_6fo z2j6aXEQAirud=A%Q=05xj2K!SIkWgl!+64YVY$$Pl#R#q^KZ!K;@I)TP zeo%S+T;ff`p?YG5hx!lKyM}|xADQkll4h}mV{TDz?toP2N3R9(1-xv(nN2O@YhfQ) zDLIvK`B1A$40tYgRK~n~TQRp=Z8h({_M-z?Ko(q7$oShVIvo;$AG3BXl%{{WyPc!I z&gJ&@3~z;coOqT(PA?|Bm5}lK>;ZxsA)vtMh`?c+hrVEeh2s)qShBoNJr;g0=bq4(P@jTnmo@tjQBv(SsU6*6)9M%EH83uN{Ctp&Lth9rlB z?G>d5PScZv({M>`DwlM^bUhaB@+!`a-a7e8k~nfvFDPS|pK^sWT5248C6^PRbu50L zENA<(qT&9%7~vLX(-^7{O3olOQB0~qv7^4tf~>DC;poKCMzD{zGglNic@Um@X;F#1k1p6xz7 z?b*vSwt}!`7r@`Be*OHuVWpbCK+CRay`GcMt|MQ6TE0vmSCE2JZMEVT2aA`#f_=Na zyx={uIP`wrtrJ+LFtIR-Fv_q;2Cls^r^GACp1v-#`Zq*XBzGih5Y$xUWZQd6-#jl< zkA9GHrF#<|g?0ZcIo@}cL3qTW6yRBwS_9oSM-ffXl;|OG^U>}_wrmKe+n?u5;vEF$ z2GElO!WVIXK^8Ftg&h?nn6g4iCn%KqQwDIB`#ijn`oqsYB1MMKr zfj91&uAGY1;hua)5re7UC`=*rgLNYh)6&JPU(Qxy zi+#o`kY3Y+e#CSB-5ZO98&I1`u=WN7%C~j55VcfreF;I6|NgVvDMpzxxUw#iE#LJf zYoAk1AOEW?WNPjt9#L6D|qY65phjg|-u8T8fn?2q=%#s0bot+EYC1s5!fRuukHrnu-WQaFnQi2brU$ zIR67RPY!%;KNd|P1{80LLqq)>+A&%s%#g#LK2gsUR#_UinIHg&?~txyo2Z#5<{yiP zoCupf82Q6(g~IZnbM+=1sId&Hh%Z*Yi%;4}9fR?$J|h{DsFxStm{zx%@^-l(zC z(iZQ}yqk{ej*O2Vapw^YFzsRerB(~i?FXu3ulEo*s?Yg%E=gU98yk=yRmuVt?x-oz zWDaa}M4K}8-oPp+m+Gb9ZRy1xOgQAta=+=uD;F<*SB;6MC3j3ycm`!5sS(+bF z{dZU*7zP!q?kBMQ0dm&*UY(yfsr;B=?k7p%0nK}`t?ssL>32r3$>2F1SyDvc>x z+h4dh&yyq@B^NhtB7qw}MZR(O<-}Jfy`^iSV<7CHi`)QW}&QwP0R~46lWQ z>gqnuk+lVxGnIstIHa-mjicFh-qC8&Z<4DA2q2HvQ#vA&+8>db22WfBBh>KM1Oy{ zmpRb^q=wwr6Y>sGD&>R6!CfS9+En4#3VA^zaeqNX28ij{{!F;!`<}s|oWE5ekyw!W zE~PrjJy|$%Hz>oUS3v6qtB0{o-PPp-5xO^DM4{FZ)fNq2;bW<$1ZPoyY>V3XMJnT~ zx8_#dwqBZKHWe}-M4h%1bzB7`yVBl$Vd*efp28z^;gTq zL?*e`e1<4LuTmg^SRblgZ3nOcv5rTEhLI(fmbzE$A#ELNUmOgcbCggSJER}Cq$%f| zvRUx9Q*zvy^VyH3RWK!8kx}O5=VK8jOBi|x)Gl?3g`U!o-1wA4F4g)*eSVmN|C5^8 zU+T)QBBOFM-*H+B@yp3_B$q54k`Na@Zm+jKk?2eim_>RAw8SW|7Q1k)@=T$YN9F z;K_~rl%HQXWLLN`rru!^7WFN6;9jWFYdenT@vdGPL*l!@C$rYhe4=Aw^4_KYzVPB3 zjSm_xU+OS&=1IHBA0)yjT3AbE&Ogty8QqJ5lnAdKq!PFv|TulHU0#u4JBGuu!BGTAOTWRg7N90gI4mte_I!FA@Yr2mo6^Vf}YE`aNOLZJ+A>Jm~TEXm+Cv)|7UBHkYy3!#CAe zT2r0UCt@eUm+>}l<#iF+tvB2mGF_|nFN!Km3RbW?WrM|)HvVr;_8AU2Eh?cWum(mTuWvd{08p+ z!4(qVYlN4UQjgwJ+@{iNxjRdzpZVRh#!*&LnSR0uL-A{VWzMh9T}p9SUd`Osom95d zZzUFx3JT^0+-LJM35!OFY0ew#)#$n90EWWw8d`911n17rNLel-nf0_}=IdtlM`y&` z8hO-V_{w}PZtq}(sLap>6T0SdFf35DQC0#EDy~RPN4uvAcW__(lmX=-XA#US-vXT&j1i`_&T{bJ*`SLk&~kkG zcfF7)I$WO8EvsJ1mp7gkUDH<5LN^m5w13O8Mmj0D4@j-lDqX!oAyt6n`_0f$kz(U0 z=m9RIJnE{%_}=^pUV_I5^yTTs-n8pr4-oLy0P*F}?j4Nz^>jIuY@MOpE+@Y5vFp3# zfs6&TE|^p4DJa`=2tZY1~B#}b@eAilTvCpE>04jarF-{9o`{=lAp*v9ZvkX^(1Q4_Neh2hPV`}W3F zBn5O*2SX}9>ON~Lb4a~-`+zME_S%v@O4gwJPa^N*B1rzwwWgcQM)lQ(h4T*kd@`=I zZ0wDlJ|Nf+qOLc=!92acFESV?jUL3%CBHaE9J zdN){gqadeRWN<4%@d>a>{#XjYd-8mzL2q#}X=HJ)FRf3J@@o=gcJ)rY+%FZ8Z+Db` z)iCr7=CgO1)W>H7B0p!le%-K=L%<(?j=leLiWb=ZogUHQLJdJ@-NxPXRDe zn3hk=tiJ6k=(Sz8=DqSrsTEQ38ALRm4qEI@!*9 zvM(x{PS=HMWcA(fV!RLW>x?L&*nkc8#6R4Wv8}h=towX&4CKF%a+MKBh!fazoEMV6s|0Wk@W*cjV$Ol!x*Lqo zwyNFde2?5a$f(#s7zb*KPhTx&@mgO4+lT}XRv}_-gBJgb4a>bwW_ay|R^92Zz#ul} zFUnqe>IPKY!0;w(Hm5lps!!Fr{U9opJ(%Erq9Vn=cMkOEiD4wWvmoA={t4pYdw9jk zg}C7C8-3f{b&38@%F$y#@*WeKhYyHszWu}D8I3xp7WT>i0=9y!>F9rY-#`FtE$;S4 zd_fK+rd_EB@*oKZPw=MHqF-WLhg9fF$rlOBP}9b!>6FtWoeRITva3H{oAG0Vh;MuD zQ>5HdQo|WScbe*5N&Y%c#Mbftz%)5{v0=}S+a6w>Xd5xzPMk+3tg_Sd*H+xW_Cafn zvbc0}>;YAh6!7}P$>~p3Vt|%=?Mo@>eyPY^9O$j^FhBG|r-^Q83)qpo&#?q5BN6u)paRV{Vh>}(8Au-CD?y!!q(Zn) zY!NG$yYc?Dml4ozRhu-d3I@l<)K**e&s*mB?hn8%LL2-QCzKXjq{N_(!}r>DxQmeE zi=&?GMiN)Neb$urs=2KW(G3zzaE6ShZe`LZMNUP+lbDJeWL7Am`dA}QKPD>q24C%) zB)tryV&r~`VC}DORa-OPj+{72D??XX7s82vXd;J{HX8SnP{E1c(*g4!N<&HA}E~*#lDE2IHNKA=5o1BAIgunVGTKzyqxt2K#5ptMl zGt%hm&6h3Gcx=5wuULVYExh*A_#I;iK{UZixQ;BEE`;K@Fzi_Q&4&+y8Yy=YK@;yM zvhsK)H`RiP$y9vSW%p%e8PJxwUbqg!Z=$3-7uNRW&1fjpq)z_|PxZ|t*{7~;yA10_ z-m~Om56!+S{U%P^d!!w2q+7YWr=}H`6in$TGC7HSVNFN%B%MKlBa~m6-GOwrJ}g>z z=UzYaPSV7Lr0jN&mwlSrNM8S+bI0P=;*6-#3~>FQtw{`L=~*{51#e&39PBrEojZ!I&($rQ*;v3pvAeI+KJ%?g;TL#Kt7 zx9-cE{ljT(%HbdN=aZuO?5V0tD=}ZKPacrfbVLeXD_Ey3(a#e*IK?)pV-x3ZNiW3Q zGgIw|C>1KJ<&=2Yhv*Pn{Vepu?yn)N$>NwB(ZS29QL-@e%y%-b7qKg-!7fjsbAtLH ztXE{ssXV13`Z85S;77@O%cI9wmVX8aLkL=B#S{OnF;H_LMHTER-Rx`qMt|UB?qR|< z>F+Oyb%-16I&n^=yJ=Cf(l>A_t6Y;`=e9AX3%bLLOtT`bq`Q99*0x!`|J_kcf%3m_ z{RR#$!jei5QGo9BJlzT0+;k9n9J{;K|Lq#>0q16{MofT^0nX6D=2~G4lDfO&6wKE% zR_yF#pCsx~anPV|&J!CoQ-RQ)EJ@Gp>7k)a)mSP8=)bq6M=kiuemHR_rH`PSU;%6 z#}lfE%<{%O)viEfTzcK!GYnagZ4(Mj;N$~1-ffq*YI?ZEFcGAlm{?}LAm=%zHFUt+ z9d;)nUH7-yOlx9oz?{?ke7_vbcz#i(|VA9 z%S7(KJWZWTZYnQgJCyDFw0o<3LTAz@zNydeY%Av@ghzl_+gvQ1EHM4uJAK~K|Mt6> zUK?vcl90m|pu*+84v(T=Yn=i*ZJ~I%(*iQ!>Uv!BmHkflN)Vts);A^UOj3%6C*&01 zAT|_NF=H@4`cO$M_l)n+OxZ7s#|q9QE-n1{+9-0K34w|hX`QDibm_0qb&n8hPN(Y5 zk>9EA8+%Kk3@;1+IoCb?bEfGr^G5@@T^AcF%LK_2YwN6loJMheDSt#;zA*P8#9{u4 zGPKg+PI+t@-qNAyxW~upX#MjoA)sx+@WL4QEdtq9Sw^TfEco;P7U*HRNbq3$izi?X@$Uc^pOc!Pl?yIJsT-rg=y^B{p)cdqYb<*Mj6yz+Zmje@d6;Np@4 z9n0en+-mCTPu{(X8mgy@jO{QrrseQM9TDTKj4XA$UYM48GUfiu(Qr5<;g^BwJqHD# zm}{zX{T>X3XlvrEXnb+){BM7pcyRsfS=abh%=iRfJd(YVx8t%<6vYcBTK zS)G1SmMAS9cgnU@9jU=KC*VP-2S@*n;hMLEoW!D&-HBWfQ`JG^JQ%ydNr4VxSefCc z8Y0z54Vb65oqm&xGX5m&d7s_x?Qrws1X1qb;OH{at+$QO#3Z!7k>2~_g9OL<8^6?` z>=2uzbj{0&F+^i^*y9Fm1pD{ zDpCzMMcs^6;ZHtTicJfIOp)eUM)+f2dX*-G#{T@HW_} zw%ZMrtvnfvBZSeK7>j>;OSqiofzjAaO67Z6)j|X>RQfuPX#+hT+=#-SR+PE@(3rj1 z8c|VyZ6-?QIod1YtO>{H@8>8<;onyQ5S(g%^uKMzY+f7W!-qMLIqY18R)muD;ftmW z*AXZdAvD#GiqpA_DG(%3ZeB?g&EwO;c zn&0M^)LlszOm{jgO>|r9oxWq`ysYD)(jkN592mFH)j|jRfu{_jrX3mkUclvanWf#r zfJan<-A@yHSUmbSrany9eLeXdCp13F)1pjQ@?b%!mZgKH6$2rQzoXX(+VjcoCDCdK zAR`8oHFydLoScnS#Uko7hck_Dgx&cqP?df{4w+^LPWUJ?Ho56YvgO$PsOg(7Ux1;z zl;9vQ>|q;~tMBPSA}GfvmJ~5kIf}C&D)ga*!NFFR8zd;IY8(-ZezUDl_xu<3$NJkB ze3~&Aj3(DKRmNRgbk5?ANk#K5yf;g?1nKqlVMW~_RWM(e(%-(-(qEabE)N(n5uB&rp|C`^(YO=m;=R%~i z2pY}Ty6JE$~K(R?T@+eV=2dW8{Gg(S5Qe!Tx ze6x|bjH;}(9sI_8t(DahmSgUh=O>QlREmi_W8N(y>l=MAyV_;hQGi-3C zLvt=eui*9t4P*WtrpH#!A#8YL8mIZLLTfORbLOGAmnMmU?aej#p1bAJ#!j&H4M`Ny z)G@*(uT_*oTN3I29%8`(!`*ds9~m=XwjM2(Hf}&4{LpX#{iiyc;Dpu>T}5B43l&Vw#0`o_Jdui!DdOZ*p^h^hF*59j*)B*p(Cxn~cXxI^C0)=$U zR;Ow0(%zu~j+K`2`d`g&5LFaNY#5gr9uQv$4M67qXJak8j>zks|APQd7vKsy7loRq z8xq}7?*=g!J1$GfM)iZJSNV(aeaSjv2*-m5 zCchWb)OThHH@<{yV%FM=A5B;k4R9HRbL9y#+H%r-l-cb15vb11)F~eDa+S_-1zWn`P$Bc#`76b~knQ|*C zjGumeEi7#6_`%C&lz!UAusD*{h zXK`9av6S9UEGaQd^-oDl(=()z6)uh3-;{7P^9;oR-A4vP)B+VT(hWf(CGx)&{1e2h zFw#>YkxGUpCB^La<+Z;_#yw3W-PX^5@~2KPj*j}8)BqlW@sR>;1^GIqi8SZH(Vx9v zpZ|8ge zeUrv$?vHC2(LV=-D!1JBCZeKNA$=<$^cU%vhHRgP|K7UFE$|v+yeO7d1w!LgqkiAA zxOzfV#QXR|ElI$CPrtL;#>x-mFLd|xIA`$fGlmH@*mVXK_zl9>aT0jJ z6u#8Dxw*MNzWl3~3i;pOZ!ZI$>VHcXyu83A&1%-}}F>Rd}x7 sumAm%?zQRv|Gw@2r~gvfA94PW;vgfIR2)V75BT#)Sxc!5_AKcC0VXmNZvX%Q literal 0 HcmV?d00001 diff --git a/doxygen/img/tutr-swmr2.png b/doxygen/img/tutr-swmr2.png new file mode 100755 index 0000000000000000000000000000000000000000..15c6b453a7f73da2f58ebd11aa4277dfd472c7e8 GIT binary patch literal 23079 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 literal 0 HcmV?d00001 diff --git a/doxygen/img/tutrvds-ex.png b/doxygen/img/tutrvds-ex.png new file mode 100755 index 0000000000000000000000000000000000000000..c9867c9f331e93912e849b21f9e81ebc5a283393 GIT binary patch literal 30484 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 L>w1CG?T7yd2O2QY literal 0 HcmV?d00001 diff --git a/doxygen/img/tutrvds-map.png b/doxygen/img/tutrvds-map.png new file mode 100755 index 0000000000000000000000000000000000000000..9fb2013c3d04cd733571296d747cac6dfa8e4583 GIT binary patch literal 36966 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 literal 0 HcmV?d00001 diff --git a/doxygen/img/tutrvds-multimgs.png b/doxygen/img/tutrvds-multimgs.png new file mode 100755 index 0000000000000000000000000000000000000000..68328cd62cb7950fee729f4196a41093d32277c9 GIT binary patch literal 278199 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

-%a{IRZ1nSjUTYp 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:FtArTx%{9?Pw+-D{z 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

dLv* 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

%H8H+23L)s*11k^4@ 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�&Pr~2+{|M;A9`D}L-5~o)A)&jxnI^VU-~K39f?wlyz)AlFCHm>ECoy7* zs#i#G66H5n_zvY8t1*A*HWbh`m%G3#!M!?Jf#iy_s7HKZeF&`C{*P;jTO^HxD}2kR zf&u4owQ8@ffhxV*`no+I-ldn3RvM!_Dmg}rifkl zPP#4s3(+o6sMw{>D&-3a21^B^6)gO8h#4Kr=3vFu@D6-#Ar&9+K@%uADyiFdB(7Dl zR>F|o8SHgR_|PSqk_s`Uw9<_vuoKuVu@9wa&2(uc%Sz{7ShkDHFHu{Ap*EF#FsJ=- z8}e;mg0Ie*IJ?b{8YeuY*)%@#`JY`rE`4iGM!g(&J&5HCWq91qP^j&VstmkoC6_vK zS<6!pqf|ku`=aEKaoVcU3If(#b?<(V=VEa>a&5;HuE<`T&}7nPOV_OVVwx;@B!M-# zX7uf8>?tITfY;GJiR=2q6*-c76vrq}82;68K3v+(`g2=UCafEuqQj!KBm>|UtkI14 z{nf0$`y@q~^JHqFBUfT?JZrEnmejg0%}7olRmdv(%WC@XpNkK&_>dAWoF zmj$}@4buGmtR5^SX~*srYHKqcPdr^C5};`%_ZnnPgl2?Ht9c@Sf6U*is>Xz-MtBXp zc>Hm*k_I$Jv>0>SCCv>`QB$pB9|ktAr%Dd>{h~zTY7#HIdZYX1@|F@tC*F!ePvMUO ztY~mK)FU8N6erBaOrz!%y{9RxUSPJURtT2kpH^bYCVuB7wC1QY4TM2w1oiimnY1Lu zLcSRj8PRW4`QGiL;Tu?!o?Y=`uUiXU)fHFd)w~@b-3Z^Nfh2T=ty5-q(~~~4!O4*S z;`q)Ea!yQOr9n@=CGgdGfw{1OM@gPAboyoCP#N0%-Msbol}e=Zz~^?bMeR7h#=#y% z3i{Ov)|;n@6e*EW#<@c}4SeQ@B||?q_`15{*m#D)v8}mrlE_-&o8u1E8s@L&haHr0 z&}c+4(=og~iNYILc}KOS#8Y{EQKgPnz9Cwf8mfFiPzr!3r8VTfOBx|6EdjChxwyWuZS${v;;X^#&Kfn}6i(IoX0z*i1T93j{MTcEl0 zCuiCt9+hyG4!Py>P61V|23XYQwW%;C}12l>}R-(U)d}WRh zOl+d@4YvBk2KR=F5mll`OdVz1*|^OD*=@YGs(;&Pu|zDY3+?J(vGn{1$@MfuO@qwu zSnX-=8u)d-lT$LGOmoG#ix_xPcRcp_6!lv~RW$oloUSo5r6Vf;`D?V&#E?8-J#aNsfO%Mz~R3gd9aJAneBa>d?);S*No!u_EGdRK&bl})KsuyYMiv& zBdlky2+fK!@Amo|L$s3uwGa@_uG@MO>`} z%@uGH*V%4e$je<1>VK2mrfav0qX?{a!EpGP;r-DbNKIH)ZlIqVtNJWjSp4`bbK5!V zQhdX?Tr~|^)9h4pxf7*)Y56KB9T6pNx78Hg5=NP0IiX1MM9<0R^N_0HYBM3H8B-f~ znGfi?F8~1_I@y4*uH0&1Qs*2-iP_;;p#Lq;~*d}8JSC5Y2hyJ zJ3kE!q)LzOh8`1-X471xj}trcl;0BxN3&?Gf{jM8=G^{`Zw6z^HZ4|GBOK_9oR+&3 zN=B+Vw^BcUZoN%_QB62wSA9bWe}%;6Xi1E|4DQ=zXa)qs{WNg zsJvEVa;*6;SNj$rX=wLigf#`Zba|jcfQKtEb*}7|_L{Mjr;;q%eh{U$@- z^=BB66w0Khc6e4HvZR;C4>oMHNwf92+x)Gh)u)F)dy0+N1Xn~^s4ZW`PXN(L286hz zl%i`AkQWJdZM3e?wiR(X?+fv|#vzQW0B6EyO{R}0&c(Bu;ehTlF-{OwYM38tjS|yh zd`+NNIMhQnPI*xJA?Hi#6U~-51{7qtD&FOXw#MtLS6kp7wnCv88FKd_NGml;`jVfTMs3^j=i~>$YxzBbmrPhqZU(Nu97ee~rFMX8q9(whc!DqzW zbuPbBO4LKw#cv6-3wAR4jAfEe3XiFB2Yc-{<5U;i;KK-z3Zj9XN*WF(Dj4-9r>eP2N?BCCNt zCLkgY6GW2m>?@WO_;m5Vj1jERQMXpZ=jT;+a{4o>vDM)N7J$@IWmQxXLAB-PmQ^+D z$JDR8P?v#Q9O3nL9ge(KK)N(!q9(PBj3Fz{~9IYu%9$B7vLri0zq4Kt!g7uP2h zEsy=eu$0V5DvIQ-n+;&%>!~hr69$urTL~8mun7t;nl&OscTl&7p z-|L7?;!X?MSt;~A7!mx`_Sbl^C#(vf;c~f1UP-HG2fasjFgRLt2gDHFohFmXB?)}7 z&W4tYzZ>WRw3v2nE6K)V9=w4y=I#(hP|wTzzWshB^jA_wu1ir_elB_#HYf3><8H-D zqpKK>&&5Qis67?&W-ZAb*RnnLrsrj@PIjNyBcG%i#Okj7`;cLZ!w&m~tO%sI5Xzj8A{*?+oV>=_tL*j?$Fd*E} zmi_~xOKqPbTS{fgWMU2JbSRk1&x{VUK(BDIH+S~W9wzVJHwqQ9(mQqFIh((l9bzHo zGv2N#9V0E5FL3{g`OcSBPWM-P*Jh??l#X}R&vw`5RA0JU%6hp^TgwUThWa8hPi~->CrQLYd)1dyEUNRzGUzkwyOB) z#{E~QMkeKm$3*bPy9o4i5!)EFm1ll<%oW^Eq^I|)bi9d_8OktoIl8dx5gfjLG1c-K zv)x3Br_5JY+nR^DIBzXVVKp~0eHi$xllDid9%k-A0gxWsHCv05Qbo!eT;TaCZZiU+ zGyHN$5Cnb`Rt{^AtvYC3RBVXSKUNg|DCU@8^gyqSuF0nN{y+u~n*eE*wB}xGg;{OO zM5VHTotRvx*@Q;vF75{j=G#B(v>;`Lx> z1%xQX4^pYwD`W4G$upv~8)Vs^qCZ{c$KM|b=;A(QSB6}z>SYN4EMG`}^?IEpP zt$^WV^XDy(7;~0`-DnnCOe_R=vm0Le^o|>2^C6gE*HfALl}R41$C)Lqko>k;a^J1> zU%FS^I{Z+S=T1C1*uP88=L0{mlW{}6B~;w)V|`_H#(|J=EBrvYc&arkO1fb+51@O= zOmWVf3*POIQ)+R3A~^JtOJUSM0MhMM9^a1snQD=>hbAL@Wv!*0+o~pZ?s5j=aDeeB zTo=!$2P)@Ly|fpXEjDyb{Baz|!JT)Cq~^|q_f$8ur@$I$;RXAApv{)l1 z=#ysGJyQ!6P-`R=drjKFbVCM%s32Viy2z-(HQ)O!O|#!vXhDFx0+Kk2j_i45SZ`W2 zPBCuzVOJ>|cfa0`t(?z`Ya4x3^^>fr&-RMv+&_To)q1&d?D>-sU+EuSoWjR_J%zil z8MB|bviI3fi#^gZ-b_76{t$Gw12V2h90ohG2K`IBE<&AqAI=r-|FaT>$rS2YOCK5q zpTfWT$RbSUN9@YhUF@ND&s{29&!TcPI)6Q6>$NV(6X7__U9j6~xaD6SydgW=U4U$w ztR#yOI!45zTMZnlxN{A{^ zhl=V=yFX!;`Pi|irvwm!WgrHhRHY7f2@XDRe`+utuojnrIx(i@>%+m5s7$9IpV}+W z=&k!5Wc*_p7`@_tWG2aOLLgcRadS%z=uG2z`=;dkq^WE#N_F{AoNN(1BP7GV2hmZK zYZwXE>N|3HrP`XU6o}9=5Y!fzq!{x@;YFTsy-RTnZ*9B7a6rMLRSS#bToBzYu3_p0 z*gG}UTPUlpU2TEK^TF;1Jvh2;M6BswF5E8Ng`i?70zcY)F0X7AKu(}q!nfzf{T)1x z+8^9VzW<-(`S8pXaBO$-+{g&A?o50Zd`1UnU+r$b-!4%4&d7oLs}RpQVYLXudgS|8 z=Xxf;&^*#}9|1|G1(X&0lf6CHN0-vwTk@;nipaSkaqAhg^luTB9ZXS`6CIZ5omz&p zo4rG~b^!aPRQOWf*G?OA7B}t4rq1xZ*Ci!jM0tRt4?cO>Ey>Y;#{$gtCgvZuj_P$K zQ1%!zl$C8m9@d%*Y1mrnwo_rkVrxQ!1pD{L_CblMS-#CWqLiQEN(^>^fDl)t#ZsmH zJa_x_UGxj}w>xtbylAqlO7NM|^%I}3aT2j3$=OhAm<7{uMoB=!lf4>T z&6N=1v~^t$3e?^h9G!~|+=y}U9U9w2RIJ70W?Hm1MP9Es7Dk#u@RIpMfywrITua<< zNUw4^TYY%bAVu@tuu$rkxQ_7{qUXmg2bwvsEH2$$afNDJzo|p4TGQ<83UJuSU^r8G zcK#dKjj0cA)#XI&`yCE#5DFYwk$>bK?KK>2x3x}-5VA#t3!VDZ{SckeAuf8Ls->3J zyt-c^fnaIbxm475vF#Q;P&}obu`Q*=_!&83nGW8`M|UT^A+P>YFnVAuRC{cr_c=xw*;S-C@Uw`A-JFfi(b+ zDm-Yl`-tcM9e2h4MUSi!u|4RUqztkJuk<&UM8=Q6;XfpJ*3NMtVf2Kfw=YG5FWz=a zSh-#0m#Ui09POc!FurrvPbr@YeRmgp_kE)&66+Q>d?xDV1*?P-tNGy7Sm85j&P;v4 zo^kfCdAN(rv4eTv4+c$a(6k0}rlYo=;G9-3(l4#IyHX_My!lbW1Q&>%*sk-Y@=J0j z6Ly~LIWOqUAnnlDz)-~rHHRMCnEX_FU$5Cfg;R^IL4Q{p&Dzmz; zUbgcNiE`qY!IQY{*XBgrPRN~HMTk`GIPwLR%=NjNp><;uyV6j`Gp=rMaP8b`?&!G` zm}TWiRfV6MYHs^VP;X*{gz>O}Zvh9;H{vemPH>WdQ|&=S$i?ss7(xN!7Ps3IsV6hB zS>coGRmUD8sgIW9u0GzmS#ZHj6L*IO4-$Ojpr17H82YDLM9CM?!I&|v2ae&NH5`O) z2XfuYq|HVtor$WRcEGO!?}=~?NM1bqYcLe?EC1Hav%uZMl4q`;{eJ~6O_cLsttpr~ z4Zw3LDys7wW{8G5a=)_UB+vXeD?#ki;`-5z-F#ivyYI-eoj?F@z=)+3&mTqeyg(@n z3pOKm-o>(iVj#>oo=qJwq2A;6s2H+wt^P+)QIFzjrpc1`h<9b#WWZR#~F&#QEY-6Y3n6&Z|>0`Ru z!UrS!n^4FMJy6#uc3&by3d7V9aVpyQ<6A_&>sHasfsR7RoxJ42ihcK|8PAu<(<9#j zLsO=xgZ$lG$I|r&dVn4L$1UcMsYo!$R~EgnkX{8dN14StHGws z)nvuv-&#w87<}nB$72E}F)_9Z+(I-#;v1=s5WdbXtVbHy!XM${0=z?zMO8bMq zv>8F-{Dt5LHo?6?Db0tMv{t`umM&jYDe;nalnSjW#r~2VDO9bXMlN5c*Bxi#joEnL zf6GbllrISUXs$?GHhWx_Dfu8|Rh}l7xp<|k6mm}b=a5mK>BPVn(L5jXhq-9Wa0XAL#+jhCV>8vT!6Ql}GAFnGS)YeebXWu1XCO1`m1EFLgaj(s z>*j$s_as8-^YJTfhTiFY#TP9J9pv=OWutT|5yR;#d)CYiwm61AM#Blke zLStX`ZEt1qbDMiMCM=%MReK$8ZGu?dmFB$Zb{J3T2{v@pAXY#GlIuiwP1QO`{r>9v z(x6M8NADii(;h(mD3n@!5=f=i!M1;CDD|=`uHTpo*Ds-Aw^+FUeaQ-J1@_xMiT>e1 zc8kx1NTtdSe{Eoo2y1`d5>^#zN7U?;u$SQK>eRo_rOQ9DyEtm?JSAczLVivWxKgqG z=g;=NM5Ldnm;J#?;=-PvjA?m@_qOc~Za2~_w1F&uA^XXmY^FezvQNp;h{ z0HGP04|YNt*4XSK968eUEMr9lP`zOXH%z3LqfqKZb&bB6#GMl8T$yKB|A;msN*-+5vktD|OHipr;A>N&t%p17RnZmnj+%GaSi--C-?11q;W(lzF^Ji2qqWW<DRD)jW?;m~-#);BzTZ3y`gB-lyZY70t3Cd*CFD&~wg_YXkt)IS zy=yPyZ5V5@qY6&{h%yrG4n{T&9TvH|M_FH{OY`(`f~Mvc4){fpkh;~Vf`<+We|9g8 zz+8QKzUY~bIq^pM>k6G6{>$bzu~L7@B~<=kHNKtXWRETuLCI+@8Jh>=Ca=-X3%IcR zGC;GLJh_>^rVwYkinZ1IL{MP!y5Oeky#vd=k(^W;p9_gXv;G%~c6peSX`-{(}8`GOcwKv{5FS&$vX(w&U6)^{c1M@>aiyX#R#>Zd=T+cpaN>gfk~ zT#6nD2^+tz)HwQ;B>`!>15(M}Y84^~k^XgJ2;gv>*daUhp3OHOMWt%k&d?vvE1KqS z55=5A-xYCi+kL#op^%WfzT7^bsDf$OUDY$$Iw%t&+Yp6v4}L&Y*CNrH_3-Y2@oR3X zhTeDdOg56S&(|LHSp?^K=e_FFV%MOHZ~>4bPDOpZ9h}))iWJ%#ZWC^8rIAtOreaLo zfw&%F850fzdOJ}44_3Z@!Z*>{OJQ!s*S_xY)_B$=9X~<2w=ka@bObYG5)h@Iaz$9h zH&kF95KCV#e;@Tha;rx}qD{cGF2cwKiB0x>@fl`_qfY7os1G zVybrpUZHdEL=ni(EYM@OHJCI*=>m`#NOzI^#r1T3H+-K_cG0z#fZh3TI2~clHR-{V zf`MQ!yOBbdRAy?dF3q-o*N~RPdO~t!WOo{U8wc^@l%ITO&@^--_?Qh9_gg04wIYl+ zuZM8}4ztUK@H_j|@q}&V3vk;)T-?+6IC3}{ZBs5_KIS#twnu)u7}w!8{(7g^wnb2h zX!k)SgKiiq7iyM0-T({#U;*4_)rtU$LfH<&Aj6#5euQS7-(Ns8rH=c)03Y+r%+ z@qWS^pNCOgV*zUp*oH4}dXmlkUD*KN;BT;ddGm7leNegEZMrIvg|}CqAvQ`J*fz#% z681-AEzo}Rn;DF}nu$=8VQ8Ssw7f?~^t=Il@-k3w*m~0As$CAu8%$h*3MO--`nB z$lQjJTpEt#^Ky+wdGe6{@k$}Eb=^ME!_(CzK$a@@XPsd-Hqif@;8%L0y7RQ!6`S3K z{D)cI7X;L|$sEsFvPnmjUG1@qiE1>tE3e^oD6=d)^yDDgd(3$+%uzDCh{LtQ~n;bi!k}uaZdGbyy10nW#XUC z=Xe|b1SY+l{Xu@V-Cn=bYN#7&D?z7G98hrH^jN)_`N>2kj~TFpgmn*Z#(OT>aiyU&b>tkd0Y*~vTU2H=8pe%;7G=V69hvPz5tAc9bUF0 zPW}dz5%qKM=~Bzyi-{=0nJktCIp|ypx%PO4l#fYhwYBr!$caPs{s$SE!KG4uTDo4f zVzzc6v{t@uoSi-M{Y$qyR6!mJE3G=djV~dXc6+!E7MEgqF=7AV)cb-g@-Ge8-5ic*V#LOU^q>6mV;F8`y zfsEH1=DXCK?_;J^y6vRhX(zbmhP=T{NNY(zxlY~bvz^-96X&?y=a$QzmSR@b zsxz^+>Cbg>0dF+u^oV!XeV+cLj~tfBMJs7)ewJCF>HYmA$>J2UyBJ>bcsL*C%RsQt z$Z2odWB%W?r9VR(Obo9+&xxCS{3m*L80E_2BzP-4nyqQB6aF@7eWB z;gc*lGObFZFv69Gs*!FXx)|2;=|0g*TdjQJ%HFl1FiqNADOVKe zi0!Zto@s?!TwCSn>O#0g9Jx#{{}2XQ^$-6EJbVc8}nD9n0)h z!wvolNpu$u385YqowF9IXd5(DaSdVyH?hqSDbszWADVKliyg2PIAoA6%@AiJq+*1* zg9wN+IKBk6bdXUyejXbobx%uaIX!$qrqsIQL{0WsOlEpCmQW2*LNKYu-G!+3?ptGy z9Am1*oAe)%)z?-r+>`rpempM)U#KnqyGebE4NmVSfneQ)kR0p!AFSaHM6kxj^6M^A z!y@_ibQ~5z{S*QgGu!#-4+U~4Awc>Y#xLRut{`gdax})c{9yHn=uB%!%u}^m$&ue+ zQoi1O%|EiJ=j#;XG6k)nLZrjk#~$>{ZMql)B_QvbL|^@;4=$QyvSvLTGlKt9EKRkZ zJ%AJe-qhd4W{R}$QJvuNp>%Z?Nxgnu44uX3N(;rBHuE=CKMivpGOfHQO*^&wLgs0E zH28cG8jgHno7D3UM!H65k8S7EUJ3p~(7m1QKj%ROyZFa(W@>s!KO0gfTZyUJ)oEFxJ-@2Wn?t z&(!T7s}CAjv5|PH>UTsRCs=g3o2*D`=lA*S?kwCnhC|>Ljq}aa_!!Mi%IC%B@E;a} zf;{&sX&c-WxJ`tUzWGK6Rw>P3&xBYJMIMDU+1QT(s7|(>Y@%Mbql=dSjiMgi*7&>y-;T4ktq3z zkr*4mG0=n%0JuqKsO`#@Ge{1ssOPH8#n$!l0&LxwTEe0$q3(;a54$N`f8FLVQH3xy z5+$k*@9r`znjWzW`);6Rj9rf6<`Gs=9&tVy${!-g=8+;{G$205UTo-=pfwm~6;!X+ z)Y8xx{iNQfqoY~d;RK@xZ||55(l03V^p{dn-?K*Skk?-Io*@>DQB1!cSe}FtqbXu1 z>#%-_DOicz(o;pU?peFs(Kgu(Wn3+US*I3-Fw*)Ew3sv8avCusWRBaqTA=HZu7#~x zqX02Z)2#?w@(h~$$Fuf79j%&p_3G1y^B$vJiWS>C2FV>|XrKh_S*<9~%`6!SVDE$f zcyi-3w0U@ZD_hOLRy>7*oWOQPQ6TAdfg6u--RXN2M{|ChUfa133u4apA*t1=`;1(d zsdEk*+E_l~UM!U==l9!Dc%dJYl`47v7h-NT0k}KTbunY~YJ5HVN>7Y9*2&oyKqsE~&mA5*{Eus*j!GI55>Oq=^mvKh3tFD7$Y#dRsLx31)!g6OZ zb+YFDoG3Fio4<|R!4Bj%Qf^9ti5&^1lY{#5clt6e9HL4 zkA@^lv~)nwX=e$^!*2mCnzunAeskZ!0Ht(E@6aU;%RO7VxG{7s8!YEkw_9QWlF5@4 zE3>*;fIpf{u!AfWzYXsKWCm-Cv_@r_FzLTV6HUn9W`detUkV4WX>saiH<&CR{R1#& z9fVZ|7zS2?V^@-!{__rQJJ~XaIQ{7dY0S^Ro#mO83DYZV$Y9+W!VePIukz2)hap?R zGyCKy!H2lOobbtsp@BgR=4cO{>Ao{etW$qY8BFI}QWs@$#j?KCVk4 zxboY3lmbaTE~{TYX599Ahuu%5WV<2&FB)c@`RWdSz=FM5@DQ6hJWmvl-opAmPy(Cb zv9NAve+l3O(%Kb@z*s#_vCNoB)@Q`;QzvTY=xwadmqjZD!l6#F4$glTRAfYm3=o$)GDbOSht9)e2S2icoo>As=3k^yd z*xt*;e4Is6pd29BvpH-oXL%Cs)mMev)igjl(CjKRoWh z+N%qns;Vc@Z;{c{0r(!_Dfp{@MGWdw;@Z$)oUQHfVoe+BFIsE}27RCqngdiBytlV{CU6|drr1Rd;R{H(ZK!13?TMC^DUT+$;1 z3J4B<*uhrtls0dFSjbmgMD8si?{C3des41?2Ym1k-NAy5Z-U^(p{1=QQ@D(&Y%{QK zmdlSi>#PkF-3xH+siY$3@71TFcsd`3x!ZRg?0JwM5T~ZmgXhmb{KHyNC^#uRCk0_< z{w;@mU4PBu?_$7fDAW~}~bYY%&-cTwVx#y=CPN}^&69FuX+UsNK;{%tZ7 ziKt>oDHkmJOa=(36WNJ5clk2Q8z_FOT1B>*_d{XHb5|+3>@v{{=`EaPvpmrhvI~B7 zQW0?sMT>@GH7_!^7%ZHq>3w~9}K9K5!#neaPEozZUIp*-4~RM zZ-+D>#u7#y%`GyzdL$@@a^HwBw|(QtSWMRy!77E=!7JfG<`0l@BYMOXY=yT`?8p^7 z0AKrl3?}F3{h!=YqiNpK`uKBrg-01%XB#-~&5+bJuB)sH*f-9LD=_sPZlgK_qMI6Q zVE-menQlH5AegB`6A{(CAC@!$R%y+1N-HPq^j32)2_yUHIM1>u-=Q9q%pi1+7 z_4|-M!ZB)!z-!P4*lnF}THGs_EzC5jknKP$I~o`_9J%u3T}ziAwF`hRwniqf$~-aX zPa>bpE7v=REEEyjm)jcVHUFLL`s!rZ_hQ)c5?Zf_xmQt2St7|l?b3%M26rU1z1H=2 zspl*dA}58D(joOdKkIpCXo$%}Z}mg(G4v;}csnGR(6Iee&GNwRVb-hFC8}O_vEq^7 z6=!K)RZk$vSjA)$xxuxyHMzC*&-Z+4>DFQJn-Sy~c#_)V9@D=o zV}8wlSX+?ELVR&u&>^O_lyL_ZYT9m(wGM41Kjv!Ic%<*O>_Hipc}SPJ1nfm;PQi=z z&sk3|j#NcKORYcb^`vk`_Wb*+$tgLc8?gDo`>5U_Iyw{*ydBjwCjb>`mxJeT1{X?4$zEn#ZB^n2kZD?LA9{g&Vp z*m1};Wk%R{m{+)FN&`$zMjdHu%2EB}*U?RFM;0G^}OazJrh40uDS5()o$~O zC@5HmG{+8VdSoi>_FizDIqijYrdS`7Oo*wwpRfT&@dNQYtBr+LixkSQK7k}(LQETB z$c}mNS!g7j5TH!-k~Uzjc8QJtSMj*iru5C$M3>#WKU6|$8Gn!7AheSn!)+!29z8EH z%#lBuybNymqj1Vslj~PV5-70#j%`To_F~+WI9>1ou*DtJTj&jGT71yG9>WIg?pvgKv=`>qzHs-Xlz16y`;C~oNO6Whe9smWvLH$z*_dR2XWkZJ&(%0sV~sH< ze8Ie-ygg$=JfQXeNIDmPru+Z@UwssHk)>kFVM$Rr%;7>#Q#n;mNufE6QNozP=7xMa2 zs%sv5l0Q}-*m!o~yqb_v<|FO>PqTeXogt^{aRST67N=1Pimssy5 zX8*0vStVpjvAIH1WwT~cQ z8oKBvph^`hllJRN09SH@=p1d;OiKR9zp7A!AtS0}E6;jU9B{S33jxtoDzSGgj;wbx z^#qmQWqq#1hq{jZUN8h3_|kZZk1njW@n-^od_EF7+HNNMn+p%YX@v4~$sBuH@ZhIu zO8h8R5XAnDE^Ybr0@qB5GlDcLRO)wzFWShjlOBLn?S>qDe$4#WuiwP;r+*ffX}Wr! zp#H_I)Z;=`dHh6XWtpa2KB+=M^n;#$D5tw~q|9Q%gbcsa`%G6|l`SP1BSKCAZTR$5kXIuO2SB;9PUF6T0PnY9on;M>E z?(t=d-*8R`C@znJRqHRgM2)D-(m#P2J5GVLSB8MKQDrQ6jf=|@53g}9_aRi#PxDAN z%u8-4X#^xFzQ$^O&K!{I70*rI7s4H;4Nj^JwOoGUz5p*08Xvoam(GgdT!HVCAS^-_ zUY9fr-LgYby|nyAfT;xLMkGSK^q>p+dFBEYtLvVTt6WRpO?2z=c{jLPjb5*JOEsyB z6^G5JFK*~A;WZy7K{-wqTaXqLYsOrkkQVcMIgw(v)s|NrLmCc|Fatc*dE&WwPBY7k z3BPGpu&vA^>v5J4|2<6nJgJjf5x%;h5&q0j%>*_YGt2q^^F_}=E{J?@Z(_|Uh= zoB-O2YI~Z{1ti!jyzEsne{O(}u(^o1Ct9kdki9J-{RGGHmuA8NR(xbC5*Iom=#G7> zXr~lTmz8n~T;&2{qR-l(Si9SQ&uZ*8h9g}CN@x>sKatwWFI+aw)rUcGE5AaA1&Y%Z zj@({~TftQOydN!8f+0tf?EC%Zez!HcUV5aNHX~BKawB}a5Tt9rR$~&gFR18`Tg!Ds z;@nBR6JG)n=6k#F>!JGU2%W`<{u+z0;SSlxQv&PhC{M%KDsD|;m-b?Q@|S5B6l zzEaG$XmbI%*l4`Nx-9?Rfwe03tnSdgkhrLcQyo^BCN`j9Cuwe9IfG6Hb?V7|1SUo7 zvy*MAw%Q%CvO1U!UavW_IDIIo<8nZ{KqM9fu4Tcf??_@=@#<2Ac*z zL=|V3MI6xzK#dyr;d-m4JW?gd)T>|ynd%vkuxMRq_ zS5%hyT5CGR&yUN9`XN@fJ+#T91a*ixt1v(%k847=_1X780}@FnrkO{_Mo-$nzw$v@ z@N$*ZX8U*A1sNszpXKEm|Dt!S%uL-ZJXgPMl;D?uLgz1>uia;DXjNP8sObbLgs4b% z-4|Wo=LohW)RLDqhsJdfwkG32=_E&4h_kVo@%V%F8Q#TM55MdO9kpS@)E7=U_Q!A1 z6X<_gH1A(DVtv#6gA#d>K#iBsTA=wY{cDso{gh-WcTVi!+y#PPo zXnj~gSbDz%xn!3|BJ$H?Tj8-acvA*u#U6aWOa67V$aUus8`$9uMY92nOLrq z;&((w`+`t@mP3YgIVk` zAa8%TRqHe$VxQQTOPq^NHr9f#<-Xwv$EU1tVpse&6UjCp`Nq}A9h{61#~N!NV$Fk( z$Ji;Rx$kzc=cN~P4{^D--%LI+>X3hZAr%9Yqr?^mSMMcY% z=^fvkRXN)30gx&X$?0=xgVICya^=bKlKoswKjPb$8)3m@)|C#*c}`YF1-JwC)SJ>ydr##JH| z7ENa__cm%|alBMnaBCEEfOlU0cLjE|NOk z+7cB-qDNp?^MET>-|a=qUmpk!h&0r?W=~ zz##Pfg>e3V*+)|?M^kj(-2m+)w`1F9>=$}Lu!YHe3sPfLlU=h@!--B3>mcPjj~S3f>%`;qQ1A(!ZpuMSVN(y?hy)`oVny zNL#R+#s_TJ_%nB)VZ!7u0qfCkA=)U7?PZcJqHw>z&HK2AvONI01=Ne_%Lep!nn`uU z4`7C}glfVbXu+>75shL)tf4;TDrH|&XKC-F!bASEqdqs9HR8Y2{IhP{d_b#=nU{p{ z4%kGh2-$@FWvQ_$Ej@H)k@^)3!+&tW0(|1*ykO3^Q*#VA9WY&$|MlksTc6(Nf&Yh; z_{++6Z-O#D7%f>MeMhch1_$dj)YJVD=LpQ3 zs*0`7Q9JY7B!ITkH8qtrSc8MGM=QMWd9qjxLFspZB1{$Xc@5UK<23LKxuglqiAb2Y zNC+mKHJo-ciJ9BNP_LjkYzd&0jhxtVZwv8p3)hn)Dn4>yuHpWaGCfA1(SPOTe5q+T z=ZqYe8~BqPOH^qeqiiIZ_d!XD5&oR>-3Hs@pxdH`q{q7!gMVKv(svXztkPH#ZMd#^ zMm5XE8oK)gN_&40HcN8h@3QtsPyAR^K(7yPLw`UxsaTtC^7uG7kfgW(PL z7@t7m+6TSX(^L#m)OHOZjULwlzaZpFdTPsTFaG^b- ztWRp}qy!_hMD$8%k*OdLbxPq*DjA)akorwmG2{1VV)9{!Ap@6VY!5M^zT_A8T=;I0 zscIg~AP+HAObq}zimRK?m(JBVu7qaz-C#q7bI$(!{lAW3-neS!O>_bQ4{d)}5ch)d#ULxqzqOv-z1$_pgGS+oS^B>+LU(J5GWTsTRi=m|IbQpDd)9ehJ zs)R}RVP~OcsER#f6+O2+sqs6Yw$CnSao2Ml%TP;C#4zd+I98`%N?d`8pFv94UD4R2 z@Za%U@R&ZekaV&kXiB;V`g?tN6=Nq-qeXE~WF}hyqFrr`%d1&qoG(emY(q+8Zo)vy zisUh7Ao~#kIqYs%UAX)2Pz*}=Mp#Wce-TJBR5*>DLX=n_Cbv)5GR#%-x{@o682W7* zQx*&dL7+U)SFh{GYcE)x@_zJ#i5~)7R~K5UZ+HdI@cgv*`GyKb4&MX@LX`-O=sDt= zxFK9o8WMbH%~cZ%QIaZ?f(vL)g&(0409zC;cJ~h;m(6Wb?|9#(dPoAibCEm|QMt(C zo6xzu32_kPD8jROW!4Ar!Ux*Sy_>4Zhr1_O`?_n#;f1zMhtDKWV!YVUwK7Y%qE*Rc z;{iTj=bnt~*o#MFLcr7vi*wN{HaQ5{y3do3cH|z3bch;=-HY~&x{6cp7`)o>k8A_M z#6^1~p6SKnu^p$=yha`fg>8EV6Q zq7!ZQ;{zPux?tGEn5zMH_cKj6P?+6luv92~EI$+AWPQUXklYC!osjl2^;Fp435ezz z%6StJ*xB7sF6qK!ww^9NE)A5{WR;4hY+0@2zOl9yx_AZ+Lq;VFbW4XoMfy~?;ZAQ1 zrS#~*(ll+BX7i4dj?+diL{{MpeFJeeKL6e|%*+|j9@co~5?H6*6$3`8LZ^}H-+g=< zu@3QVVxPYjZ$v)$(}8)r;A;z_e*^&0Q6tZ-O!|j)JB4vx!PN|AO44MXOvvsc#&%6h zFgfgW>ZQ@>6zyl#H>Bk}b4Q7Veo4zesW)w*GSNf`(-N5B4L!F{DNzo%;BK_|^Z7ZZ(nMzD14x-7nSJehjZ_G=ojJaSa ztuafb7i46&TpcBRoo)O5d(Ax=b1J!z^H_GViBH)4+gyCz@|E=U>B{iu`7j;d7o=6{ z=U=~jst((5p8n+fHrlKgYrI?phwb@a*{Gd7P_qJ3w~JfkAfVvq!MM3SUGLY=+mzb3?5{1MHO_``~Hobs2gs{alSAZmNo zaoGtqCVJH-llJmxfa#u?nXDO0IR%H)xJ}^ zQWgLW1Q> z*lbZOJ*tYV#TQ@>cK%`a)~n8WwJ`cAOm4B?eumn1#%2~N=c%m-8ZVob@eeFUthHY$vApgkei<9X||7i@NA% zCg`w{_yM3idhpKi4E84{h@%c6T@^}j7{x!x8(o@Q|yu#JeCOh@>Q2RN*rFC!~sgFr<#St>aT@#aJ~hH z{dtQkvB`FdZ=dQauJ#Q#XpO4m2y61?{ho(Gfinie$v+%dW zpNyoqd4EXUDetLTakuk6E-!8ITp#`4Gaa|x2s^e7IQ+pZBQ<6XsB z)e0@dK0me|K3q{8zP{U2az=Z_*7NV{TaKP9h$i-j`_X>FwAWgI?#g z_PuWC9lGUI_BD5CeM$yFZmUD~>SiWnL-KQVG*+&w8FU68uxy^yNsp4RraPjOJ4}*@ z$pT@1J5bCZg1NFtyzIF9*vZ;$sB^L^4VQZKalCWpETV%8-7os5lVO8lsBv%YmaDi- z>k3peXrC;y$Q43{Y&v@RquaBAexeCjw4b~3X71ujx>K2av+<|(qC9o=_8Vz?MT&p? z*InxC(bIj}7ct4&ZUf6j097H2dPj0QMcDg6DVvmW$eN12ToSg zqVH%yvgV)ivHP$jGEaWf#wjP%Z&lxjH68z3m1EW{mgL(HX{_c8*s!yGMR3WvFF zH_?hO#}O$k=2a>2z{A!WuYm#{qo$l^+o_!By`Ch{Rt>|ynlbDGVP+JgI10k1teeg~ zx86BdFIr1f%h|4z`bDbYH^uo*sTEKbzYeIVY$y36V z_Q{LBpST)Nsn+b%l=8iPNNt>W)&K2`EDxpDj9`CV#*Akg^M?5A_Z7rFR`+n08JB<# z`3$~`_WkWt-Rf0fI{lq|+9)pcD>{KL!7WVNRz|fDm#)9fg2=kZQlQcym@{q95PqFT z4DaeEnUJ_@Zg~;kfF~g9&ha*_XK0JHt0TPv`IdH~wjm)WE*gdvHj%EtPELLOl;qzV zrz5<{dQQv{6G8C764ps%f*`;ynEV>T?|$j2?z@tv4@CHaOvp4ca2NZQW8CoXe4cgo za2LxroGM)^zja;&57dbnhPFC-C2S}!aB^!N^RdTcV1$Hh-O&3@b++wQ_J|H*C(q5> zoCBQ{e(dmFKl3-E?g+WfBR%#0Q+azA%b*9-45helU(uZ(&09Dz6=iccXjPps|3ob) z4d&xr`CkTq`TBgr zhvoKPb__)j3oNu)`s|%}3ru`hy3Uu`qduT*4f!vi^4l`zHPhJ-@qNFNpQ;UM9`_t} zr-FRi&)TfX*XD1o^gb1Z|2x2q>0yVx2+bb>Mp<$|P_ls>y&Y$^qx=V28C?^s=;kx^ zu2U#qT^}zXD5So>viJ5bKqgY-qalngqXyoavS|dNBO7Se!Z0}{;jsfM;7R~HJ?S+T=E zxEKOqTk`e?ao~P68~5+xoQfGMx=(cz5J7>O*yHWGLs9&fu)Nxet%LT+bU?u82|H*h z^#!`8p9#}(;{(WRR;)sC{llpR2dOZGSg{)Fx3G@3W>LM6Jks~TAbY1r0Yt`t0uk_& z1p$TwDPMnuzmgEIL(U_yoS7p#?)TV+eWYv2K+WVx8~vHA2nggHYZ|a|=n%RWxj)^w zeh_eh-3bldUOP1aeM$Z3w)UHNsMjf~v)-pKBko6d=EOCHT8r*WRygo&tqb}e?CSoj z^$Cjhges^ew^M(qX77852G;4EUwgfldM~^<8F(Xtt?P-X@^y=P zn)lMFZ1(Q!n?Ly9Vlg}YOt5_@vYMrsQ4`{)s$~h7Rqf$yo}(6v-L{IXz&GhP(`ZYu zta8QAwTi=nwYml^mHhKZjnz{_A-^Kn$DBj92n$@c z0Mm?dtdRSOU?tB>GRbkr3_eW|rYEQ5b~h=ObQdc=URy)avST^jMg~ZSc*f?M1zG*J zvc569xZ~}+casp^81%GR+ zefAY75G_{hKa@Dy9{DhlR(q(B;8y%~!P5i036|P@&Xe18XpSdtdLRPJcLk>QZoqA{ z5Ufg|w#cH#U|G|?>$}~}rY9F7EQw}8CGRz#;YbDI_jAe}-xY7oG-v%sezt1!;k9Tl zOnf7HQx8+{h#{Lpvq7T#;=jF;`$(b;j22uK-Z{rtvoAFBK}KE<$=vMt3?`_S9@{IV zXAw+NaiVh}FQ?{?CLXXJgKMDb!EIZwJAXvAGJbnZiZ>uIFd2DYyp%44-tK+wjmZ#9 z<+&t}T;}sHKNP5r;GQF#GLN2Vd2>nqN4DNfL(v(UvT>DDJySv)^+c|RmIVX zF!!zA`b`$;u{LGY1q><4*(66!*QJxrRTe}Iq*Bp|YSMo2<-3Mukk2qv`FMH1u@CLt zfUDSo8iC+!B7r5s%T`vAzYQg+zpuswuSN(S*>u_>tb&daHSB!WGymeW$vOq*I)iMET ztyW)jLVcDB&Y0C$vC4%<-z?4HEk|DQ1B6*uZvAD2v2Pk^`xc0Bs9xHc>Ou@u2K|mB zhJWh&{Wzd?bH#yGRFE}K)b)3Wjhfc7QAIlW?3i5C{LLp8WT)8fP&s6R3s5NY$fj;T z@8@6Zt3N6jO7aAMJ=`sprhVc9%j&%->15s8Pzi)HqWJ5Tc}COaMDWC3OZ&y2>>NNi zz4ODq;a}kqQyKp`Jpz={(5R0%sl%;+|EzdT+r6nIg!!X5nbS(3Jk@Bfs=dF<%#wBl zN3OQ-Y^0XSt<(fNmXnY*0&dv&yEYML(oQYZ?lS|7auagSiq!6_MiZB(lwmFH_^s{% zktuKc!SVq!p!$v@<_x{1iK3||cHVaZ87lGbFVYv2WC2;WLcCGmEW;I%dT??H#2x&I zWq6|eXiYd|-|e!H4itaIPq?kEbIl6WgYRn%P3?;owND?nK?$J7BD?lpSyL|uooS8Q zxSnK;v#W95`3$GkHb26dD#2v89~0%PaeiaSeFQU#^y#^U4U*Qn5#)0@Q-%Q7a`Nz0 zM`T4bh0~mCk(W}td>?zcpHH1fR8EQZ(7y!kPfHi>w>uZ)?=_BViR?KmKzX+h=k}h5 z0Cf-tBANw1Mcrc@K8-ijJ;EEXp51y8-YYgNQ=`mK=m!=Esd&lDz7xg7nYeU^<^u`< za*5T5{RyyDjay3q^Uhf3Je<(uz%+YdYs{t>5y;BO(3kGf*!9@>CyzMb;TPyI@RGh?~!l|Bp^-t>S$H@3C!cKivvz4t0Dv5x!~x6Z16&>twX zl9TwHO1kmjOKfbD?u0eWy=}6}|Iw*p{T(^N+2XlQ`N8gc#Ff#?cHroP#co?$tvc%! zN0icW<@G+PTig|@{F=U~*_e=TRd>34aeC8f|QM+^?63*SQKzQD?hTpTC<;tf{!6KMG2;D3&+2U$m4|fdFia=ObBny1wid}_Q$MO! z419l1dt2VqH!Q6lVL${09Wm5eLVB8wZFFB`vyV?u`dp@y)%s@Q zili_uxv$8Gc*^B$f7}3lnwZm^mRS8*)91s|=yPh8#>H92Cpm7p49X5M<_vGfLIFEg z1TT}j8`YyT9a;feE_#P~zH&>NUZoL!dzTb(n*@~9-^dptd zQtYQFDdFmG1VPWjOER&_yFc$fnNGJ4q+_&CuAex_1m&(C7#i+fh~P9xrw=4vN3&>+ zp(N*(wlh=KjR<=T<>{~M>Es{bh9Du4I*EpC1%qt9N8+-yVPN&UOpG|I7ae&Rt z#}`;8Y;M_0qjXAW4jZxySNv<^*pM|1sz+_o?zr7kdW0r{qHk zwjbP?vi3hpqE56N@29XWC9Hbj@D}#2(4>ty)XZ!w|ne;s; zX)JsLM2BZ3jf+e1+JK0%X^2cUh8IkAvG-n?%L8#lsF7* z@tHNwF~f+v0O@_ak}+hs_S{sS_Q+dvE3JJ=l&l^>T0V`g)z|KiGGu=!vTwEi#Gl&KSc20H_W}XU?K> zg^>T-f-i_v+V}TwZT!XF`s6jR80~SjC7JOCm`l)gyzqIOBD|76#3RC)s_Bx=jmAHX zY;$#W)@+GA+*57R;kpV``6UyA%6-z_2av6R>wDXH9T$mArVH2w2P;rawWWav#-!vGthBwIU!ASf zm#;R+ExAjBG0D)a-b!Is5y7px{;JP+Cm9#pe#iE9cAq(Aa$BY=yUSVpfAIS+!WX(3 z2^KmfoLgFD80}~_RY@D4sM!7XBSd8){1q0wciQrJP}p?VzsO4cNf}}pv5|=7NL|7I z8@y&0>|Ju^Qa;fzJig#Vl~=J-1DS`ZKbsQ>39XZKY3C8+G)F}j_&S6P^b8a5A$o>< ztm$xJ5(yjbo^MuQIq*hN)D}kYw*-N&r}84}E8k$bo)7Jm@&si;HX&zL~|&k$82sDt}v zUA@EUtk?h3NTlA|pt#}O?NFh{`kky8-DHo<$*kze)IVPl zUgnCj*NdOSAW(>yxYricCw5C@cE8hamOah^Za&wY`e(-jiGH0!IWRnlu;o8qDLJ=-=&Ry*RliVrLAbE32a0yTz?|tjA4f*}a_WjqNC59n0_O8Bl#cH))#0mkB}z zM3J*DzYUlz&%*!I|wZMK$|WsW=vxrTyy6wsQ(1 zSc-3N4Sa^i*_DuV(OE|`N7kc%&Xx0u%Y0dsR9dh|x;56j29|or-$kprB8FtD#_E?Z z7ZM#)`rFQf6ADFh3`phg5H@vWT`lNw3XrSiU@oX1dGDjUh2}KvOW7|Ao0fw7XddDV zrq01=9@l}Z&lGayr6L?)rY(AZEOLQpB)IMHxUV`7?RaqU>W|grL|h!^o~ggqa(BO= zkxwl@O=5}5bVN-Pgr9a&f1OIWU4(LvqQ5U?$2AM@Y#8COfEH=+CFXmW ztWaiev)mcN{d8T@j6G=+y0ll}^^_W1_bnRrS?;Go z;%?t1vcbT6;2{op;7x)JW?nd-sdzL#a{KjzarH>o91wd?IWT{;$54^x{L^>|n~<2U zrAHpKW1Nr$ZoP?1wX3@!d))46Zxr}A)O&dKsk{2tH_LK*by(xB^OUfNGyrf(I#n9P zy0_Y8b^zqoa?uk#bR)@0)%dsHb(9FD7e=1~9Z!_VA?^?2Wzf92xY2xJRwPV z(J4FBGPVqrrhO}EPh9Mn>Q3qmVtx0Dxa?wBRyXBDy^T5g^1o;zcqaV4p;)s5J_=)A z&*U_W%9fIUv_I?YE`kbJXU;?*w?0YbJU=Xs{t%ZqyXu1lyBGWdSC>sjG$v}zK1+0wYDipq2%wpI;yz$>Ze?9U(m zNCW;Of=;SM@=Ui?m^bKo+}0V~8Hze`H%0gJCJ*q8M!hyW-i~-&?FvD0T7#;wtd8o_i=#>C-J%ySof0W?hmuTx79OZ@Ny{4A;J=@W zR`HJfW&_6X7f?v|fJ~>{)>nPvFT!_Nx8(J#661NLv~LR&RKE42NxWN4h_$3Fv-5B<%}V$TY20TWs?NUXGy zs#OU|ujaUWvT=R1Yn7NxP|q4z9dV8L$iVq+Ww?v0F!Gv(VuU1X{MWM&9rX&di}Xc6 zvJ^zK=u{Y@reoz`)a zBc0?m2$(BKM>_lr`d3?;baok>_Q(rlE{OpF5ZrC$wUxWL1H*7SbU1 z(vrkyzsD7%JE{USD_9fT-T~<$!%6xZ>Lj@{gCiYUc)E?AwM;xmDC7IE(~EJcX)l@T zeyKV|`PR0JWDA+V-S(9j`gOx5Yf+EDfM54~9Lo25#=*CKKz*k#Pjn%_OOCd`mJweo zGK*PZ&a(TW#kA2@Yf9%TVV9%ZIZNCZ6%~;bP6|Kkm9ME#rb5ZOXEw@Fv^FpXTSftVOsBR7%bs9(Q^NV`>!Hkiw!dtL1&ZBr@RNh z#`I1#X+cx{9sl7Z8VdW~akS3#H6Wd6gbusn20Ren9dBUkqHPvjayHiMVcu(bhi&d+ z@r_yzi(bq##HMid@55e0Uy~hrzlDtD3>a<=%UIzQ`IEDQ=Sv_U`j;~PJqa-ib_xE78iiX60vBKO}cnPhi zLR|m(^@vRmad%t)zTa{eCDJ2A!0M~VeIv&7S4v2y9$>(P{ptV0X8ZoM{5fcW{kcc} zl!sYfbs{8^_zjWX?2}(Dw-sB$P8ExB*2u%=l{dob_E}50E%qJD-9zBC_^#RytIMO7 zEq|oJYv1)h{yeN8xlt#tY>mhS9``pYjHMCE=KDt3tt)SVGALGN8N`l_!&}=w(N zuf!UslRq`I>20Jcya}hQ7fEU=h0@A%G3bQZJva5r_n9HWw9z4KDDjmYV&f=XR5Fl_ z9o`l9~zSOUa- z$IBStu+&i|`SW!P$&MDE@D6THBw=KSGeqnlBPUDI&h~7r{y=474LA9uRIa}OpL2f@lkF=d zJ=#k(lj(2*k9_lr7`Xt5`IN(6OeZME6nTYQmJFoxjZ$3+)#YBSf6to1#AnXJH>6K^ z7o8CWi`nZnmF$x*9Z1Os2Dr_ph%hmI7%*hx1XyK{yMm{r_Q*L${tvmW@*XlrqEmtN zGG~ZJPxVsyy>LGQoCJtC+lnfbKTOBA5RhS(ZRcc=ltIg zV60x1C1Ra$2hNnBUHRj9wYBB2ufDMX7Evm3zY2!i83&O;=Xkpp>vo8|{QuDU?bf*i2oz&ffB&T8_8IAkB zYW&IeA|f$?0c3%gs5ym6Z)E0Zmpo5qx?GKrKjMW4+7z)v`Jl|OK-$lBQ#4C(jvVBU zo*1HzlI*1|yUel^B-qgqcE;Mb9qS%-xbcVY8bU*g`}R`Oq1XZe?Q8NVk1sL4|H^UW zj@IW5%uMei_7ueqKBIwu;8%ZreP~zBSbpL~fu98y=k`%;nTLhuN>0E$-WbqQDRg)V zBo(4+XOD1q0$POKE!j}Ep0647pQ}yop0AWv2AgfUiMZIv#y0z)n8^G*P=<^Yb22-* z{mwR)H)9w7yTe@$_bp)4p%PHNiTipuMqKN?le|gw;9GgwXE(D_%e|LtyV9dr-?VXkLA+-CotIA)8s|>vC(ak3^5~gjGvf`E zF%A^qZ+^2Z`ilfghr)vQM0mh>Olf#%@Wx_q8N|*02UHk(tsqv553*>98oMa3>3h7P zrs_X-XNp~TUHf2E*uE|sM}u<>g}>m!W;fV0j;AJxc9%4U@U?_q@e!89;hRs))_-yt zYNhi$bE&h>>bN3L+2C@XR*yPib3EVfBrQH&*#`MCG-#C0bQPEXLu1OW{CMo5=)n3g zu}zO2HPKnyxpkz_l?lr0V22Q+D9-bbUaHN5oR2Y=;<%ULQn_yME$p&W}omL zFFxwuv)o^iwzAq41Zd(j3`v*pZH^u0`-SR0(tVbg<*r21o1yiN$fC#);oTm5c!P+0 z;Qh?(4;`z6X%U>@MU4fdr3~uJ*EJDu97>$px49k!IWR~BtvMxmx!>su2fIKNG<_~g zhK0S$Asl_L+s99Yik8^||=bFy{$n5zzh^F3*0 zw4h*0x0UG5`UwCZzz|I&Nd!J=W&wdszJ}y~`7+D$DOwSeLAra(N78Ab0BF%ErSoPc_A=zDKG-z$>32zm;DY+N8X zaPEhiWR4zcaQu*A0DS5cs%^MZjBS<{$G70Jv9Xy>OO5bX1IcNk9{@+x21WWK2ynna){t3YcK3eZMLi8R? zj4Qxii5TRxdm{6Kv1fTa#=_4xL~-&JQaf2p1n%fw-L1YvAU-fR=$tedWD*s@B& zEO)1~YKrdiT@*&c%wCwnN)!gv@7P~q>GmYDR$HBFP78hJ!Pw@I;;4?yrOUFzDln0iN?fUL zHRQiZ>TkIZlV5e^Jxgk=2jx%TKI}UDn@r_QEI58BV+mb+A@CH^ zN@QX6PNz6tMF>OKr?}UG!HVy|CC`P$Z_{eQb|vyu8rq^s7;nU1sZ8Q|3{?64q1avl zlX3ibtChlzg-z+Ez+Aqns2Ijj3&my*i?HhT?~1iZH7tbjq9)5Wn&=1(HPhLH9S4YzsBH$_@Ovwi8#T)Uf>e~oH^eL3mpsWbc{ z#{6ZK_jty~n?H<8d%=W(7j*XWm6Muehf~l1i)^d?+$*341Y66|;zTL!=NF_9s1xkan^*M$hc6@7nK|4Y=9&V^^GFRbok zJPFbE20L$9GkkwU9{#E7;~4>B4m;32lm2x+=*#adH0TW-gPk=il)M3+9O4{2TEA9Z z4n%%eICt!%3_zgb%O^=*g<2%N)t`G#tFD;pt{w z0L56Cyr~Ir;nCGvgzgDnGCZu9k1Ex@U!x&C{Qqb=7k8!`|NnR2Dix7rlhcZ#au~Xu znaZjACX$@bn<#TW=CDc1WDZFo$0A9N!<;oC!&$tgkK$BtYx%=jJ==rjNOr} z<|MR>0Wt&C0H7Qy!?kt%luWQnOAy-9HJ+at7fq8SsO`kbrsKxbWoY^k-Fm& zGA=bN-%b=Up+5ahugR<^n1?5DS#^S?+Dcj&j|dE+1fs z-ipiZ#JgOghTc^dt(*xtV0uRTe7Q?9ex+3gw|-kIoo!-2544CnUyljrX9X1%q%41G zeciamaCJ!l4;db5-ZKxFo1KY?{vC5_^Vb6fzQwseuFKaG@F|L|4c3H@Wh(%pC;5bd z%#A0Tw9DJz*XX%m&)>KFqzgmoB8+p8=Vv{@$Af zid=8qk6eAA!SIOA$8<8leO=2&o$X^=iomAiG9={sE>EKiU~J^-H`l;kOY`wDj!20X zvH}w$NrOMiah#@B^XA3%ox~gF=+6shV6W6tL&)DKV&Bicw5-@YANRE7?TFs$wnbH_ z!J1%(L6ztJHw%-2u0+OFUigCQ4wG2@o-9AazaY5lnM^k*CP1*4^LCVmewWy~A=s39gn| zhE!ii-}~+TueoO{a+CU%NHX>%ywB6BKwOd2Bs)}Z1ce(<@=(!^F{MnSeLOLtvdOM| zPujdacYA48bQR^Ai*CXtjo+Vk$zNI)e?9osi7gv9>+*>g?}EX(tZ%0=KjMG(Nr8R` zg^qw-Fr&g#O|IB4PTY>&=Lm$#J9*VgfiF(!6{-7vdTwf{p4CwqQ~z$C#qTK1-hQk` zaxdDs%=0&Ycv(dKHr`ZFyiB9MVI8qXAVw4$#IL70^phyJwxe1yg&0nJi&|U&!}pW^@TYN0x8YssT(8Ym_}4w5b=yI>YRGNCK;18SRy~Chobdybp5x zHVneKML3YO5dNMXV1-4j8RP@44b9jTc z>VxtWhvSaPUF)5&RQLBV8M)(CPpg|t4FuJ2$`|)$4*Q*!WeMp6+wiKeo_kAqhV7HX zMV0ikB-^5WeO5otqkqxM)Z~7OJ{fprkXMn@C^S7Vku~IP>0`;b7L(Ag)p7SHBG~j~ z5zrc=U64>fbXZfIrG4l10o7p#4OF85N_t&_{612)Jb^NSM${e*&guJg$SbLz4lnb- zVXMB$KcKc#H*L1c#BZp-mE?k7TfGXJt^K`DL}hPpKjhgMWttE0o7YMA=XO4rtyNW9*S*me=LzI$n1# z@3$#tHc0O}UPU}2 zy*~9}P&a>swqelHnk{n4wz56-BtA0AJ$B>4o$Ycp-L*#*1TV>*H@{G+ocYfd-Ez_q zwOcyjRVyQpr${lW6M}xr_fGs z?l8!X+@<}Y)bOtCfZG|bn1rtS>7+S;+WRE#DnYS+;wH+_R?Dglt%OO505~`YC8mC6* zKlo3ht~PFeCp7288OeH9Xj0zPc5njHo^FVfmr|0_oODfp*%mZ%zTt`cTbGYmS&co( zZH<)n-*##uURxdIO3-kPooOra(2`}ghk5z`c0SSW(K{`(ZJR6XwG%(}-LR=#4A>SY7`E&sPm^a81Yrw%8+lZ+f6;+b-Ol8ikA3T?Uippf0dD! z_`zIU+$56D&8l`Nf);C5gl~ZK0$B8KLOQVB$$hjve>HQUi0e&PZ{+e_@T^inkR)B| zc^0TK;8(NHN+|o~fUQ{y`merH;7^wN^x!e?WV$`1moSitRQsMvUIE1TF84`%tpLy@ zW%(Puc_td2b_?+k00?B)zw}_Et9pU{z25G%XrhdMG?9gF>>-e~-C!#84v-{ns)Q(7 zDGKFye?7T6T^KAtRaDY{IDoCd?%VKQJHJRQ3JLjZu+Q{}RDjwKJ&+7+@YdjRs>n3k@2W3k50I>cM$kSejK0^ielX z7f`?tOotpaI{o;L2TNhx0xvQg%{(?tkx@^CP$YxfM>ee-%9psUi>6MJ+oQ4KIr2b7 zfa`R$s88KEzoM*Oxoi0xls(p*$*m4|l>ZLd9{(#|?Fyq~P_Hw--^IN<-U7=fcNEem zca(sG@CRPFNt4Lxrv8erc$v&(TZN)g2;N;``nT;_{ILimr@c< zZ`f_&@cEeHEy8hU^8CwX5SCpfMETLpO4CAm24`>)7Mgb`*I(x$oZsNK=MS zura+WHL~w<*A^umyDz*{|hv;H5i`0@G9ksp@IIErCyQ!aw(-Ca#AZx^4FJH+?HgV zL&AV)hUmsc=B>5_qv)?Ubv2dIr$_IVY#AKq$<+Uxik{ggIYswcMjhXBR8U?~a5)^S zWQWwz15>7XSYTDu*YLf5WB?H86$A^crxICl+Sy>pp#zt0aXltvg)XPxOx(U7`mD_< zf2y$7b82J`g%hPW>=IS}^ZfJH6w+TRVyvv9rEj~0yQMhpq;fTQ>Y85E1>V?3YtyOv+x)5RV88o!~k z)oJYyYZ_+%59Uu`|6ke*a>O2TCL5OMMZkdeO`MxIBDk?tc*>-VS{_hC7t2ub-ox9zU2G=%I8A| zlT`A;{38UFBVwYybe)OdVFF-}Y%>+}(1eh2EL!_5B_*Y4ZPf{KN1Q}U zQwzwrVeWp1FbszcnQ9tEh>pi)3WL#>;Sz|aYx0FtEl)KB2_$X=T~F zfvvoG({wy8wD`|{q~@F2U|TYf`nBk(`?pVCXL~V?lTn;?iZo<}-mM?a8m|p~f&bjP z$r6_?dNCRRjher)f)6%o)nUX^s*mVX$hzN_>G(Kbmuc@W0wK}L;XCNqX@~E94h%wSQ_zR> z0w#9MVRMPQ$l3>(4GC@SdiJ&Iz!zZRl@Th{YjS}cq&|6OUHqSj#;RXAw&?x7J`_+i zd`HL2pQ{03o}7i=9U~e7?yD#yEv{axnZN#ep3)D%pZrwz4cRm#?f6!m`xqWaV;*LiH)ke=>2Fw3fbdand@hCK5zRI_fO zndpNYcuf`72khm<9S3}a7 z(EBFZ*ZAmOw3%Y9sfMbtP6N=fv7$-KCxt(6jbg7XP#|FcboGhl+NYC^eFaMV!6fT; zVC8xuPcOx^nYmSCmZ>ni@7wB-GPJDPWRp7|cing=Is1}o zBoqr6H&j^6(dU+-5}Wi4b^t|mJD0)j0VNsD#2o4Ju9khw&Popsq%AM`eEoS7nAGKYC6uD2_!ucNttF@0?h@pwo^e_Z7cWdU^NTkJsUvWeFI7T2Ad zDjofQhNAx!YOK$l4%18{VA2$yKbNj3oOE(f7kJ*eBA?v{a(qa*`KLP&kkEg}4afu9 zoH~YOJ9^_WAB&8z!&)xS-66&fK}qI$<7EYYSEO>IeR~(J^|ia#$DfyL<&24G{-S;H z6L{{xp(f^MKQvH`e}o`^4c@ZXh^$U-d#kfwu)io*b#%}URHKqMk~5Wu2s?t7gq};bdVgKPve^0o0TTTq`L7D|rY!@}Gtz?8?|`_(%;~ z9z}nRBd?~9)@HD{-j(zxXu0?MbE6Fc?%x)8;*r>YfW2aXlwOW`2>kVb+K$NAKsBa8|>ju^cWT3{LpVgngT_QOs zFq~?`i>^>pR{C8bqHsWZz)x*^D5~SQo~sv_(VzuuWYwU=&(!X|*3#~gkPL(RgFpDN zznM}9I(||G$5G&|a=nWwV%-EI+sc6LjgKs)`C6x5iWVq@xheyn)E=Fhu27SJg}=f+ zyDkt()>R0%T^`B;iT<`>5x#@8o)=mChV&bwb^ZiNPt*v-X>BFs={K@oXhq%8^_db3 z3N-GaB<8j4GUsTcT)Uv2{^GAk{k*KhzZ}6Y9HM$M`RSK`p zW1qE4{_T0I)RsMJf2x|VK<~c}TVaMi+(WEv0U z&+-zp&PwbO2&Bl-z}~1|+Fzo-o{rgG2a>l}q9W2|oFnPv%sY|$jr7v z+5@*PuZ_R#spmALP!?uNI5e}L$exoXY;^K!;rQ86I|agEyqWV{CQ$OQ*NH?cn!Rcw z=d)ER@>{jIC6Iw{Z^paLBGpopxLAILll6C7dzq9BFv(&_f@&fGtp}A~)%w~JMo9B#Y=ve2+1>GjliZmz7oOweQv6Gn1azFD9d>-Z06A*a$U~%cK zLL1b?V_UfpSfK}~5~UC;Y$5j#7os0e*%H^&`*>ek#4}FI&Cn*DOBDe-*P|FgH_cXAoCSitaVIXa$}x|tWY=VW@=8{IAg>)5>erS8 zV+7E0{9U_=&Oy=ckUGjs+ltYfN`4H^>IdpMM3v(lB!()#F%kIi4?@=jH9M*h6i zih>C~$GtDM6^OPrc)IArdi2Q--4HE9mz05pH9BMzWIIIdU3_m4l#U`ZHvYOK6_n*A zL0`qktF(pK#=!hiT#)yJT9M}{^#cooBISefHhnD9Ft(`|qSSQn9zvUkLlQ6jc=J{z zlJtZ@@Q5BEaA=FUOFTKk1-oU4<0YaE=JQT^h9rkf^x*@{yPN+3(>6raTrPS$MYAl_ zdccxerIt;f{Rgv>_bJs_)Y#-9pQ&pbb!s^5=k*h)MhA)8kmC}WPTOSqc(Vcf3 zG=n&+p{M2jSk+DoH#?trhisK8s-pV4a-4f#=w0dCQ&az9r8NPDzz zOar%-yq2Td{;Bt~!56Rq9IU=3FyX#9)tcFgET36g9CGL}NpfLHJZ(3@o@LXKUypPnmd3Nwh4U%_r;PDD*O7i$NmJ#$RB!t`AoBGrB#X;sNMEa zE_BrYFICdP@!3QlZ4Drc7#ay*3hJ3B% zS}R#IFX$yjs$<4?6(!`-Z=?8?*G$k56x8}5RPKjNIF6NHeMm|ItG%G)-{57CvhNwX z&U9I%3h0J?X(SNB)o$n?ui6iMJ6r8NOqu0WqZvROUlySwX6r|6iHIYn_M?GI-fHix z6ZjGt84TIZ%Y!7aWON#RoMS^qEJfkWi>hd$5p`V*UMAs<1(Q>Nb_m}xjlHRk^%+ynh-v^ygq=L0) zGjg|B+~}8ZjplRP={{2$-ZQj!{mB|eZ2%at_er$6cJAsZpS%RdbJXQ4l1z58TVL(i zh7ts$nrX?aUn9J1eJkRg>Y#e-w#Vzx6H)=JUFF$6iNf?4Tp&|-E%DcgTIIghvc~gM7e$q%Yf^rv_9-lOBZbqak zf9H*#K?g@==}L;y2+P#}j0+T9=WCD@pckZ$=rfd?XywW`3VA*!z;!5wEK=-C`l>Xm z1NV61aS<@lL+fI(y|kz>V!jOP4J(&Z6PW9qhe(PmGl z(?PVZ;T*xIW-2Vy*5xpH=}x>Q^Bc{&pmN$=U$itfIRSw8w1K0(#|AxKeR&;Myy-0| zT2Hzl;E1V_*}0bu3e>I^c$P)z6;wKDhH{2`wC(@S0;-})G5*8*=Fi*4J+dg_be8`V74U9bcRU=p z82&N6EDqGv5t!fA8dYo;NKPJb&&-dxH79-5_NHpNzr`20-DJ?abd1FJCahdZT-VtW zP*i6x5_TH+L>xU6_W}F5L~S;D$^Yys^PG%VABvln+TLZ2Ts3*9Kp+Ypv7E8wEH19i zvXz+@s6F@IF+R>eS*Bk3-0Zkc&ZtuR-Ih=*IhFX*6xzoM*MVy08y%l|@4LK}p;*7W z1LFWcI3@d1;F5+bk&u|2F7k)=VpQzo;$3~M^Cs|@ctSuXNnk1689P+37ftjxpK?iS z!Pfjq-W!RXK6rH05%_uh>)w6ep4?sxl*pyOqmfLZ9NjVz zT~P;Q4mjpOQxCbj8Joq$iR#Ssy%p@B(BsfEIHA<29^Nnx@*7 zpdZ7riwS-%4+unCZlviU!e?{aSd(yzGcW1`&J;dA<016M_6kAH!eY4YjHe9twa1xU zNxzQF)t6OOznoR89jeFS!(usT8N}}J;G-4~NO?lc0`wL!=%akWdRXvfZFDhMDl5UI zhL*@2A2xP!iX=J&2aIJVTZlN9ufA~R=dd5bD%9c#QjWHfG>e~{SKW`6Ml*O!J~KP# z)_heGmhqs&O{Q-Knm-;;nJIi^l0EAh91!&?V(uj{zt!zxln?`E^OTSviG*yNR!MZs zTiJPYO+!UycmJ*a=QwWy93r_9~aAIml8Tp-E4;jx}*8ZO!g>F zYhFj&P-7RV&6UZa0JcaDLRue57!zAckJ;KOoe>4PZvAL83MjkBuCDM)Zb-KDZTc|Z zFFRs^t2-S3z&I^jme)+yUpjx%wF0Qeh4tvdCpgxwI0r{VLEAE}UFJRZ3Vz8lIZ^Mt zo>bl$Vl3Y z=92y=6lvsZyA?5XIOB7fNL&+*2lew6FkZAzUUExICxpHntz)I!n@gZ-n^4O&>@ll- zqgA<2W4GNWEgtSt@%Are{1)X-($1MPD~5RAz%grh^!93*mXkX43fFd4Jhx;fbmLpS z$iJ>>Q~Vqck+Huo%9AH^Oaji$RIf;DvwP|Za?3Z{HTTA=jOONwgQL;rEdhiA3l;Jr z)LTi*ap7I)<2M@;Ht9YLUnvu%V{cO;!(S!z#s8V#x=w7kr|ho4bxilhCf_sv&7CLm z^=6ginkhdPhREn_i!3@+Ug@Z_Czh!Lr%F6fX-Jt5eoYu^-$l?>|J?Td$vt@c9;Q9x zZMExX^r83+bEC7%qz0@w{`xj80i(h#T6SLf31{1u9*5R)ZwC{f*&!BC8Qu!6Hz_lmvEC)~b2IGEW|7jk z+3$n-R=u+Y{5Bw{gK&MD1hAIj2Og0J;M{=15k3NFw8ip=ri8PFCVu=DQqc4k?)N>W z)@-8f?3BhX?(FtlhLToHk2Y6iumb?monn-~&(5SSt>H&17HJamnA$coFNqhh^$$9#fs%^6qxrCQ?8;JlTw zMSX~ihWnyp&4J1FO!|ZIkJ6?EU>I+|?HqFASiC-9j$P#C-*bDtty;UEP8hFkdudru-0nvM0a~&s zLT1E*%e5rf);G(TM(Ef?%?$87W4z@lbk|$)v02D_zvUr<%kPHFy%u=sn(`z8*3Q0}7a+7v{a zZCf>8Tw+AXPvWkb7~_9w%!*p`1VLUSardKO8+f&p8q=y!Yk80p$1+CH(ZjXWmp$xN zlG=ISG|JJpXY6<-_V&2ORM0Rgm2e!z4{T`~6py0&j9BqOlGCyRK1mTy#T`;VB{NKU z#nT%y(KB{=E3Zdy6KR*E5LaxXx-~}E+sYGoh$O>}WQuq4IA$4`yP5kJa%O<$=;VMz z6fF)0%0YfulmA4h)(Z&qG%7lVjQ*8eD=T+ky3HL8V5FIW2|uKtEc4~D>eqqMGMw%0TN3C}#bbSp@t>~Fhc zTz|MRr!k^gvQ z9-efA`KsOWSbF_)ucExc7s2gO&)G| zJi)9$$(|Xq+xASWi*#@8>Qwu72xXVlHy8fc{o6~qlSlO0_Wh*(ru+NWkK1)`Ae)u= z7vEHyaB_SO-wD|lbau%q0b_Am$o{2FaMK&$(D#)~u+VSrpL6oHzZuW}o>IVJAOcfj zr5f??1h|8kX43qJZaI7SC$;!{7QQ`L(iukF+Gt-22$$K*ws(9ug}dph#4%mR-v_P5 z)w}eN#hQ{ZVt6mKH{mLHf%Sq+u#`-EH{Iw@a^MNt`UZCKMP#iziZ483^@Y^n*(f>i zw61;BeKWM2#>NA?VVX=R4TQIYuYvuRU${p4?9#uDWrjzc3X4L=fQjQ$Hfne(o>bF) zDg~#Rm>jdK|OEqR=WGu6ZHU*Ak(vbjri3dgI4v zmybju?Su7^&$jd52+n1gcmrGVo44;q9pM{E&Jex``kRZk>Dg71;-zF&;Fm!s63}fH zjwGi(-U8@6o@`p;zuNj%?|=T_tJEp&+3KwgtLu8AP-vg67NbL7%cpt#p1fa8h+Ed$ zW#jG>?&hNDlO(=yO;zmy$*Zw?&B1L`=bv;?@FNuv#e`zXU3VO2o zixc85Ql@TPVHC_12cj~PaC&ZMBR^!xgg=3W{&8xsf!?ktR>@%{?mNxn0;^d|9_IJP zUiFKK0xjw=YchyKTMMP};?_E!8b_Lx!TJiSNt6n`@RR-^upT__4qrGyj`)h)UYfz% zJB6&lb&duV-b40TZ&g$$S|e-ZA)Lk4d~DoHA%1v5|ErePvE!rIu*S(BPml~4P~Z%& zar1Vfh3mRQpeEno1wEMdxDjHbw|c|sV0#SJP7;%q49|yr=5ftw%@pzQ9TQCPzjI(` z`O{;6biy_mf~Bk4N|Nhcpf_iKYVhLwa&JCX;AMAUrKl?}Vj1o!1>Pm8b3bIdx6^PD zY^;|9qrz&Z+^%al@*~Z(vdTE8icA^4uJ4ib`*(Ntfsn(APRD>xr-UL1!^Fii#UB)1 zxK-(CNDJfAWroO4Xx$};M#XydmPt*CRFUXpVd?j2*`LuM@(wEpc}70-r| zKz^KJrBW<6Np@5{EC&>Kh5EZ(TGAXC*LH( zAW_t1OgEcR~y0W5~ZmYyZvXXU!Z6 z{`FW`zgzJxy2#qi$U5r_RFSC4&+&bbL^k3qy06q4lz@HA6(k#>q#-$T{S-Q5;aXdG z8E81w!hu~8*3_C^h8$R(`XQ;iJ`(n$=c_?xGVWfLACWXRSFi5#8rXWMmIC~zfbOJ9 z>&~z2Bk=rfjHK+@^tHwiR(D3pOcURn?k|~wjRKy$vj!LI`vzV1N@6%Ad~tr@M@ZLX z0R@$(r!RwLXaAWakmxN{rZu-p@CWFv(Wdu25_S1W5b zz50%)?Kcn+n7#uJ9AMHnxbH#1rXOlxuYMO(&wMF`!=y6%h&NY(nWBjVO`MTCz0|+J zF+Ad(xK@<*Ql_H0Tw8H;ro5!6L)0zb!Axfc-8Pe@lr*nm5#N=4_98$0WuN?rZDvSP zpo%SiepJp;)`UQgOv48X^l3>dDtP#~roU?0Gh5#zlvs4z-`Js&%W~R!Gh8+EW@%pt z0ZDVaAHG_fG?T>C^_Cw<5n?IQxUYJialbm<7Aiw`D6OEnT1pWCv0S@bpx8bhrw|VYREWAa?i{>$ zf!Hh8+*aW_T)^%7^s7-^PB1R_UEK>yg3hZXbH0kl6uYeTc>v#4SezxK7fWQ0z7&$- z*59>X`$&p0G!?}Cy1!%%vp|I*eyg%N80=C*P52ae_F8mB1X*3-vtvrHZ)A;9F||{+ zAw@|Rtn4C6ZZea27{jKdo^Nx~T0E%C;u%H1h%5s~FMep=*S@PP`LKQcs2Ge`jeI4& zVBmw~|BmA8D$%RoY(4&J;E^HGH4~*zxD04Kj2CkTo|%OPscfYtQPhn&<9s=pCW6-L zE~13h&R->1WjR~5y5*JkUUG-HB}*A?>bL-R5;2ZO@uUlQOP!QtKwlV9m((Mswcp@J z{8Lg%Jbfq9<#c+d2Z2Z5#fpfh>Vv0>eamG@S1;;nFA|Jpkqay&&^W(QIH2rYT{%k*w@w2ryyJ*+qGsuEYunw_@>|_2&CaJ6E(9=YK5ANc4mC zSx$me^gd#Kb>{cD6w!fKz!v;Ql=gP-w)^I+i;Zb8asR8oXvkE%4`s{BjOggE*yhs} zw_A-PxJ_#Vtb*CkO!EZ}pz=~z00=sb0O)W}?Q)c_94z!Nm`1ISw?;&r7jH3epXBji zU2hUgXOxo0+xLhR&?Kl1;Th7rmh zi=4Y&9w>en)Bi+XVM@3GSxWvo=~1$hmg? zY#O2GV|-PH0RKKwncXRQAK8|KSaY0hK5Y0)&-Bz= z${phV-boAHo)aq_GjluorxIQY6pWXV7pZS#{y<3$7Q3nzoF^2E5iPQ=vKk8E2aTzfq znMhF1tmz@PK+k>&a{c=5Nq%ZBEM+UnQ~l2#0zQ7jtRd3^;$AO%7qRk9WBCD)M{+Cj z(hsalBeS?KzRhM`?>+_+vp&#UrS>uPR~Vpw;oV1SU2o?H)SKGm9NQcvZ)`>!=kdTR z5ggmwUSK=Q&MnkCY0-E{I}0XnizD10^iFHd>PPd5=M<%WFYw*E2sY7)AB{6nlH$Uw zdVih*VJKUq-?!g_wqBX8)4qgpXl_IAhN$+r8#_TJ^H!kx&0px`RMtg%EP9tfdt2b+ zSQPzeLQ@i^p3}mdZwP+YkCmEN1a1L>Sy)P9;DRR{w3J>ouTJH$wbk@_9nstt-Q>C} zS2Bf0x1i4QhXb`}TCWJM{2K_B-D8uy{j^W63fCMV-z$)sC6!x9tCjx8XA7Ii(KA_{9Eg57G*D=#c!@%RG8&~}qN2DH&y3_8x!Dzk-dcmr$sWS= zi5UqA2BqBpA(F@>Jb$y?0vI;(=)0CnoFbXH8xEv*!{rO+jeSG7Jc+Y)lKkR0RD9;S zoLLQ9T#cL{9(@;RJX^@l;KOeQjbC1D35_cwa=!*upA|0^q!_GU?f>g7+Mk+_<=X_i_Yih zw!DErot!VtwG=)x{))5+Gm?fRwTDA|!0*FWmNU-08KVsCYS$lg?*y`=#)K9d@0 zT4C!0TTPMhOtYMQ?vBA{zMGDPC`BTgUNg>uB@tWPs#29_+c{v71m*R`soJ&>8TIOF z+|$XuYZ9Mk_LU`~S);FL__)*!;PP`YZsTkdUAPuql;`N}QyE$>w^&&jZ37Pc)Mw8B zKhPDwHHxJe#UTB?1v}crXGlpv5_y&yLY-qAl4`Dkc~v=-1bp-S;5h`@M+PRycKL@~ z51B`m3}r~#Yk$eUIHj?@3RQV1sLiQP8h>WK{M7*iL~E(&^v#znAHw|qgvV4@JeoRO zj?-tcf|$3dNoA6Io8&7uXDO(EyCv!~f>5UgI}E7=`$~r^ep?;!|ANHv9Yi1P7U=y6 zk~Du{^HI7CaESynngJ6AtB$B0mBLV{x-DHdt zGnP3Cq!NfTOF7y7*EK!E2AsMv`|eR?ME}I#mUX`SrO-R`^ApV@C8MS(&0jLh(dCe1 z$BwrDHN5?hXa3v|=7Ua~HqPP*-wWO!Eq`!PtF_ie^TqyPtxvS17An!4)fII6g&VBk||=4T5G$qQdTOO zJm(-6l~|cw^G-jHZa^>MT8f;blrJkvsw5bdE4y7aS?}#Vr-Q==ScaZUZ9NElB>0vT z+lC4W9fk%6%&p>YMT@}>LU#X61#4klI~C*CDVHlELSOJ^<^hy4tk}bICIjSm{>(=} z_4g8%xZYnSAmU^NIFd9TDb6j{o^8^n16||s~BN3isa40qGOQaJNGGO`_kF-fU74 zXDxlVX`M@JT3+WpfC^h+M&6mi|3bHl{YDlU0MgRu=-0XRK~BE#@5uU@;h?i?RF^^I z!J4aUd$r=0`g2}WqsOrq%vxSP{Kqh5tyTwkD<(pvh*$;`Fz@bs((ABKCRWGx5>TsR zweaA};ulbH3XP(>_dqUzZ@7+7tP#;vFx$1Q8q4jLsFqJ&6R%?|&Kr`1a%5^LOG`Ug zCk3f%xL!K1TSZ$dWpoQl!V_OE{I!_LL0G*5X9YMZlWzG&ii$Ey{uFoSRyCz%Uf*Tq zf=)NSmDB}0vKIcApIR%f@Xv6=gxbFqbONHVYg0H@(9zuwnOe>Bg@06q_>S)S(Lej= z>$R`%|E&!u@)t#SNSqluTsbe|4;Bp=|G;M=k$}q`OKq#~Yepp1(M2qdXkRD4HZfQK zx~-vutIpm1&oiIDh_mseInXY70Dn&2nEfxHtX-|XMBDL{aU=U}s+d~@h0muPJ&l0f z@HgZ}jI|j5dZtu_KJmX|!pZYj4P7wc4;pjO2o&|ou}Ip5J8#H?92Q|Sb1$!#klrc! zD0sp&tCPzj)=UQlis1?@&ZP3nrb$XK7rb(pugK|K0o2d+au_j7kW2WVXC05Hh$;C& z(5F!ZsrqdD;JwC!d%PkV{d8k&@9K+Gw@bl2jgi$IIo*?Tf~N4Z?#05D2Mg2ayw=8F z9Upkxwb=BHN}BnH5<1f{ltZE@ydGuaT(6idqo6H+X3Q3RFZ}5 zZr@iNsgm^>e&5~OTU483>VZa$fNivUHy=a{mm2q4lGWRJjJn;o3x6A(bSDjTwW-s)$>aE|>X~bRRruXzC5T{}{#8r^w&D#a}WXcXy4w89H2mFY* z&+#Pny$4D|R-srco(tUA&)1LjZG@_bWmB_t-K?*2@p9@atBgFZ0@C_0%X|-`KGN;8 z$;#}aL`#UEomS_9Qf(@kQO{hmc1-ly<|d{;#lFvE;jnHwNh!MHPcYs>tv(yWE{P*> zDVc~4{8CRU#F&sRXej&B)p>=)i8}QWpb-yr&Fo&%1+x%ZdSAVe@ZvH?5 z4B#gm^(b17bmOJEgP@UR(977~0sOW6`2ndlnD+cc&6EFW+qe%V;7Mj+!>|Q!yiR%c zdn zJ9-59+_p(EcQzDcNjbgbwj{ijj;`?s+AE+}e>9Y02x?Sb3O^HH$kY9i_WGZ0btsx{ zKW(Rw;KP2KH+HhpXqAp(Wc}f+0(nx#$|4Y$1rK@+OGy|dDD{4Jc0{a2SNACwP&9UD zBFlU?WV~GO4)rBb<6hfzXir&=%GcinX@S{(_Q_6A9&_U@-_*|wEhrEId{=qh@u^Fg zgd2t}o0NzDef38iAyrF~CUs-pe`pH4trzkOCU^!M${l#oF@fK`;Qsu5x=l~No`}ZI zP2le-(1rBhXN}(~Fp~;c>XAwTY6SZXpkpQVxJf>lwIQM?y2Nf_aTTWJR)^rgEtD)a zeq)8fW(8q{Nz?N-@(hQh@?u>Zs`yQ;N#qLyYqY{Bjd?h8j z#siR0GhtPrJ{~MPeMxsh>{6Ac7Ks_|>{C{Sixj~Z-X$4)!}mSEc7|fVtB&N0=Z=0}sQRT~ z%sKm@w~+59s)%NGY+Q?Gvrls?!^jn$(zdVs9#zd3+ZxwlQ=muHFW>A`_&wR<6f!YA zzdHLeJ*80++RB;g9)BfKYLY4YUfbTad6DFlPkz~%I;~Rf-T8CL3h^u3YB?Gon$UW# zDQhL{wOa>^PAJLL)BlfIk?X(K(|Wu!MD!rs91^Sjn#zt}xIFjwvPIIiJHtzoDH)*M z79DB%HV4DYrvvt>ru0-C)lKNXS!w@x9vpPJzTwxLQnZ%#&3Ozew}^DS)B@KfFkz6O zC&>yrS7jIZ>{XhJ;9uN=ZTVmpNad0pF{=Xb-pjGgMiz{#W)rFS(UE(CMb!IG9n89$ z{RYPFuDkz04d;LE*6(+5BEZi^uBv>7Bg#N}c5@&06N`iKwpiIXA#@4R#5OwoND1lCk62E*LfL;SJS~vz3YL4FKa42B2_9eZGuEscehGKmWnB-O6Y*0+xe7`?wd%;Vc6J|ayDnSsl+gc zP!2gIMLEy;I5}+2XJZaE#+FmXHp^!8+voTFZ~t%ay|3%_dOjZyD@x6vz01I`!S}ZF zOektsv+7aQ^uMx`SA8{}?2|jYB(Ikv%KQw^=_e-QIE+Fd#~cO|i}K2?$haFu$T#>( zm4otlHBKmve=>?Vkch7W`9gHg_VZuAqWs&7wg54Y+v-w5MwV3@K+tPz3g{b7^gl@f6xsw>*# z2NOC%I@)=;Hmc9L6ms)b=4X{{6?w1se9l8=Ht>3;p)lwwZ0puzm&9SFoD7Z$SF-Xt zDw#i+lNbFpB6aUJ8T(GQzw5o9-)`zhWFqbR{Vfjzo?*TNL7-@7rnJ?8l%!;!<2D89 z*`$4$)<lv@_V-kXfVte(kqSq3_XX#@D~_nJ3eo?n z!rfJ*HlFR^+E79X=R;HYyDc;S>Rh+2c@u{NRNT6J!B1kWYrSC{Br?l4_;j??YNL6A zAY>nL?Xh?6s5|Rb{T5;}qO$~4vQBJh@3B5uyr9Xkeynsr^xpNBUU~Y5NrJregPxl& zAr)#ovzH>>+FU=BF5=?uEJM!4g@^d}*t!f~JSZ*P?Rmbm?PoQ3G(Ki%_N9-=cgb@( z(e@|(y-sht$;6MhiPs;EQ*NKW3AHeHDxmP&mdz49wB*1L(pPU zMgbYnhh1ngxDX1j;PRWp{R!#Hxy0&vZ`SOZT#IPlor3)K<(&KI{mT~%-0B(_muxYJ zTS3&oAv^s!hUsisYTMLkUd6*38tj^l@IpMY^pJ4<|KRr=nTeu8{u_&3B)h-rX>eIz zV(xpW}jl(;hiEekzmhK$R<gYjYic^ z{xXxrJzt{Pd<$B<c(AYqHd3V2}a z(I8cw0g>W1CyMvmnF(VeJ+pu63#}9+3lH%;jmLBRSD(<7LOwJQe52kLrRSZ0^|_?w z<>!1JgA@UjtV|{~A}5xh`l`Fh**4Bv$4yaWUGqquIaTwK9rJHFal; z`3~9RbZi-mjoPJR-tG&Hk7?z>=(0lG-nb4G4xbO3xNGioH>sWg2gI3sMTG+Dwch^n z-cnTX(6rpG9umW3*?1Y7yR5Bb$}AujF*2~|fkVE*PXNArW88{)Ha;K?;}?=p0Qmh< zcTeGjij72z#S?H-bqIXWS@cL?|0xE~yFxvZNlAg~!^PHgD<%pC9G;v0O*975)_jH27$nQ6`3g&_s^@*kN0lQpQ?Z5nUrit)+ zp&cUhN~X*z_hqv!SJHpg*WbUs}R|vQg6Wtq|tkJWw0SvLUcJd}12ds71LXk!9zQI;z&?F$X zwoo>+qn&h~DJQs{m8rE!y|65(VuZY)lRcRRM``liPjrfQ>$>qzWE!>%<@e1oCZ`>z zUFS`E1z;Z2EJYK!{p45ua`W{5ei;AQ1>P>BXf1i~S2h4b*MD>u;{5WF(Ew{7P8uI< z6qMh7>~o{uT_=6c^xU%dBJjq0V7eRMB@$(rn=lh7B4cHAT1b++4~{_R|6#qI|8E`NH} ze%1bL#mT}8CyWJu-MX@l&>i&mTr+i_?OcdyOue_f*`*&}F5wh(R^gm*vl4SM=1lDQ zu}2=YA@>rc(=>zB#8Wb?;F>;_)Gu)(>wH`r%lbs<535VvoHF@n$Gn+_9Wf7#&E4}G zda9moqfM4>=OV{GMYm|H9t***W!r`n3>_lfO^NY1t_TTq47s&p#RjL02k* zcOF0^h{(0ye~;H%VlBQM~v~o5zBUI+oMtSxJf_ zSSy?zKu6qz?7uU4#+LKhx~55YFx9|d$40MZOASizax0U~-+g5#3{%9^s=dAbTXpJ{ z{Di*H+?~alVo%+7jYA*4R8{wp{AMdIkeHi zdM#ibs*97e$Q5sAD{{-1cPWV#W)9RTwz1hJm1J+v7}=oKi4gwna9D>QoYHH#qV&2_ zyz_-mxh9K6@G1}f_Vp?{xJyt6{^v|WWS{lv)eE}oBj3Kd?IYt-jg%PFW%ESjMkbR8 zm&ufL)G5u`tI7Nw)HMSX3K1bmG=vdi2q$Y%_kK2^gGnCu5Cq53e?$#5~m_6B5XZxM#{qIbXG@^1`?z#D@{z zmw>fYX$sdVJ#K*O?_ZiqpcHCQy01$Kesk0OE^i7Qp}YLEPWA6LCT^~}qR6UcZzM{? zHC0rHI+~Wk`x#ZnoB-|prim6-b;SsaAaJI^I_5y5#QHNS0mKa=|2}l}G0J{AVSTRL>fM*)Gb|#j{lktrpPjjmHTR~yV9`$68$~hJ zp6A?+;QwkyRFi1E8A&+9*#SvV#@o+A1@3Ed+h4w0d}DlZ4C^_+3Zv|u+(4$1=UILFw&9COots# z^=}Sy;wt*Pi_g3y#DC~}v`emV1s_R3#)__CY6A-Ao^05DO^qu2>HGZAAMEz$lKd8Q z$k9~_hu^Tn)=k}ed2>elA82ch~_M*!wU&4&{Z^~aC#Z#AK?`wV$A1XF`ZK9 z${F^0M&GMqA>zE|<6M~@R==K-H%W8{HvasdMot+YguNr(r2@~)Gj!UNC$>>;FpI3B z)=ivwPo$lFbgCapayloqzF)j4o}M1xneuP@Gj985bm$4(GNlQ6G(#||{qPvhNVQES z4d$U3s^dwpFApM!L@VvVJf)W|?57Vu74^RC0nC|}3J;v^&jTo58}T&3c=Jt=a{KIP z;C%g4kOSOsDE?u-yLT(H44dJ*cU7~2zh$52rgbh0Hbk)ho{@6eemc91_|~>PaLRJq z6j8&bnnAvCE|mz*pg$dz===xj8`KlZ#rE}J6AIbR0*J%bE^1C2R#ok$w;Rdi($Q~E zIUl?2lIq+E9EQQ^>0cW_koa3TyG;3{c_dsMrlBl>O&R$zk&8~1-}qxT%?mp*4h?4D%5xN zwMBh$|2Ex3Fj?cSV2FdqR~9MXNX<;qcc)WS7*|9^o?;4_4=>&(+}|W5?kc4q-QZ!X z{8=!s_q$lX+hofHF$d#o|J*;UZaPZNHLToiB2>v*DWg6_0aL4tu+JtiXOwRv)Q14) zqy <9l4=le#?Av_^IEvBg_FBuBo_?i^BOle*nDwL?}CmX~u;-~YWmv5`1Tib^F zO$<@d?)i|+WD7FwRti1>w^K3sKfUk9sQcK(P_mj66Oz2Ccp#;)yl!Lw#qT}uR`-rrTE21Xd6)c$8^+HrJ1R9sX)IdtsMv$}`yo*Iy5f z{O>21HT1aytT)efM`F#AdhRKCuf7i4uK8iULl7Nb28d7l;iVeT)WF9iWh3NILt2^N za9^R9oM58`P=!>0GPO!{Bzr;%JMLpW*JXmXhXd=R>&V%x(`nI&taA zTF>lMN)q7(_vvAy3LmwpG&mghvbQoT6_=HdV$XW#}N zLDQRg?zSa_XS3}-Bh~h)soQL=Ah&8Y7fMMQw3z?p?idAprum0R{zxt3fY966nW&E| z&`UcYFzMFa#R#>){;^*%qXJ`;gY6m4{zTc_TOfAdOyTH3xdoz$>(Z5#n?L9@g1m_4 z$kpBk11y#IRfZs!+h21M3Zx?ApH<0F#Ts>AU2I;eCal2X3D-c|V$u8>Uw!Osv`EI_ z1Ab0nk1XXZ!3C4=$ny8R&x;P=EY64PD`xZ?eDoIqIKFFXRjEriWSJT#XU3<9!2$zkPU$)b6+~S zo+Tnd1o;kRm-pxx@W%9a3#Uy7WvoUvx`u71Eo-Q0QkiIgM zt2)1|nCc_7l)g3y^hpHo@(QUccrxhEUaelA0epY2-~p@Rd6dRanq{);ico=(*9CK2 zA?#Yg$YIZc&G zI=?kDF5l?IuRY~25 zd&9Gfv-!#cA~-nQt^N)r#x>Oq&K0>B(%B$7^+o7-I8ZG&$>yYHPsU`$k0_-5^4lWvGVF6=o2dcD~>;cKp}U)M&=ZAzo3 z$Z;r-*&Vw8B6dA7+FlA(E5F*|V9B=;l!^G477ga+WvU0T5Nk)uh46xBrBOh=NF(sO z?#4_#uYr{MjE=b`XMRjiI1n+RmFsor@{^nT6Lg@krwi!VXi_x#HAtE7eTSJ6tpUL;p2NwxmitrbMngvGjUlY5DwJ~~ z7@_X^*LD=)V@$wg}Rx%r*JsADRH>= z`Sm~SlLomz7^j_d9{i?nbf4;QaAP{6N*guCiU%_)Bf5gERw*=WId^QFqEToPJC&Y` zLX+k8Gu3$Yw`dX;E+Dr49+<*-a zZ@}*2zZ8to2NBp==$^Axf2vOCsXuYKD$uR;!E9@|&yZ1pzgj7vq!nA)(J%@b?mDd} z%yo)%uCOaE!0+~alocN+J~%BM;`ybRY_ogkfD<=>Dc6XGSLN&x`Hj_l`v0H2&^!Fn zoXu9RZ>0G#&ozdDV@yvt1UQ}DyopOnOLrs8{Cr{R-XFSDt>*M#$Q=vqAhSeKSS&#i zl=&jOhI(na?BsW#LH}lh zdTdbyteg#L8)Z0hy=nypyC5VJxx3kO1zqqT?Qrx$<5R=&nyL}>ho_J>6pU}hZjjmJ z$DLA>!*>zE+mhWQc1kYi-MI{TO!hB##ETg6;GnZti6P9vF_Pj?CiA0xGrhjiu98iE zB{5~1>!2Sb`t^z0z3?&7sDpYUJ!jckhWPW0L!P`&nHYrw$IiO(IZ-7NWoCQl#9h=T zOx7PK_59VnF#X(Fij-w(&@-jq%;7Pee(c`PX=UE*$c5oLuTx;p-0*MxTn24qJ&EI1fX6d^D%;AWF9m|ajEk-l(QQAH z5t&V)L%1c2a@DqfvNNMWf4$;$*<;z-9k6FkZSE4Ovrtl_p#kOR+TKH9I5R6z`jRE!;E=3#;?SuZq=X?nCf&d<6=C3;3cjlJ1zy);0u zn~AlzVVhltJX$q83}zq7rUw0qV%HY5|3n9(krt!p#f0`@dRIAIdpUkkmqC5k3b*u_ zx#NxeUqqsV_Cr)GLXXcf?wI#6I2vJ4Bp#?$mT*y0|}9MM^Rz-_Uy>azAli zdvnzjr_-dIuhZhb8L3lyh&c=@7e6hjXrftWBHBrdPK0ci=Q)pNl|Iy=3B55<->32! zdTzk)+%H^~f3RHl5>;N8Qz=%GyL&||1l+_`o!q(Fr{$vZ@5=ivpY-nXX>`;O;j&+* zFkf^_do(2L@&FM2<#{J@FfH?FrX)(2ZL9ID=+{Z(=4BOAi7UfG}qPC1|h1H%tr+^(CM8Xk<-Flo;nf0zRaa|=2r z=aDAsbxZLNA*YH;bRX`%YKYjdMbihciAj4O^a#!eLyZk!_LWE-cR!_{KTS2#Lib{l zofpSqYz_E42LdiL4{7m&M7B~%EbuQY`s07eM1R51tsvex+=Gk z(SW7PvUVvNkLI%s7Dhy!D#$ddKn*hDUo(zPHxZ=hnmcO{(T+9+~Tk8fd$Q*-6;(eDSb9ydEE6`Mj~D?_|PMv>ySCM zuUpu9=iSe~D#wBO%}I*op7&3-f9j)vrhdnlpC5caRB{FLa;Ob2Ww^g)ZN%PPPJuQ- zl23K;YIpc|3;R1B2gd^8~R45$l&Qr*AH7XlCIq)tXJ#iS24 zq6`nU{6$JodB1F14jxbKXf_n)lh+!IR?0Mq-mcizw=jORSIESOpGq<?Huu)VVK&j(GmhPqVx2yQknS65{HkKx9~63RN*sq3mI> zTLBc+!h5}(oXT|o)U3zySxE=TPP@^~vNKSaiZ6p#RPQ)X?Ogfp+*1YqTy(xAwC%&V zZDA39Nv5*IwS?I{a`M8}Il6Jup zir7TvAzSE1B~VTuSFcEZ3ldj8r}7P1S->rm{g}eQ^%T!7EEG)aE&-y#>Q9?X$2IY_ z^y9i@%?C%GUhIodC4W%9DHxlp#9Q$PKNGJWo`6*wYnpJ8aRhCYV0-sX!6E{vfZ9Lp zpud^3anX3BfaiQ#GbB@Re`{LNb0}GbB4fCf=$5TT2ORZ=xA1`TX#v5mjfR;GA}m$) z*z1B0Dnhue{ze?QAvuUZyU!S`6j9LA1aB-NE@qZxUf7&hae%Zq>u>ET7|VvwG7-dN z5q%9t|CCk$k?K=H5a=GvlAv9|%jkOZDkWXe*l{6QDKyQea)07{m$Awn2Z;J+c!YmM z9KSj9c1tcF{W@;ZHG*39QxxjIUgVu<-w?s&ITq1bPQ8eJ1y7`XYvOcNPo{JI9bt0V z@~6k_7Yk*QE+53R4(8-`9vI=M3)Ng(@Cb5oLehyXC<$NYHsvqDKDU&^6Lh$0FerSk~)(cl*((9 zFsJX1H-xO6-+<$bh-&k3?cBK={wVlLcOf91+Hk-s^EjaO76YE4AKl6|+ zj#yutD%)L?$c!e}G2#Y3XGjmxdyJER>`!NoP&b%4N&EzaGm^fk$o%@ur& z-#hFz_;S^6@j`$4kt`~!O*otICClJACy=CNEmzp%R0LdN3+KKpt7TbzstJf^n@ zZek&i{CctGHl!enP-DNR^}bV4*o-m9dlCRHz_)($JrnZZjVyjs&k6qn0Yc2B)(TFm=KKd5>Y4ss}E^XNa89+ z4zdjf>uz5M#XU#i=*2HL*E3OQtU$N0Ua7T=;+c}SSOLvMMzQ%fL(%1*vbc{Hm1t7h z$x;c=xuB&{% z!O8m|#CW2YH8dXcXp?cHVa>ZzCGM+my*Cc$Ja++%u6de%F$ctNhYd56I9{GM=+5^*N6(a%|2t_`8QRP|)1Z+Sa=4@Z)Zb1J;a8$qd9^;GD>}B>Az8i+_ zW9Z~YH~v6&WVN(DYv}?gp8buV7fsnv{}HO!S1nZ1K8s&Nyi8f#c~&~@-gmH^j?$QD zxUHD##({HHYmNJdFecOZevCxV+0GW9k(j!D4v2v^3dm;{jUQ5<-+bc zc@0)^&&o=|EdhS$PxTkgNr&t}H;5JT&TNMQNN{)1rdi~~+hFs~LdoO?UEI9$4#`P! zQmhuEOo6crJ28LbS30)E0aS~VyBff3d)tjt=(jj)2Hk(}-5eaHX10|uDJ7{MAT}TG zlkbcqof!8T-m$^CP8lZ6c8y^u+$Y^PNqn?@C8`VJi=aVeU{@ZiGYLY9QJiO3IfSKk z|et zA5(e!aGB%9a*y61Qy|b`6cPwb&xCfST=Jw(4=)tzZIiYBvh#)wr z=kmc;h#cRUTT^>maokHJ8AmP)Z-zIqTqi74>>{RLiAV+9rfxD+DbK48Wd3q{sMT?E zz3R~(?vt}Y)9#}Ux5p_uJa1m+y<^3gg-kr_)HJt!L`z3l z-MxKYaJ{QhT>gxZRD_!+wnTrmh#2-gfLWiFx7*VLWv)oXN>uMmPMk^6csR;V$uL|$ zxMJi5r+o6-8|RS0eS=a?4n%MwSW->lOsksYUN2;W-==t81W76>7(7SK+|g1 zVhhZl72c&9gu54HUR#*`!wv2evDG~&n>+1TAX_iqp(KsCD_nBteYAV^ExmA{dpXCR@9t$&Lpo_bt}dP_N4YrZqT>gs@TZ8e-lcWQLW%|y zxlP#XzkaFIjDGg!#=FfI52bvt-F6#eV~xgSiN-r8yhmQN@;A_-r`F^oUnOZO<(%w> z3y!vBBihjpd0@hl+Ion!Lu4y(QNtxo$VY+S=>HRrB zAv@@hY4AnvY(vRvfvJj2;IL%lQFpyc&CNwc zbAHbSTux{Gp6GGktoOtwih9?qY=q9V7*1eDJ=nw_Aa`$M0tu*V_jfnLZ?;Y2eW&>O*iW$yOHgk2Nn`u2=T@S8@R z$gk+MS~Vl~=k~kyn@+Y4eND^FuY&Si?wM_iHVxt^Oe4c#g6ZqXMg@AIO`7&!z|C-zu8Vx~JG|z;X++44U=b z=+VxtnnbPN@L?c7=jYkzI-Wc~CT3ymU7m0TQ{K?`* z7e9aImm8Kx&Oo;k`#JK8LLTrb#iHJ-ot@*dPB(OajPo)9vi>y3r2hUM+1dceo~+`k z>s~*kwz22lKK4uzOYQxnzGHLhM*3PwiTor`$jFJ0GOyO3zhQ94hK;~rx+WPGGQ~Iz z61~g;8=$igRQE|!_6L@2r&g^&!6uSvkCLOf6#!vfqQq^+j-;Rd=6m-mUj=Q@2{UAT z9c42-@@^s_1`O1^BgJ+u$J28aHT}Eq2{w^>1Z6c@)ef_A-S=)B zt_>6o37C9dQeQQMJ<`Ba8(`Pjm+&qGoVBRKjcbfREb#8gK#&KzJX`^6-1sC&DWj{- zpDUJ(Hl3l4Jys zA)+4$>qJ&xEHdxS%Fh5D4EIL^0Dt8aoXnQ32=83I&w9pi-BMqo6*lq8Zhw zkW++P3clQ9u@)FU_;*b?{h=Zo{6TEFLG2R15m)t4U`jW>Ul6c;uJQY3%;r3hJ^mAr znChjepF)D`g1xaUvOx;&qB?B%!ysf)sy8;-%qBO$>nZNIZ}`k?tDf> zB@H{=Sr3@_sA#7w{n}8vg|)gBo#5o8k1{EzLG#(K+v(-=TF6g8RMs4|i?98(#^?G( zh&E>}Vjn7(om8>j`xtD@n!1BTT-2Jb!V|YhCSI1l5QAB|$@Qo@HmpMV0P(&NRbQkC z(FkDYK|#&a(bn#i$&Ug#P-kbDvVFi5Axo$E5{NZ`ll^+wS4T-tZr;i(1Gl;E@V znmQNw&2A<{UxOX_{A8G7CX#42 zWJkHB_1H_)>5jKRoeoP{Mba7Sm8+tZLo&%cnWvdX_+<;hw&Soz1`kdCPFuPEtUF3_ zP~Uk-6AHuW>_}_w!nQ$Y-I|;FxuWLboy_}RN(SpGk&Ltp3MlQ(soOH%D{lFD;+i_A z1(1Q%(_Vp+p_=agvu>Dzys$phE&fUZ6+uMAniqrY8;&*T^oS&9S^+K8Tlmu6wk!_u zmEX>9_{A*9bX!*VF+1ok9Tu5r{4VB-4IKmSzyXmcFo0WETckGAuH zg0QKyGL%P+U{hEfTlYP%flLl+sCcg14Ub+LixJRDgw_3Cy;w6m+@|AI4CT>C2T$51 z{qABPLj3uFEehtZz4T;*@%(FmgOxZ@M>2SsF`S9lQ8xVCHYgUd_dvOS7Je`sZhR%y zyL-BqN(P@5s>~oLMOliE+k8h|eRxBc*8lj2+hjMZD|+dG1&HE#MoXQVH+-$+>-7}0 z8mX3+ZYUcx5M9L>@W_=S}IC%Zi4dQyS zJeFl0Tb~Q!FFB!}g~>q)A9qFDRLpnYT^B@LR)7ZvCD^n&iwws+P26=t1+MdPf@&pR zNo~203M#bA3#XmE9#a<_j$dJLpyx8TP* z)R%BltZX3<A>ykM46{I4@54-0e~kK?PPA zNGJ9Y;Lg6A)K6J5rv9sSx3373J^%BC&Yf9VFCkW7Bh4w?Y+&f#KQD}d+u6!r^IJWa znatduzq^wmQw$T576hQ93=~3(;a`>d^c9jD&SJHjEZZK3DoE`i9vadz!Q=rw}2-- zR}IU5$sdx*q23Ujm&lju-*I_>Hy)TCe4BZODPqT$&dUMAh&yH1_0g|5?y6GYfXrHl z-G7P&Eqr$0WBR15;2U1azFy~3gWVkEKu+s&8J?@=t>nSXsMO;Y`#eWsFC3^8S$f1- zLPa;SM*>-4S%vcWJ6d9F1G*D~(om!l<8i!t@Ouk_W0b#LP@Id3lQqq1UHK$F_u zosO(JB(tQ7256|Im^2I4hKFpGVY2d$Gu12?&UcF2JeFhffeA{S1Vv}_mRH`}k2J=XzV4>u%`KPnfqddjViU3R{>zEv4u2h(x~OX`@S+ z>i}ip@cPXD2{*~c4A_@c9R_c6;l6|e)R6sgm+9rRQq0#GdY$Z!CtO9NIDHpgLbMC8 z&sqIe;oIF}CI@=8L4-Ae_iw{yiOnMs(>QQv0`24^(o4Y*Uv97QPC&4DhbD+qOWElz z1pQInrD0u~tJP9^B++|w{CXi;r_L{(U(@zXcOg1WLg#hGD z8<#UCO3YP2+pR_kIR;Rqw>RmppJ;(w^z!Yi#p^_XH$2SqLrTJRXi(W1eTO)i(^Y;$ zyl$EOErPpI{CHE-Yz&sqt?Bg(KJYUwk(iLj_W6fjz{OkmsG@>zdMY%sc4%;yfvZSV z#1`p8WRmdblKSe9t-_XIE z7Cg@{)7r=$Md4ijf8;J9DRXh`(Ox^>_-(NEe-Vp6)338GJN*OyAkp-95C6*auldsT zFrg{=`Nu;U!slv_n;6|zd9nXCtAY?~R?>jIso&4P1Lw$ZGE6u`&6`Ho0$-7N^>4E3*>B!k&qBCO;jVom&iY8+S`ttC`VMyd4JnnNO|7c)E{hX`!~R zJ;u9^@h8W)9sha&=XQ13;AuVYWM5{rT)55*Kcy_fWJQjN)k^hOHvxNdZ@f=hNzT>z zKHwPbWw1lL1|Y+x2J);Uh%gmFGI1JWusid%D7r4FTwu>zt$?>PoG572yxVi%m-pZo zVYncC+ijl;eqW$Gci>XTgx#WfRvPql1ZbH2wAB!kZQi$$UUNlhjOz-(id#3Hv=5wI zn*<7;ldAE2_7ToMM9MX!|Q2}mnub1TW%!g9EI(t?>S^@`6faOuO_osf?1=Qg;U$zHnDU*&!x-DlxLiaOFc=1NRPKn&Ijge?Yj>zfM{}G657bc380{${=47KN@kTjJb2YC z+Uf&{2yyMY#UaLZ?AY+5gx0{+-(8P>>|)%KHgRn6wE1lD>`|JDb$-xPy*6ipVUsjm z#P3#}!}%f;Qcq66A|w@sQBh5eJGg_2vWQFd1h+0%P$+r_TOY9sXA-Z3?`zMx)Ny|} zqPD+?3yq{WkUv%J&He)9{2G}WuuvhKw7^5Y%<7s4v1ZRt!Uejecu4VR!{kj##Mumu zJD{)YPrRjjR-=!H;~Ycz<+8|o!fYW=BV78K7X;akC5cdWsoZ>=aE^6JQz$?@G=hJK zVYgEDe_s3W_w}ro@}&+w$tOyx6QWl?cp0A+a#BSIeU32}#ET!@Upe8Y*1y{LnKPB* zHm|L6Dl;B`Hv#N=8LyJ;@&%^#Sn^!0;&lLy;aE=RZofajech-f$n^oJ`2sx9JQD+ zuN)cYOq?#irqg*gaOc^tns0NsPUOUOh5ADHKIzMnn4a_D!I)7a7YUj5O_$p+_t6a5 zo@tA03^wePv(jUYHNs7$O*njt>lt9Ua`;B^8Nd9jBxGdvlW%V`z?#W2G#$XuSPVCjC@ALPLSUE zRs91}F}1_z0l5yAuv(EHYBjJ4fbD!%WxM$ZUZadobnEs;mF1zHM%Dalugs6;Ywp1) z`a`pR-ZP4&k1NiN7(xkY%AS7)?)vB%t-y*D=?9OlN_n}9beH@}ekS@jIOb&IzWeaP zxnttl`wEprZRhO=H`H@Qkmy~LX(B3y!%V@feiqt;6@M2_NRkq1)|CCKOp4#U%(Mty z%RP(F`eBTd7=)I?t{J&YRodlNq(t-&H)#}BjpC(Pq=kbbKhU61@BLEaJqcD9y52))TCRq({6vvRljgFOU$ zkS~Le=-c^gv&QDI*#jv8|CzmKW_vd00|AFq5_SP#^EgG=Vx}U0dC(M2RMjWmk z%&-Ff72d#$Z@2g;)tBhR`;_JS>ic99IL-w^=Zwd8<^x*#^d+;9F&Oe#FUM9AlU8Xl zW$}7vYm6B`+d<#-Lw>FuJlh%SPwMU-m*0fy=%{*ok)8vBCoum~8t-N$XJO0m-M{3? zOX;mroF0UjkPEwdI6Yo4wJe9n*S&f6&j%9MO(-qwTeDhEdD|xTn+NuPWj6ZFPhpkw zJj*~C>rN1EQ@y7T3H81I9y_kGEy0Y(TOV{uu3$EIB$A9!@Wj3$H+}`1@Kod|eH7ox zv6s`B1QwAeo+`Wc`OKVQ(=Dtmy=w?RKJpZoOL&Xi3(GX&pTt{&{BbgqI{h9AGZpL< zFGGDryPr{MV|)qP)B+_;|4cOVO2lGCWY=9Gl|f9muM0Y@5Eh{e8hZG&fMkPvP!jEV zpQ?dRK-PD~<^WAq{+TnC-?A8~!#gC*n0#%&0OY%>gLDP(#-Y=+&Z7-;URcMGIIA5K zm+&RC9-Uoe~bp~ zq>wZxv^!#;O0!`7JEW-lwv*4=SP9%<&`cz0m{1}2hn~KKZ17`zgjQb3V|1=c)%LCs ze63_VZ|+YK$r0G1Ffx^E<5AAnrI&(SL*34* zs#lKDuPaFk!J^mo7Q}CE_qqM!YrOd2LAkX^j>?1|q~qi>pA&#fe7N{<$$a6O>#O)O zWF1mvdp=f0MjPQ;F#NgOD0}c_vUVRUvhP(VRF=L}nmzZ(Ne1Fd&M}wyN2J(~v>UVh zw;e!}PTNRBjE9G>$zx=>o348IsuM5mRL17ojXN z%fE+@^VBAMa}Ea!fIOyeTL#^${}Kn?9}#v^E+<}rx^tRvX!3gda7K3VIGh6{!wePGJLUtUcXst%WtJfotSB1QVd>f zo;<+b9U7^-@trp7Al>!sszM8Qq-Z+ateWt}Xu@b&CDv0ZgCRtjbKO0VZvedc6w!Ib z+5sX{QG|0?>{2r)3hHkZirLrS;?ZS&hHL@>@7c-V8lXUS!0#)i3Z8FO-shZrZ*4C_ zn0cGd$7B^O$hi7_`-+czfx<8G8r$D=5O?Z_we05o`H$jm#^k}0lN54bv~7X#^&5dc z?{Um`@AXM3CWlY@3Y2(S(abkjqgu3nn?Hd@tbN=Q{Ljfv_d?oC)t%OJ*IwypqCKAZ z<|s%rMJ{<7pUu)=P;Sy}b-55$&Dqil@IG1~!Fk+hNl{>2>dc3#hiyvcm{hNI-=eb! zKM-SzCR?I8uru}!)iij173>!2@YB{6m&(l@w~Gx#6-N}{66gvH(V3PV7;p~raCoXj z_NfCjgzJ3|_k{M{jox_;>L8M(-=m-q!Fc9_;`}~EPpLu>Sp*9}rQgzO*Mj!2qZ}aV z;Gfv6)$AFJfb}MsPbcwnIkn$(t~evfS+yJ%s|dltnP6tB+Sf-+*sB6T0bkU_=U8pa z@L!JqMxicaSN|VL=N`{=`~UH~+g&P$RdOhYRf@`C=r)I#Bvv<(yK+8mN-;T~x2fC= zb4;1Dq9P2#oMK`&_w{-`pVet_@MR|t%RGvN z;^sUpSImGvfh>D5RVJYY#Hc}iw3RVwNd(k?EY8!4O_<@2G+d2;AeZiPqIF-#7$uGbaMzNyca>Jl1#cT=j{v@M1FRPb{Ng_mtmz=Hs-j_;#C3iu<% z6+K^j{t@}hq}8A!;q&0m(z}_LWKc0X)rKALgE` zwZq4c@q%S)1DMbx0piyBH|fsHqJtom$-?kuS7wzjCE?0%msb&Eh$(eg?`Q>-l-AJU zYJq}V_ZgJ87?c*7kMq+u+M)z_m$<|pNrmg0zu-1@?5)U?RW|gK@vgb}Buyiljy!^d zI+gyWNVj9&{X;UR7viiB1B=(leN}Tl9dh7DiYSp$1Z%2pZezgC+X2^n1@N$BB&*DK z+0lTF8}G3eDNu822E*>*`lSpt?Ie~f4}$uJFo&aENFy~ZG^Z`M9K)sDglUI*+iJjQ z^Zs)RxiS*tqD^K{_c#(UCN`}N6ZgC9(~Al8gPVKU@$V}ZH6}p`k{i~RoS^|+BkaEN z@9Z;=M;bMuuIQz<0zFdS)|c0TS`e;3Bv%oU-2WZ4^#0-fdDV5ORLt;qE$ZbK&c|p0 z-<{upGN}w6`F6h2QYNM-7&9)-ORZ^0a#!^K+tm>be*R;Y-e#X8&G;I<1W?*UufNk<$>`l{9#?FKNT zse1q$!bf6fioK2aN6D9-Q+!)W1GOcwq_92~9KDEh3~(~ATj}jw?>Mg$`3DiiDhwhs z$W7gch7@~rz%z1S%M2H=O7yq_qPI9RG4fpe;SbU_{vZYQ@9RXSwZG|n(6{Kr_eEX$ z*=b(mjVEpWy=k>}*d%laGP{0&l`5@hB%>~;^%uD*N0H2XF+PzxyIt4FxSG%C60g{F z2Yek+U_UA}%p~Qmcxr{d32*RAMWeelqPi6~WU(_XUQ?vismOB)#Stv*{b_+-FE5-| zdd4v#&olH>l*L8m5HB(`oG=RhC{%{*mEAn=0w*9)j@K`)())El`G0Lsh6rLPK-=x6!Q!Awx9Tn8W}s&N>HZG^mD+%&fZ5>Cn%R)VA>i))N^ z442>1SB3&~nAgf-;7(HH8F72wlfJc`a;#<^cMPNQI5(fi=`wTehj~cn@5j{KslZp} z>qhx=80Txgmt^*)dH*kOb71`Z!kgxclH+#n2yv}e-6dF|w@F&~ne{@`$Lu!t+wjcl zV7-QttEEZsle^ZheS>>99z{$^Z!;QI9?HJ;lsNc4>=?S)l9%ZB2hdBbBo;3M;@$xhjDZ3pyuvX5i)64QSSj| znVjJW2Xo>eQ-oY(MTgv+XZD@f9UpuOioGK2e?Ibx6Cd_3NS|s>$@E1L8r)=;L%(C+ zg+(5ftZcG_gM>Z0@=qu`+tD3VFiWou4e^~Ft?)$(B9uapQPAa9N7 zUf=IGHP`>9=3`3BROZ?vOUP{>TG5OqXSc!&bR@!$_HTiLUX%yyKSc#pV#hxik{o4z zVNm{j=QiN+05sBC1S(23+{4Cz^dhtH9~~eLMX)a=4j|XZB z5npb2Fiaf+gF0?^l8F7Qt&pjzPo$Ftdo>ga$$!)e0|A!R6Q5N0d&{O_qb>5tsWo=8 zSX_m6wN1daPD_=He&K?7ZdsCNtl_cr{fSIzX%u{8ab`-#vy#MLqGdEl-I2NCRd5vX z3Y=v#D>-bQh29jGUV=TJjG3J+AM}$C`U|kuBlI2Z;qGvQU*%M{zB80ytQz3=E>(8Z zcX;>xlUY_72(N?X-3f^LI#f7;h*#~m;GgwY0~D?3uI zb+1S!mW#Zc4cLCgdUrkwcOP&VPKf&yOr3YC$mTdbt#|GAx8i#G&lrgg)eM ziu~`DLjm4%!IB|Q4hDF12MAsgQf9q<6Km3hK`^LBaAS7*FChXvu>K>y4O ztpND?T>x|OMPu_qpZA};mx{G;v7e9~#=ea^8EMb>w)0B)3#Dj zx~d#90NG{Jq8@MuUHkusnot>1^D@0yGwakOZr+MOBQRr{9_r@ z;v>sU{N)iLe|+ByW1Z7D)s4kCK@4}C++3WRy9^F?=4>r}NjxUpw`Gg|Pzcm>5cQ9Y zbH4^nI^XF>xPP^jOMdT=ui6$Xp)=QRENgUCDAxtdEkB0XXnN9egTIXhs-nZ~0CPz0 ztN4);V$7!_G&^i}DsSoI^x1^IW=Jn{oDt+8>%*6MnC>?lC#^{Am`7~Jw~u59U2mee zL2}sO)}*qCoH+>_Tv(<9f6Q)5qusZnnfLM?(RN}t6C#TKF{oU>&F(J$K&)e;u64v( z?fz8(VJj3;w~hVDLkT9WPL%ea_H+Fg<+SWF1<63hmp$_H1%s++inQa#TaUdW1j`K$ z;qr_p0xlJ&xDNuZxsK)f2OkrOfm-$2Ar}PB9^Y5evf-JuTJ3+8!_%_@KjuPJA=~S$ z@RI?d>sF)o9vHU`A2FWU-ZNy0)6V&8%5_WbB&TX$P<)JY_)Zne(J(Ymw>q9R;Ts@n zbVjsELo;gW^cif70<1=#AL<{JY%R0*HO+O`!g3xTxOeVU`h*)e6ZMnOq}W8=N&KYQ zKa)Iqr0AOZ+93BsTD8AnP(b>c+&{6ryEaBwkLXffvR<7B=Ui(f7|=$r z=F)G3-9g|Wlp|B3aw7GU3E(ENaM)C-Q#@hI{}49DMLL@wOc*q#ACITV?N_ln7+kT; z2E+0s3fu7-ughGH`HCpL$hi`N{$cN^rMLE|ev2G5=}og%cSca>S?9E-&Yqk5T+&1k z1n{i*?o#G_ZXx3_W^2>AWefXBu8{V~*N`UoR_FAPwnU?SmM16TpAP)7+izbI-q!eIk$M_)ovhj0^h_DY7{NOS6;X*3QG+RX`(6=XB|f zEoS1;cf->^SfK-31Gk3@4!G#qtI71jtEumO#1Ef`awU^{l`h);5XVvc{8Vi)I;fd1 zTb~O1dW##ua?{RnW4gchBHU_d`ni5Q_O}z*zH{nz;$>EtE}^vxa5!hvSk#FC~QPfVJWO=G-BvL>5zgX^dFpTwrI ztpYvHNQM(@D;k8AjgL2Q#LMk9y_{LNC~;qq;Z(B@eqoMjw(I77tW?lgc>_DIBBdr8 zpuhbvJnoJNs0EQwq@OnA44loDutM!HQGUa=zO6+|6;%rCA602NxfAs{t{a!4yORNl zUEQ_1UL+~)*6p}lfG*=`x-a4E@Id~vt#|2iF@5T?-jms{Bf|~ivWM#qkVFM4t30Z< zfkN;|oSlWe^F|~!Ez^WpnwJ&VgyvU}QP!a51@c{M1%Wlp=n(NWAj&T6{(b=#?wt>?y8qNr29 z;HUK(5*LhTBEH2ebXKhMzH6TVC3l?M=p*f$4H&RBMy@bC#|<72XFnMTw_`Ahb8}3* zB@{_mb4OLyX!{W7q*8&5J=FU-tzX|Acw?j?bLXU@(x?M8IK<3a1~DQoZ41HTcSeRM z?16R~<5dgNZFmU7O*-GuIzOPJYJ75r%UTyoY0j>#1Y7c{6a4~`y0uCm>>aR(W88;s3X!A=i+G_FSB zGsiNdD_kgN3BK|grKWsVrR85WQ(PkLrb=sEd6Sw=Q&JCB9TC`|yUm znrO^Sk|J96EkrJ`DU&snv-Xuivy#xrZ+UKFv;R?~Le1FFKo9x}v*pSBLd>((sH5x9 zC)TFM$Lq28H?H4EDEcCEMGGa}QrL9aNt7St9Hda~ktv!lMGWg+QtnI>`_aA`KSSLt z{+rJgo@72hFWnR*_YL8mU0(u@MdO5w*z>0Ozk@nX7mO&yTkE|CLKrDgo9>Em{h-O$ zF0YywODYLTGe+(AL_qrL8g=ZwQ~UR=41@RcZM{1z5B5rho%iXl^Z8l#9dSj$b7b4) zE^>m!)E;j`BXSu57@RAxfIy6&x_1qo-QS)0P0F-z=52OjdBrML=vvO|yJ1u8h^e{* zIKbG!BHvQr3L+$K?>ig0|e3Hsg7n z+mMheUYn0v5?Ky99`dvdpm!%4WbSh?A|@yp5%hFd`nCjuo@{d4{A_mpjN4gnvYO=% zM>!h1IY2^occ(&1SGjIOHK1YTlqKwoWZtUAK?hE33KA5OtkDvbFw~GslPbeG6!ssR z_L5D@`RUlZv>5a7u7eIA_8+VF0(ha~L#I*rCgUnZW=W`3hE)p`{Mq8RTxL1{2`m25 zK7(!tRCgqe*SHS=41XEVq1rdyV@eI=mmtOlc%^0Oz7RALuL0S3 zw|o^xR0E>$K2T>snIVyd{n1g?7lSVljm2G@d6~6&O376^&Ac?~&G^FHs}KTeZw}bH zG`EC>a6Y*uG0W3rzC*TM#2o81{!hrH@47BbfTQ%^ zJz1W)^L*TR3;)OU$WE6Zjuz}%kCmJcOaGM>5l2^>TmFcyq~C7ULs>-a>h4pwtPd>n zG&;%`pt3`rp83BS#qiwecw5&prb|bJhP}BU*~x3mlUSzUFhC%6J4Gs%SdQk7lm|LG zA(tJ!m!C`vS}VQEqLH`E>EE@XGbU3J^wxe>Ugtel#rr zgnu*f<1Sq2WVlsAG&q;U^*tQ)@mH>2e1-~0`~lbP6I83*yfv@G17VVY-}G#}!=_Ju z1s|t!rm$FjNld7X(C@I5X(+2j;yndb>j>kFGG~hdo?8KH1SYHg_1d6rH-y@WM!OS+ zs3@k%zWe9vZ2yS$uEn_Srn-V!&I&|eS(tBbe9JijQ0k<-$ERdNxxm-v-f&eLwQ2US zv#N}p(HRG)Y7H)YlSR3__XdMawA#yqs+jAHPpF4%vVx#?Ah@7wblwMFFI8=Q1-Fc@j}0Yb zg@>G#Y(+W%T92_?&S0;fvNxk9`^*!Yx^i+|f*)K5-ShjsS@7El^h_PR(Syk&55_!P z%`|kSe`x59)Qg^-)CD086F={if0ByTerXJaKsNZb%b{kexx4#XAb~6W-SFB_)f*8h zq2G)v>T_Pgt|DdG3q`@hP$nhAl6QtoQzrL~x*D1Hku^qbCDSV&m22(A94$H61kzx6KHH(@mLcF{Y~93Xunk=|g3t^@SJRX{23K zq=y~w*+zb@T5p_1F6}fceG^!hIXOAM-r?oUf-heU(QVLAh|eR)ET}0jFG=sO9Ns~= zm-~WOSx>y_3x`Nt+!cn2XqvqM#R(?g@XyUq+|>Jh{?2TqJNUKg<6&s|1W zvsnqY7L0iy+JBfZQ>Ba5HuLCe$mCj~0{e;r@XrQ>3z;hFES|a~=st%1k;fU6^a?a_fNoG##=HF6@gan?XlO)_MLfcBntWb zgOxR03I!cQJt&VR1s-NvBc z5y&UJzcC3$dU;IRoylfBt$oT1kOB%nQJ?P*a$uK#&~FkY;M}!AmU!V%@0V`2%3EvD z-lHLaJAW03JKJqX%Lr<>_j7mq?0>y9gaP8Bd-qlal6>%U#U8!368 z|B`Z4lMAUTOKRf&s|cRkd%NVGtlIDCO;%u~Zz!W7Wj$0249d>ydB=3PXYsa60PR}@ z0j{X7yQL`yX0se6Al=+?rqHuMSPU(tq?;mif2OHt;o?>ebTLls(=^jlw9`)P-bO+T za%38tMYlSP{Bl}(hP~*h6K2=Ttc4M`1?aBtGP1bqr=(r7WG)1j>{w3w_2mqMGPoRL zvy^0lLADMqH;iA?Z8$pqoAGzPvUk`S|kO@Cb}jB?q5_?- zE`$+P2pMe0e6q4?n@tUVTGz$m!S9Hna4yXx^|OYEmnq( zV6mN0uU$}yBk$yB0@Z}iGks6-E+rcw?O$_H4oA`?IM(=Me#?3qfxI^;9qo`E`gHff zq<+I9xd^W2TuN_haa-w_{j+$@_}DP;{lZMaZ@)u5l`@pJ6q&DBG1roa!lmb|ilZ z?evr!ys#{3k+7xlez=jSfE?5TR%jDRM`KaSM|R`Un%h2ix2mjuw4d+{?*U5xGhfFcwOVPBB}4NEbyWbhAC{;1%Hma%iTmGC3+mLcW#HL z)9T?QUNSWfMV^ZoGbpfg&F6i?&<=`gv`dsO8{~>gMrKknTBOo&-rxyt5iS1Pg3iqK z{sHR4@?xh75BgsfsOLR~0u!7=#MXHG6KA}3mZ6$--Tw-01%d$6uPFQ0_B&1|uO`<0 z`M1pj)U9Xl5+&u5Gm@f9Ygw@+U8D3*~&`k zx%^{hr5dUU1DVOiHnRJmWzn1#&A(eY8XeUeJvCxaEv!gP=fVa%LqGnKE-JWAojqc1 z-e24^UF<4di}sFn5BeiD*Z^J~qI(@642BiX%`T;%x(@PoInAyNok9Kj_K2Jx6=}`( z;H4E4buwIuUe2#{!1Ye*#d43LU%eA-7?4}maQ?F5_!$*1$Ta0Bbh@|uE`G#KGx547 z?U-aV-J!HBB0}&M?q0*1l-M!MT#*NLB4)pQz>e4TGn2-*S7OJ8DHJ=GZFxt;OzL^` z1bIQ#c5DGUBTqS^q;93PzfOd;YmC*8o|Ltt7`xux!2!?62f&+{U2Z=DzSh?vu|`o{ z2C8Tc)myfS401ot)qQcn;(&gXEa9lCo{2|AQhWXZ%`gZy3}qcNirQmOaqI_&_|`BM zLf$>~d?p_`=1P0$m|Q{>RgTmg6i`5Or?0$GTm^1 z$)w-``w@N)nVm}46@?`7PXAg}YwGU#9DE~));IAgCaEr^*B3(hqiEkTu}h%$8$s$* z-W#5&0K-gd67775c=HXr8f0c!1^)bTtVNDt2GBl)ZmWv$UA20;)2i)EeN~rrsZ_>i zPwIt5fratu#R|RhorIsMUh<~_p27+0AB8Zg1sZ9MQhvKq&!1sOly0g0+jQA6KrU?~ zxNgfo;^Yic(j;tB5Dc%T&c4rq90%aVyn0C@_=)tgLtf={ufmMkZ@*Fl#^0$2vyIuE z&gesk3v%5G0|KNesM6_cEjx~nsiek@SAYE4!yH!+2}B27 z1!#e*cvHeRUt4i%s5FB9TW71kK2Ky_|2dvEbWDgg0C?s*U#YjkVE&v(XuMPg1z%oU zU%=PVgFx3i^6}c-$V~cZv~AzGE{1CuMszviW*6C7Qg%RZ&n0@0Jwb=IZ2$r$+0c+D z-0)r`8RuM=mqYyeG54}sl!d$1?I z-=~1@w)(REyj_)4m~ttl8*z3YY<}26m|(37H)R(-2ot8x-ob&;{vyovt06g+LPe4$ z@J-%h6(tNo^VvHV@kOs}r6p?QF_~MPgsV2M=!??S@!XpcoOk=_lVd@&tEzfAWOt&a zjFSA6`#NLcRIvT$+k`0XIp9g%i}W57`7;0I8~qusW1qpWeQpZd+9xsueChmV?qW&I{Mt3=;SQ6m8%{YeCYyySL^Yx!4~J z(}KFThWn6me3O2ZMuwLeeN7g8)2@hyaN4}iWEjjowA$t`DMGwsuy+z21bBq-;q)Q` zaru#G^8PHMU4Z?Gb5>FEueAwSNU5ZsNN+S68^6ZgDYv2a*9sOaA#C2wiKLd@qeLJj z`bWZ@z8_=D0bVnwr49Wbs5CFP)DrUkQZ^vOI0836#W*L8)k5$yd~MHM#HOdK*ro|+ zZ(gHJ@r=ub6uRxcpW+-$34;gEBkSvvq-E1^5?YmO7GG*yXvf6${z*}&63_zIrbpmE{n zuukA!wWJ6qDO>uGroJ1u=Agc}zQ45zoV|aJ>yOl#AjP$zO-U^yJ4biw5j=on2QH z_8%@P00fp~;KThLJwt9MW{Q26If>$xMK?0AWe@p3b3+#5a!GY4A=zbLg9RT;)p59o zx zF*#w**lWl^LqACJ;Sjf5{twyWnQJxY95$Vg&ejyI{n17kU$j3;`3WGd`%%PFK>OfR zPIY|F^Myn6P;k}cZ9ejwDf9#hklh@5-e3y2Ee+mt0! zOY`s1Jrj0Dnr*c96T&kZ*RkAOlMvXv@W;BHzRee3CEEngP$4^UVg-43QG`s-f+&=X zm%Bnu8&YxGEj=I>b7dAD-!7GP7WM1`-CD?pzauk zK*=nc{DmY`8zVmn?RpKL{qGLl2yp|M3iq$^H1Egx&TVxIBxA0(toFR}j0kRx33@MI zVB^uj&szNVnXlSTMU&_UHGr*?;e6|Z^0Kpo);i#Bnu|)lMryb=!3=+AhuTMwEJN}J zf8tiNYQn)QI&*s=+ev+d7w(B^nz;<30=?Y|+HCSg0z;HkJmc!_woSQj4lPqh?%eqU zK``=)Se(gi;V+fh9=cw8Dx=}ga~OP#cTMoIu|-6>%3H$W9<#L2wEFeiJ=EqNvVcFf zh>eFJuvubWLO+5Qb?DML!qQnnFDJ(Ks*Hms|6q1hs0rH0UwwiFG<+wy@k~%bRW0SJ zf?%X0GHI5EPNjA;CNhrKLB^bNy1a*ze8>I#^~Fur+pJ>mip-3o0^67)eC#GpPA$8D^t;zW%Xt+ zMLIc;lm>sIF3f!kG5$((xmUB~X%u!;KzinU%Mi90wqP0y}t+Jz_F<{bTaG_F){i7atFA%n-paHd2SdrhHZ6CCe4c_2fl>*N%ebtd` z(CF@cQyISeDaN(;^8t-wcThDF^9;i6PU1lq{w$N86gVY?b*YS1)8?_UHWQ8R=8_%h zg1s|1^Pi$0Cw?#(LbBM_h`96WqkUNw6HCKG4!!~NQ;}_q`{gTQ`%4LKuq}boovsfL zq|WOK#>=U3S|P_(UhT6VP5>i3^mH6{QCTZfw+68@~iH2)Nxv)8!b=&KH zjf1vp^p|MDrD0Gk%(q~u9zAVRwW7F#=;HFI?oTwe1hDXVk(dSu|2&SFH@$JyReOFz*4+MUt#@4p0|A?rBAO80b?5A_!V|h|}Vi$^` z!g?i4A2}`5=26IXwF{MlnYk%!E(JbYZAvT=8;ZU2IFKN1g$mfH8%peUPxr*`NXt%v z6-d^ZfmXZCjKc=RbhE_f#PYT01n}8-TRMB zKm7CE-S6S+_-st0CU6@UA){#5)l>_Hc^jRk0ofGU) zrTU8h+_v;Ib3&1iSa3n1{8%xGKwZ8&EYdv5z50_lbL?C|xjGMYL{r*Zuj}s0No1xB zag9YL?}gpjPCueoffS$NxGY zWv=^6|9p!nJL()DHFC4I>h=rCKUE4}E~@z9o)bjATsTwnFpSTwRV#&{us13XH)DA( zdtymRf2J53=wCLl(?xCeJ@S3Wd*u2|L-WFLaSz0zLp>G>N~B%MV6%eLO0xPUOx`5A zXy)j63e~B@&V%|Jg1@@7=wJ3hZz=xl`8c{Ze9Z#CGydfoovsW;3bK9uz+8ok8jEh4 zZUkFjFz2Lj>wEwgpJHe$&pHby^-rkl{5scvWQf9`GTx^*qw5w(+E2uxlxlsIYfO<4 zp9syY2>WZxioQgZ->{GH))Hs!P}Vq**){g5tcMPXo*npmr}NM{Az0CK(){$^UV`KI zmBwvRqz5TjN=VkfJ0?-yqME|GP+vb*+v!$ob+S>8mD*T*&p#`=03SZap5K1~K>pxE zL3wH+Opb~I!o`WX)%_Ky{z}5gT*J|v_;WHEn#75|UeASv1bpMLE{&T%BwAzq=HnBL z``5X6+wg`Syyg_Lr;M*#lsQ!yS+xKlOBFW;yfO-J=6#c>w`)m^b?>z_phvd~bQ>8< zw|%?AvLK&7P#rdk`c6J7u)1gick($QYC$65usV@i5L(Ze!-wKabGGe4iCV~jt{FC5}gdj=}A=S*7jDYBFjFmkkZB0j;*>fyo>?HDFK83{B+{Wj#<1S$8bv2z2Fp=`pxU8Xg$)1`@?HrFF`b<<)#l=JKAc^kH+v>$d0Df0TSW zJAAF8LZO}S_35KmKOGWa{7rKp)@m$>^>+JAV@;x<7E4i3nhbc^ldpi>;GBoT16OL8 z3nsubydzn)nMtod`-=SZ_u#L{5wt~@usnM6nE5LGBR@x^ zHG(`_=1@&uvD%Hx_m~&FlE=ygVcyb1-fMZaTAB~6 zbjMFigySlm(j43(SXG;^9)V6n_1-SI=FQfd^*aOp-KLX#X>8${<|>R8l}>tJV5qvY z_q5DEjPVE)!HWKXKhkwJ{nua#00=T_D#q{?-oxE)7ykQ=F=d!4@{XoV<>6u8ty zqi>FLRiG%YV|co{IPA_uUH@xna5B z6(Z2@KS?dUl21g8oI{~}&{Z;%!d}WVur{WqAQeD!nT%)ySq4Dvt;A!ohw-AxVAN@d zo;^W53s>gUajPD1h29r&(bWLYtCGfv3goC8DI@Zv;Cm8v*!Ut&S!?1C$LspEhcn|| z0MC?>vpCz`H@=y$k?NDejXMb^pYm!kJ0K|zpLV5pSRqT%HPZXgXG26H(*DNi0r3}S z67|;AnU+%yIO!+2G_yb8T$-ZZT}{4uIiurJ;?-v&_U~%r)aq`4qmvE^FBeB6)G-Av zB2;nm+~nhb*VPHk301}mlVUOJa;XuSSestKV+PSbEwignF+j7;;z%gql!e@ovll7s z9#P_R(nGZ_$_OQX!B+q(tjMQDLzHZV&_CKv1#Vq_j0!}!^RJ2cMII`~@Ty$A;UuzH zPUVuZ@J45bf|N*}pnJc1>5C9nO*X=Vadlf`d@v0z{Yq2sTXnpSQlO0G<|H5*-P~|F zoc9zf5|3K(uYR)2-m#GmlZ6tV_Bjf}J@Attys%+pywUCjx!{*~sr4<7@tZyL-;b7Z zk)+nx4PoB$pk90%{|%kk7Ca1)4S{BwiXOJLu!r z0tNXnD#e7k&@0exWIZnmHgiyEk|8w>Sqp<=_Zv?`kViR5B|E)@A;Gf_{`@OfRq=4H zYO2r~3x3$BEcsTXG8v}$?0+5%QN38@x=RFFyH~ESu0zQB&duUydO6ZU0yoFU&$rng zy3HCyeA?MBN}Ybzgj*UK@?+euc`cd-56VlLyIx`Da(um=_7>(X>>Mu|X?ark8{_=* z;Puip!8HRX3Nch$YWYKaKfr{$)u*`Sj{W)$$%&`Pd^9XwOKcCw*nfYUjXn}MRMiTxMBc(R#VZ@;*t7}&DDE;4FcL~+j5us$F= ze=Li!60XRQYcqC_Yt@63uHR#hU4On*I&gB zHR+vu4;AYgvg5R;U~>b_BGV4pH@(jv1$&+kS)91#*5My3tR-Nc23kWITZYc@$(xn$3YThyJA*cV+9mNXnWa zwm%q6UXGDzWJ-5eGvOu?Ratp(m_#|PE@YJ57nXIA$Uo}?` z$5v(+%EW$pWz47L5 zUZT_+h@q@Sj}cQyJx3}{Z1qbPX7c06H%yWC+S^Mi!a2PQ^J?<(Z!9B_-aUOtp4)zj ze-n#blHs?|?F&%UiU@e;JtY)q)ROJ3n9wS-qZ!*auvDcY1?YlYc~#%Y3cdluko6PD zPMcgF!g&nl@qK~qZr9ARS2?&oayu7hye%zjM|WM_!wRW~hrh>JeE%#(yJ$vxk({A+ z=4)NJKdUUIp}i{w={LvzCb&jOS0d-*y4(N3xauQq747;hacU@S&WRYZnTSwhEe#Os z`*mapjrlp%&YjblxxDpn?2mSWC8X^v`Q`BcZqykWR>4p3Th_eEK;-0%#v=F7t=7!z z1Jrq{3#n`5a0TS$iiugP%BZ=Vynr!jug#F?wojyV3dSCGLNPxlno^7kknn zLA5Sio_9*S$^SG1F5wGrRA!Ic98%1&_xCwrO0chLACqAk{K3CCHEX8!s=ZU{(_JdP z(A!59aGJkYC25O&Ih(CqA0{O*j*DUdV-68q$1mW&42`}^VDI*W3N%=f#dQW67qGH9 z_Y1%tq^j_P1akB(e8l3qy>pV`y(*{K2cYmJTP!18=Q=zyi1*U*0FNUItfWuNj6t_N z*uNe*u<<$mykQZ5xFC03>w3ao+nCd%u<x0`h-4Ith=W;=%&7gtxjdlK>`aI1BSQpIs@e$i`V>A~t&zJ~gt{jpP zh`(nle}CW$J}Ov)=fefoyY^bTAlIcPG6&+ru+c_}vSRcNK;5^+?i|Hy{2 zRp!Ekye)grQ#Qlst=Du1{xM>w>|lM&Rybnzp^;W#kf0RKER82h+G>^i8u9!d1sau zAe|Kax{P0qA^!Zfr)5MLl4+Z4NaPhS$J}yFk}7MUloKm99I!Do_tIIbbnZWPWyrdx+GONwqvRwX1NOxlQc--VHT=|HP<`Y6+eAm|)*Th$O zw=xXM!5L(N_Ur4pu*b?kJVCeb3})evxO(LLBIm6la|ss(-?9naT>4AMQKimsk+?qg z6Dn&HwjfRCFJCx^0}A$LUyIMa8X9Upog(8Wtv|i@Otb+DmCyE8aPe0=qBq633idB) z@!t&Uc~dDPJ`p~m+j`jmpX-#r99EqvQD;~V^3>EN2bJkKT6Ffvzlz>r!6ELHJk3l_>cDC@Bi370 zXUDGDgGr>@w#?rGAyN8vt^S^X-5X}Bow_c%eQh=38i@;)3Vy7@exQ7Sf7X3zZ|nSd z2N}k*wR5~}x1Z^i^ox!iOefGLs^`5;rot%+;DUH(W*#Z~0<7BfMv0eT+FfQEI=NJ1CJS1=v`2%!UEtkcmu z*oP42cv|@4hEV0T9~3K~3#oft*A`~tfk@MbH`bgi9vfeWQgx!Jv=^>{E83`zl$LWk zGF5J6fK%7yyw889f1Iec1`6)xN`R5fyPk(LGP~34y3+Jil_EPMT7K`ZwYu1JnBagu zyAtX)&ezm~kzuC29BdArs(`m{7jvva1cc zdPyfFH7;w+UMqeYRZ;i6G>mL#JYym}jVH?Jb;)1~S~3~Kvr zq(Nxv;E4a$C~6F=+_P-58CRjzdb+yW`U7KB=c^)$MItJa7pV# z^oHM2tEpXi$ir@zuyP8-h6kUkS+%#>dIv-x`)-fdDAi7{3EZPS7tb`zp*y~kJ5D9+ zG`Y~M)%8!q;2VvA`rce?@xq93Mf!~yNN)sQcJ@2uw-M@={l%cmR;E`WdEy=I(U@7$ zjSC|8^$7gq6K4o4Zu0m3*FRA5!jG{V&_g71{d|w_pA6#`-S8tG%?ruQuOSnsiYfM1 z@6(wn7~~UDZehy+@|Ha_%89ar7o-1DlRS#2f^Fw zz`E{iIkgF1*!NQr{0iH;0W}ppUyrIMvl3zf#cE)*!!y*TIeUZisgB|vslDvFzveZ- zZuy?IHR-Ik0CVM2z2j=2J8#_R2~q5)mByb_QxfGy}ddJCI4d1vlW2 z*XrUS1H^}Ykf#H*;A=^va==eXw>*)VtwG`gKe*eYD_DHwc9CR~2;z9cFg>QNN!S8b z2D8##zr8$9XAI|^+{`V|9Pmivk5}g0Tfa}OzE?u<^3~9TWvtyp!i{`_wR(~?rJV%0^7)EV{oiW#vMuZGkGrsUT9O8Bv!M&UL6p)N648hIzle4{HOhOMgGrL z`@G-Pf7>;4^kn{(CJl7&tv5V6ovVB%DZyVk{BjON=$NZ=3KOjC9jxu}LGzYpxQA9i zt+;tm@-=Sn<>P$X6Rc)I?$hj6gU>2{P0W5P+?R)foj0Y$0ef~z1b-p#tq-BO>8RlN zdnc9kf#M&|N$wn1^uh^O1HL$8>OHYY+71<@h&5X@eMEG_GK~zbIcs&LQB?_!^P=_& zM0aRe7W$KW?B~UxNI&8Y$(KZ{MM~Wt{urPXow2Tvn9OPb((dYnwRa236<-bQUetja zbc<}&*VYDaLcqMb#YI|;Dn!0UOx_ny%(leax!`k7vns35ICk6 z824`it>KIYTz+-~0ZkNetK zu5!gKwMRVpJX53oyh~ln#Yiu+^O%#dkzNq$r`{f=azNQhTd#}X6OZUQ-)O@%DKP7k zHI7_vrnR>-(nw}LK&Xo0%dyFpMZuN)lAgAMGFGz%cyg}B7oM%z_JY}vX3WK)#sR@I zTyiB@A?o;;*ivsJ2yJ#2p3+YrNWQL4AosK=wugM{dPrGxwE|}S?l`3mZt4(U@5rZ` z7K`qMO(}9%b%=jmLPAQ3b1H5u@2C|L^%NXC1@tB|4I!J*NIDH@uE^hd^KQbdW5N1N zIBfkyNH&Rnf=)B{HsN}@j^49V5#Ene${Nd(buknhWF6O&($Z!#ZcAL`;=VX`{@Wk? z_~UGp1z&hPE2rRc7CoZ@nCl^rYaFHJ#QkwYK3+f(!Y1q_w!2Q*C^%9k$uj*}6|EJ+ zHm)GfdS-%Q_y(QhAujk(9*lV@Q1x9WKFf*=bazR~iBlFsS0Emi2zu|#JXz85{eQ~c zi>(IBxMb@(K4bxXxxZmnU+@!tmelfnVTV3b1jR z^ArSkE@sxg_5oF{)k-cPZNxUHF##dx7Hq-Cr5t)55dOjbnNSP7SSNClDu2)E9l(c? z-5evhlpH#+#J*hR2DjtVMEYu9MU(TOLn%Rf`9fC1cIb-bW~Xv7y8Y23M}UT=TAi%Z zhKF^VV()&{8uD|SU{Aq#enBd%NhmzGH>$Uq?j$0 zP=Lr~Pci8651d<6PTi2?R>Al7Pc-O<0GrdJ(92{-)!RIcaG8GNVN^=S2d&G|u8&@3Q7wBEcT z(pKRzk%N{jzkytn3gJL0Zj|Iz3cA=3b8?z=h5hN#kMDQE$LwU069u(i(pDOUkVvoA zT!xZT%&V2(@-??jBE7WMa5(5#pBF!AW4ux+6e8$mY{U&h@awW!n4Efc7Mhh+jFfbZ9skg34_;O^;$3nr z#9TfF*8Y(2rC$-BFkQry{+P3BTJ_^|F7*7wV%m7~Fe*`py;I<_bBNu>W-CxT!%wJnXet-*JkESLp~vIvPFR5+Jm|@b%4{eZ(x4~#1#Nh9(S7o`N1~;-&5WqI zW$+&ElO%L^KD?qCC%0Vt@$PT>M*(BOOr|tC5kd&IlxZ;Q)pJ;Xplu?v!-OnRsW{?3 zWz@mDc~~{R2c-Aj({Cjvw>>^#jnoJDYO5I(d{on7;e64OGbkg1o3XE4M^yadkvn$UN>Hq~gL*rV1#5odRwL;2U4SC=1SbLz&S z7mRpkVfcu>D?1^bd}j6U)DMPA0?f7J`WE9FaSZ;76kailcn1t)suEUo;}(-*Hytpo zBE_+wfK9jORUQ}R)!7w*Cg%bPm|LbQ*ABk<6@f%Oa8EWgp%hS7*3hMD76Xzm8~Zaf z3(%@tf?@?)O_rny{VNuR$wlKPB#%OJ1@G}u3jdk$R)#e_L5I%jejG*JFDRpLw>)*sYd%^@b|@s*6&GYRXlO(XJC|P zE8XG*F?6U{8&Q^4GM(mqp<8AjMky2^fiYUjH_0XW$k^Fo-=n02Z>y5f$pB50Yf#}K zbtuM&A;OoI-9^=irBUxi9wBINHIrEPlq#$jM!S=_bAN*C+WhS{qm;hW6iDpY-C8yi z|5{D&;&xeB*n7xcFU|J}_1U>Ds}Zc9$gMg(x+U!aOVz)A-JEp3feaXvsx4SKTz3Wf zj4IB=nUs2Hv}zg<_fgh4+%YJt4lq}HOFh=9A+~e?lwds^TQjslm(8m41s{){O3)0l z53S?Ob)G<~G-R_G-IC{B!!D+`6s&nLXxPt%6-(5aOo^8Yb6Iw`HL|g~uhZR5aHH@e zogCE@vt1u=69(4zN>oN>z+Ag?QPIA)3kUmE8cK!w#XoWZNb|q&xQ(&@3t!nnNx0{@ z#_V5}ygfMnC1!7Uoqms`uZmlT7p`2R-j!Xtl)xBP%lGZft_1F0Sy~HT6-=Q_1Vfj9 zJBJ9Q+A0P!75*a^CK=b-qA;-w-9U%6Ly|JsO6|W(ulG(aX@bSE{Gutzg=Du&!(?;> z;^(S#y~mX4#TtfS%@3N7LzjLMJMPP>YS%VUcf zARygRd8SZqXy!&NW6- z)*kA4tJ?yv0t95l1@>TB@??$Y?^nsV^rbe*sx?g*{w`Q=LA{ut-RG8@PSq`y!^w-8 z@DE|~KbNX7F$vORcEBJ#i$LnP2|G2zG6{@EO*Z2L(Bo~=_|ZD~4~^?3sG;@qh>N+J z0bGM&daVsX#Y0^a$#CxgLc^|EItw1wt$vd!eri-pOEBSnjtyicn_2}x7mycZ#BOeB zl@0qMKC>jSZ*Aee-|!Ptf40d_(+lHDdrd+~rN2OTLVMS8P&dao-EU%sA9|DYz4*bS(=vBjspoXXiC@98+C?t$&PJK#Yl#y%w43*_nn_HGMHaHp0cZSJb z$1XyO=$&k)xNa?oRXegV-!BG|9XByn7wap+>^+bNnMY;U2e-~0{ENxjJ=H63^GGD~ z*evB#WiE@VFnQpu<{KhhLC+t61Bx z*Cq6Wa_5R$`&AClI%$oBtTZE4Hp|Plc#vr2am_q)M*s$3tV=>yzmT04HQGBXdMuc! zkRC4(H4#Sh&l_^Tg6k|QfCq3hfV&7Z9gxmfaz}hq2e~&E z1eBv9}uM}`|#nNbTGT+gV2rn%V8w~mDwyNuP5F@7s z-!$eO6FtEviWc-vIsG##jg|P5&0X%v7N^Kz+?I(8X3FmQ3Fn5zWN{2F5m-sT-rQ+r zPe1T@O>VC`A@QB3`(VUt-!W9y$wohohot*l9=7kOg4ijlvYPCCU<-K=_dut!_L^3I zDeh{4UK8x4RWtUKjnDjki8Jqqhpb+M*Q3vc*fXpF#4CP>mGk@U1MFp%{?&B6U>B@V z&0wGCO8UzwD|2k#&Enkh&nmO>tXIjSKSHIhLx$-z)ngdsr@a(qTdOb)#6W4w;mh`Z z`8g7o4ajiVVp$pt@t2cPkU5gZFGJM<)HHw6)lpqCBMy452Z?ah*2tqA6~kg*>wtj< z^va1EP~P~bx_3Y0&&(=QKi6;gc1n7f4LyZ#Q#>}u?mhjU7UwD8cgbLX^yfDBcQ|w} zwp>|nGr-g&J%D83Bt|A6G8%%wtSsmHUyGB)>%;F+^6;`no>6 zr%_4^AFUM^ZZRX`U>hUph|OBXPfabPnRR_|EI!$NqBz~-#Jtr&h3o9`FIJ-2uGpWI zYtK9(ua-*XAj(Y&xQ=uL$-e;3?VK~)+H6%O4B&bu`;|uSS-FBs$RL6OrEI776lN*E zZT9c>pBxDHg}%3|iN#cDf?~;wySE!jpCB^4F&hvqzZ8rudm+){tD={QoXyPq_!>W1 zQ!ALHxBD(dxq+YM_jp`!#M4Bo&ArsSAu%bgVfsC7IdTHu08mF@egAbayjZO>g!mz- zh*NL_M6p8u@PEu%-B@hSIvK1GxISUB+Mc$65OK;)f9_&U>F}-yQboO_&Lrq%%y-Ap zTb`@*}DycN|wWY&=6!#1{^+j!8N5?~i*z`S0lb zSEPxCkrwF_7=U5^#4dq{1@L9aH72!1Q@g_Y*6c2vj?$J#si)5B&y(F77&9-=4(9Q& zk&a2n7p0VEM&IPH@-NGt`UluApi)^#Rws%OZNbos0_@N`>`Ykq@Kh#3wnG<6<3najkvnKR|=UTIUrz)x&WFr*y-&kJ4 z21Ig&+8^SQfA$2jk{o0KAqJi1K9Cb!rFl6e1Glxn>Y=AUaFQ|5=S*2(I3u}SGR^x2 z*r_*4&56A-(xbn+L@4kjuL;l+!vSrf2kih=!5w>Hk(Y^z1)O zp4;NUk-rAMyI}afD)zS=)S~azp&!>H-Hxl(bLhnMA6UAjkM2K`&gcs=1kNPU)&JPoU5yV)o_d42xrbB~ zRi@8r<(7Fy)c{J+tNkEYT1B_8EUMm3)w0;|NCUbZ%chOo#Q$s%eJ=XzSC_62W!JLW z@)IP;zH-Mdmu_r@f78iB{h5vX+Yxa$lm+qGMp>V_zpKxoLkoEJk*>b{bD4xQ?ZWdL zLcVT{oa}ZaOSe0LZ6$-a!{f^lb{kyLI(xpJ$lx)@3gR#M5Q~!j_g=h;8eU-Z8J$XF z)wU7rZmz$v3#_(_tbQ#nI6*@|k+>Y)X6iZMt&58PvzeuhmM;`HJ|G2dSy11ZB~;iO zedlCqpGl{v!At9rESu6WjC~CXOeGEngj^)OYf4H1ciz4sOizixd-ou6WMYk3__ij$ zgChx_TnxB#uVR)VWO4r<=H=xe1hLfd1dqBI5pDRvfvHdwEmLb%~k3nozt6k>Ys zsQ6PFea{oRD~1>*m} zhSBW0BxaqBe(UykOMH*oqQ~Zd&am>|&Bv{LUc$`T!VUVk$ouof!&ExeIKQ{qTP3V$ zFfHHG<2*vq5Ox>0WUjM_3xbV^OCLkHOC+0V`_kbe`R<{zI^KkeQZYJeyWOW1u$!DQ znMj2l^U1c}>hs3N}q9oT8rH&9p{Ek8xFP+Wu#X4Z9f1t1F;->J-5-OSiG2yCYJ(;4^LoSC8DP zK2$no7N1%!caulX@-J_gAnf>}b;|j~e&32ySvnT1i;%tpFJRYeCK8emeLA)uT;7H% zA%#TKAxDu6E-7xy?jd`Lx`4Xc()v%?9G6=XKQ44TNbRxGn-+{^8K2*)cqC#oFTu@5 z9$cs*6GC`Wn^aoBJqA#T7N&q_5H`39gsPHvGfzFvts6D%h}SCpBJ@^D#7yMXUPa;m z;nwbvP;w+tCn%R1W)dw*TZ8@5ty?Wh*Ul=@E+(D+%UXV|1d9Q+`_;Ud6}INCS);Uv zErL#$zRQBvRgS0uXy1)bvHHXDZ}MI4U}zIgJ@Xzps2pACt=yg7Mw{7R*B=5C_nTm< z?=w1+)neT7fHDjrxe$9IZh*Qh$~>(K?*?thewJ|cc|5~=c|)PA7$#V^gv_Kt2K=5a zfHA$Gg3yjd8dK@hQgP7-#Se9RRWWI-gzHs%TMD>6inD8+J2{~l7Gb((*trPxBt9shy&9jatnwNGk_X%`~qOYHkq zggr3CpVb2Vo4H0OK~|Tnjn^xaWjobS{3knSDh!Q;Z?m~~O4gIpoke^+>Zv7rV4S+x z-~VND&59TJKroK80ALCaU+ng+1E~AWl@SJ5%z|gPfKO};xLlwd;G!QzH7ky9Zy9+h zhX1%>vNJuEqzG^RXv?0eDb@~@eZ$^h~YIRu= z{>capA^Ed+j1M4%PCAITQ5>_YwEAdf=f$BjCgu5A+CA{}APpDR*gQOG#Ur~d^f53o z*|>Aetas0k*WdL_LVuzNH4kp+UkFWZXmkK3_?{_b9d{~V*4x6EN2IhTl^N%VwZ!-Gc2ak>=yGaDmvIf~53<*{dD>MY=7$X2%dsbcrc~%0nf9!^WjkmVu+U z*c>Xhr$~XJF3qRUL*9H*PA)V=%xXSh5KFsPh#f`VshyG`fOE+4x7~!ix0VT0M(BOs z+eWh0?OtF+^J-h3!&GQHv8W)D#*Oa-2Ce*w<U##R`=Xqzh`OX&1KQf zsLw14g~iZ2zk4S3b&JXJbj#uFS=1_0#V@8ww1SF@LCdNJ+-iE=5b6BADh@cZamy7a zJi0Oy)k;acUIMml;c~1hFME=2hTT@d03*XBuwS!w^g>14Nd&B{Gxdg;7 zM)pu_S4vOxPi#S$;o4w?cmpYdUG#F2QW6QL|L_f$ea%(ost_qVCn+Z|vF2n>`}K58 z{iKc$Q9pVcyWca`KD{T3+px+Yf?Pa)URdx6YKQz1{1)@_W<7UD-nA8A#Hbuh`Sw0J zN@i2o&W!SSRW4(<-ATDR%<^Kq|E$4urg^c)?>8EFzPMk3WD3p~pnaEn{4w#;KtrSE z&*c#h2e=d*@a~nsvlLB5(mg+bZL|{>XyOpVC?9d4`75tvShdCf>&3D_6R}ulg(*0M z;P3GmBF*OAx)oFX?Y3s8n1#$8g+y!~n#7fw`4z$W3nnh)HN|`e+oAM!CG+E%x$(TL z1h`ePwo+asvFx7Y3jlNyx~#?Te8?O`Jbzko6{9^^>21BuoC@3K*VAa zMU^yCfB$Y5uVxgRC?6}}3)1Z5!#y{Jy7)^yl2zI@HgVhfi?x)Rb1?K_DZ<=2{fwq= z`7QRJ&f}6I-NhV3X!UX*XBe@jc7}b@6XqL=43&dN8o%Xsh%Yll3T;8EbNSss+qdTt zp@N-qO7+>A^wuYtQYgiCgD$QXJ5tx~KXkY?>LltN4btZGT>q z@hMAyL(>>e$5%z(dXN^O>AIRXp^T>gzDJsN3uwDs@eju1 zQEwvoN2M_J!tp|T<(k8lY_8Io8nkpi9xC#CutYwF&o1(ddgR$t0IQ$269wrv&Cl^| zuKb4n`4K{CJKxODsjZ6JTDIhzx_Nj>nomh8ULNiC4iv*|SG9G0~L;c<=H3c4xM`ZCeHATYA1npLuIp4v~IP%i& z%Z88DR9GXmJpn+SCHMGZjL=CP(M=ZKWzRoKOZ{hUC5Mo3Ha3zw2LuNVfCcP`Yb>+q z@X3kP^{Y=IqC;Ook;2|?$sA?;R5X6hPT^S-#;c;qLT{S=I+TXAsm#4s8d(zBbz5d- zl~e%2c%pS%gv`p3t3KNq3Ac=C+&O+c?V>4}q=yhjKb)`7WDUZ8Fc@RX`00Kb1cgbQ zvbxTrE{Qr%yMlK067{D7eHU48OQLIk)yQBm+%Y8G(*_u&+XuE^3mh{m#;h*ofyspr z>dexydtLTHUiz)>L5are6h1saqW@GMarKPZXB%Q(syt$4(VBAb203Nt8&}b%I*)R$ zi%z`_$Y0HXa5y^7JSS<=i-3z{Hn+riYAh9(0g4O%q(%r& zXQTtef;^Sv|2{NT&kk+B0e@boLyLi(v_rKUVv4%N>`RzE2kzH~HcUOlX-Gj_J8>jOKu1c>lwK(k+UC3Py$Q z;7^?g^MkfK-*B@C^v?Rm>T#@5eXWGL3jbKYAyhDGZK-|63ZNuf2DLXZ%>MVc_la^5 zXKw9B;2HfQ0oAVb*YUs2lP{~E{+Yyt2)>yCREDn0_vn(&_QssMzvyz{H2hyKzfQl% z@%mGG&Lz)qer5nB=5`EX4~|sMDd&QW$X1`sBcAou?vYZFqstd) zD=Qje40zXv1Ja5dkuGn#h13O!LjEyS3ma?wV}2N9C<>nc=LMGjss|+o{L)OQM4vR9 z5PRIujgJ+sGTDujYPe!$C->zOmT|~y?2J0UI#+c5GOIKJ5;@<4?J)*N0BoXiRy9ZH zxE?~7p*yfrB(@nCSBxCfI~Z=n^-6!LMZ1O697JeQvMohanUW%x`q2@Czr7BgU-IOY zf_+^ETvEx0wrF}odd1GMz3CqqnFxc==<}uYy^^ji_Mx|YyA`7<6idydf9wy;BR+7| zbiXG7Xkk~sPU`z+U8z93`x9pP=Md}l9&o3sP3V+aD1Ywl7$MuHhE7vD;3=S;+h%Y& zlFC(M7%4Bd&==&{(IYGQCNb>XtkXGu8zfa10Yw(_=Uf{pX;{$&cN_nY=(r{Da_jww zxTBJrPc+d8<+W)gt+%sQ@xYyWn-gCIhg+)kEY`yV{vJ$3&d2xuR<3|*|D2ela_OXg znYd=BuJ^fb=#_Go+5yEdqwiMSKPxp9yi?lflrttQoKJ-Rp zs6M28qHCj@X~a0GMCMt|Uj&@R?(Tj&5)`ZBY_2Psip!_)~B! zG+0n;J!EXS;iP{CwV4I=X+Q7*KhGp+H z-Uyi~h)uM{CWG0Lo`Vij`+b7VE7R;RX+=Dq8)IHs_tM(bW33udLhP8RzD^W9l1TCI!r=Teh(&;NqSxsusi{6Q0tb89M``dw+doj z15rl8d$Wcoeo9X@sGSLo291qHJ;sA&M?K+)*4=03TRw^tEUs^j&KAV-XyYe?MtiG2 z0?VpXUJ4`R=k>{Rw98wZYL?$^Sl3`y=K)7HyI&xTy~IARL4z8*DZ^>*X!<7?ZVf=S z{H$>_k9w`1GH2>>6Egw?x6quSLS0c>?S6@5skOx}o!_gw#h8}tZkUN) zKG;Ty&~$r^Ynd_mjz>*P5r96h$5MD%O+!4qAxB>Kiu}{yw}z|2_3u`Nj-%1qo+hsD z^)}g{%{)WbO9ak%qt1P>gPLSMS&Xo@p?JOR=8|8tF)dmhV}!`f>bZ1_<%RX9mwy=u zDpL^8a&$TtS`h#2u?XJXNTAn)+a8{M&Um&%tsy#fWki)(27JNHd;~1UeKYuit9m?@ zKCq(N%(0VZ$fb9Nt$Se)CQmRAet~*o!kOmX%dYlE2R*)4`JY{9UoaU^xnU0W+kEBV zLTxB=j=p6y7;{tJ3K@AgN+X8fjjAws*I@K2&L2r8Md05lnIJZwV302Ng`EWf8lr`- zR~LhWqWFQ|aak>MLEJ)rTf230$oA63zZAd9^c>CSAoGU2e-Lh4lv40cc~|I5tvn=E zYe)~n#(|eesm5)e_WXnwFdz3zJil=;vBG)egl2W^i8JeM+r3rL3g8{^3c=&%A;$Fn zDp5NMT3i=Of#_9iCXw`?6Y4V3+4Ex*zW-Cv2jUZe?y2|PVq|4Bm3pKs*vmzk%aZ_w zwD>s^QI!prXQ16rinV~Q!3*`Gth(-O-LzQ|FY{X)Li}Iy%M6>Dhdl)g{Z>ztCY%8Y zt5wN&qsHAdv;98GLQDk%3p*S_a!%E9k8Fy=Y`?!KSjX;ug3k#2j>u;5-7Y@bW+;w14@B0Z`dzpljzuKS41@5d=Sd0He)t^Y^ z(kxk~?yOz!dlW&>Wq^qN{u;5(nIrk?Fv=Qvl*YL)mzAw4bTpGY6R%xN{6tbpBFz?n zG+>Qgx6{?6qa|;7szX^8?&f4xg9WTyP!V>P0lBQQyEUrm?Cdl^jGNI0jRwxfc~a5~C5Yumx#%#&bo&vI`Cd|$4Z95IOPSfo zLMnh#>aBv z=IIr*M4jShRkx$7>@h1cD2n3#y;q#$8Y8GlX4A&T{8J&b{fAvI`J@|vVVw_mT;3qP ze@(u$JLFHMBlk@wmfvxEhBJ4X7~ut%{Tp1Tt5Ve(xM+eAbrW3=vc{ESYrHs}|Da5E z)!TsLU`kFp`e#Z%dQ#lhA_lsi{|dISs9m(oW3T{U6nQNkvr*6Dj9SbiOz2}-cg;9Q zQPC+H4$bTi3pEfAvE7-%X-`bakL_VFdvZWVgJm7jn}M5)Qt}WdHWet6N-NBmSpxwA#8UU<-YLn40-ixEhO7x zWye~L6}as){kmmK-6^D67t5~>lH%Hz{B+oWWK0|ER?zueOM|bZ@ASFI#JD4#(S*6Xg$L>{H zhMtHKoy``q#P5}_$~z^5*YA@xhylv$DYI*+ifBtEoz1Pt9Wvor3k^+?oS5ZST_cu9 zLP0m7`{|Du>Z=$?2&}^#2(otha4#HsfoaZZvZs-J%6b8;;YF2qR~8V@emg52x9D-mw$l|q&`;C=NSD_@ztuxIn&%jC(Q zvWAeT(7De!n?VAobo2x$DlZJvVCxS6C}j z&2Jq_%rbX>k8L4eGPjEshr*JX!8=BW&zu~~LzoFF?mmvTKV`SfgTuo=vw>K@`$8m_ zez?a&E~89qwKl2EDoHbPZmg@av)&bSC`NE8SU}AE#hJ8RWcM}TEo5vlBG$zu(_&YC z(&?DUlt&ozy|g-SxcXmmhOUsQJrtYEBT@+P>zj}nXE&LUpj&nxyRx+7vtSVE?s3&= z@>qKB*PRZ)=gVjwROGD??wHW_hUmebwl04SQ1rsfLiE|}rRqi}BK)sjI7>~<7QG;g zSk}s$*GSJRF; znDCOQ2<^8C#y`-!lQ#h3>1JAWRnR)H;XSz?WEt+$u}r-1_Zc)~J0rs>JVml~$lxRj z>QucD;+1B65)vE90KUtYX%V$cg!}=dK0*I^tbhZq59Q?OY_GSsn*^1?DyL@+H-AO6 z#hmKRuROjF^y!1ablwi2SL^P5d5Af_;D4!a)P>~T1(hS2t^j+jsfoo>~=^vP(i^uj=Fnba=OYHdN-L5GP> z`odedz1O&3aroG+wDJqe99{y7BX5VnDud&C=k$}{>5?7Z2O(cbvLFG+R!PX{X;D~+ zFz;?on)GokPYHr}3#ntzFgcjwXDpVf8{~$|L(TBV`fYqaUotf*p&aJK#yjt1ET|!j+(S>S%4s6=C>Lo4HtPY0k*U6UKsG+B?;nfP?Awrb@NBIYU^YLZ7)T)6Gj)yONwo zG{`~|0X|(Ny7Ip#i=AN!GAvkp^=g084yos_j^?H`nI#QV6k~bh0ju~O2LcmcUs=ge zO=yd{UTtIIFi27CEK3{#y{yiw4ePdBc5`rb;i`ES5;A4Pa2E3-xm-2!Gbz(1`esXH z`B)wHAPo2(3%ICN-Ij%J!B@F>BHW6rEF_d+rKxTF_?iE z_+0IzI)B8JJh(Q+sVS`5w-?!(dyF{$@9Sab5`dlpbzYLXvJm3mXpTP8kKzT60n($n z&wi>Fk~!a0H5b`;?f8=uDb~vjW<7I z!;2nf;LCjC8wc@4v|ljh3GSFPJ=4?O+I3}Hc`w9p-V%)A zcbk1`Znp$_K;p_fe(n4{l?oI$r}Q)fPXbPH*XIAN7uss}c{SA9JFmPz!tT=^e^fY0 zX-@AwZX8Noz4<2%he9wv{95Bz#W7Mm@vm{=_F0THlZVmHY!2( ze$x0?k@hj|XFAc$h5#|FXB=0K%WtGeA)^-xS};v?SKfqJ07}DxxBsR%@7itp&+eo9 zGwVLQl}e%iGPSTc+@*eQQ11QQ7&Wix#(s$5qT?QKf1Ft3CCG?M+ZJAm7QXL2H4f^` zIT%eDvQ6Ao8+qJ*EV=pGQ2^|%TEESnMqWj2e|B~i)x7!v`KWhOADBCX^)RB`76o$l z$KkuJioILvIWL{W^xy@ihqzXkbwzy5OyuDk4cxrAK487@OB?0LZd|gzr-;w%ct_*? z3*j^>tohM`@R=V2SVu1d)uHUSPW=Gh`f2^;FHj$1qNS^__t^a51Of9=opWxf6m2YA z1HoIt?O_X<`@r%09f+zjOOI|e#RI&fxlfX@pL8C=OTOgkL9$n{S3PkTFpGRuqg3dC z@$;`hP>a_9EAcQ`tVM58ghCa1kIGt$xQ$O@uJgYA>&k!jt}Vwzz&Pyfx$Q8)$)v6l z5ro7Z1Z)JCUKt(6oRa3M@AYE#6-id2v_yZOi|_~;{cbO+dGOWrsJQjQSRSDwzNcXi zdNsz?BLN&X%SaH8_B^GGx~CC%mC0D>vXJ@tH=;HNHrr{u$*%4B8+8`$d!VfwU=EJE zWZyeQw5n<{-dOyfS*vvW`-~DD*SVh%mB71B3km{{+}Y^aeOyx;&Iwqi9MA+*i%1wu zR~*m9gNhfgJ{)3yfG#uUe4#UF?&xlla`X~unEKeM@X0Y}(f^8}7h$O>O06qd`<0aV ztG8P_65+QS1SBA!m2E#?98~w(hSXOiyzg$xby9DmJ}6Kw#`7UxU8~s$fwvBOBgIyh_rgs%mI_8g&ljzC|}8`j%%4QvcX<|K%rtmqzw@xZLR4*@jkH?n~Z}_JTf+d2k4KfBp=aaY?WF zP=?gojn}h#Qd5o{i{Zaijjnx{Jx7`#6s01R`PHMYEBF%N6dF$^=)$6IZtg~<6?xdk z)=ZZM3YZ=JRZIU92|o?XoWya)K346eoZJ5O5E03{F3spygf+*^mFmY0aK$yLxvCq? zaQ8274{y^+*@nlWI9k4KlCn{;^moK{{7`nz1%Opogu?pm3%v_EU-bt;P(QBh0_4Yb zR9l?%aUgj#kzJalvFTw7L?ebMRWPco1f}J}`jj2RnC6BH>P6eIk;Q?zey?v}QDV+(VX__S4Y z+7)A;GbOeVSB#|#yDBl(sVxN~EaNOlDcULq6~< zOCGqr$HOExIZ3JV$j5Uxmc7JupQ&65G@6!F@(;-p;fVt^BdHU_Ir>fJ*|>65w4CR2 zLa#DF#qVS^J>j}Y&QH<`1p#w12mdh2i5?mQE3c!`0^Q9#-RII!vhR}?+k!FAG{8c6 zEho@BzQ-CqnJr|+z# z^qK;WwV<;+LpC$4iZ4ug87piVNY2pbUbAFqvQAprkYJ8peGw{px2iMfTif~|N=BJv z7}d;OD8U;{`bJPG?*{Zkw|72_qqOIUuFwwWh6H85z?LrSNd-|mu{#_h0f!_==* z3#?<9Z;Jdk=&0#D5XhLfvn0%@mQ)WoL16VrsDpkw6>#i-r`CAFMZXA}zlbycU$C%( zbiKUmcwqe7mr~Ae=adb0j_jVuYd>qy`s#Yil_eJ5W$YVNN+rZOqyj{r3KRZ@)kH=e66eYp?71xIgaC ze7AugC|F=7HalZ6Q2K$iz%!`qIVtZemKE<_Ij--gbj*0|J@VGP3VMO*_s> zt&|G6wpO^5xG0UFzVe%kXUW~ImQocFtpo+MO?kk1=m<}8^S5@G5k462t_n6zR0T;XnxMu|aU3!>* zuTynv=3>iH`*zt7~+K!f1DZ2e4K2z^!b&f@GvfE(tthdr1zubH$r3P6)_@PFD-V`}qu=!x{d>rWVoY*U&w&K&u4xWduB*a%f zbiCTt14n3c{3So<>>TbWP&Z1WztWkcW)d#nFrbc)>l&1+mU%4Ypa*`C05Sm((Lhp?68~&MAgKY@4`&dp z^W?#Njz{DnCEZ_MhoVsnHfBQRIytg2s_iRL8UG{ z+tXg>r#?I^Mg=zno>)F(SLGrh6pDtnCc)6uj_*b$>*jEHXq8KSj#xlQA4WUL?lMS} zleNk1AqI&*U~xKTZ>ymL=f1s~1!8@F{YgesF5C0^AW#|bYq0Mkb@?{1QiZy>?p$!h zI3zRfo0|#{(a(oG9ru97Z2PAbm;gJG^Q30{KXr^OHT&6FJLXA%!-Ka@D`X4x6iJhi zhPF*a4~);-o3Dl82>QepYyX*eS!)GYqbNP5zh=iC(}LLvcvHwM0pT`N@2J#gug#_Z zE5zli&0f|wY+Qd38yIN!5jInnjd2n@I z-{56_jTJ~V^t2Ren_cZs@i%jCpLDm~uv zTyKX@MV_iV-*cf2QR3J8!>EBlFiUJE$f~6y+R@UFAX4!0n#AC_+wKm2UN?%kzs_8_}x%W;cxWMkWXDaal@Z(2WwNVW$wR`nLVOJ{CcXd^*%nI;Iq1%qiLi( z)ENJY;8_SW>AlOKQl9@}KQZ}p%iO$dN>+POt$6%jCs{~Scu%=oz#YsdJK&EytPV@O zq5IM2I=<1|+NvCpXx=_Z(KE`-MIR+^*f=mFr(lP=F@4L>w%)ft2vfa@eE;TF!zqa% z^hy^P90o%*Qti@!>uGIHbJujNInhhqYT|GV@A_T09aeTZwxI7)8tLcBVO7WGnMcq^ z$w2V0Dm*BFo7$%}<#YaX?|j&p%F?!YB5QUsP*{5!8$PF zseF;<3jJdEafi#5hEd+tE&N+}q1EvhWzviFn1RL^?hrK*dvB{#N8ThD&6a+EKM6A#X13qpM~`3PuTJQ|s18al|_BXbUazcH@Zn9pNa8nMYB6(>; ztrlgvPV~n|6RGr9_USzTLfCuX3PtbSuLmc1z6$BHvTY`?DpOGM-m`$fVLBSO(RAK|8!RU;`y)tx~JNJEH8f*zOkDWLj zMqdyp*03e?6$$sENF3ceQ&S2OF=WIM6F(1IbJjRR1hqEb^<-N;qY|e4J+#|n65j3$S z__JZOH7IZtKNKRX#2J5Wz0tRoVY(8dUWSzM)^EiPZ zo0>NM#vW}94Q#hDRnXjMbNUW7ZM6#3SUBrmkMgWE=6BT3;aDlG;P42=X}TH-O9FDuyE2f$d8{ zesalspRb&1>r>{VT1VsRjlR1&jmd)Kno+27(utb_$Bu6|k29cgjy>y*i}~p?jn&!W z+NmP$3+VsGsqcjkrlLF=&Z2&eQU3~AUA;JR{L!N)eDQ}54?cN#U36cmBw7$l9J}65 ziMO0K_bMM(bx}MqcQ`!aqpkKLoA{xpJOKc4u4A&V{@L?IDhf8ANoZNDx;xL1F}@R? z&=CKq+m(bh`ZP|_@AkH}!KoK3g<*dXz0?XB%tI`lNi+d;Gk|=E-gmRHKU$0O$0Kp% zv!OHUywNpp4E9<9t}M#%CAI<;kc2SuuOh|)5>aTrM6_Tw#1N>b`JeXzAK@nvJ|`pA z6kn^_15@*yvMAXs&ENDpj5yi>iJKfIshssLcY@^dvC&Du9z@e?1PrSHwG#&^Xg+mO zkKJ4l7iMV=3QtwNyRo}8USna(A2iphDobuC!l1Z`0C@CU*F+i9HbzbSOdP?0xX?c= z(x!`A7}2)_{~J04b|b?@=a+pm>;l4*@Ft+5I?lJ|;!FG=ifMy8 zcZ>3ifPq!YU?1F3(H*th>&WGQn`SK_quJ&QXY<*MWlp1aE1gEnE#RG38Rd!`kFU)3 zUVBW`8wli4d`u(G&+z2*jzz0ZkE0QDj_inW8DnM(7^iPZpOZ37B~O|zl)AnVj8Owo ztKnS`l{qv4&)E9cjKfmy3yxy0&s#2zza4S-LAhx9oL>fzamfaW@q9;31MmB}>bh;| z`?(9QBiLZ*zU{*U*VIl>&xX9du)o&Js;)DORB0u+!&fEIy%s6Nr|5j$9^tD&w@g{Hm*r_z$oUnW9imXoyHN^YGbl{&S1rH={K8r2jbwlZl> z`eXR)^?&cZ+eBD=k@Ug_BN;?;Q0Q9%2Ia~~QvW>TDJPgy-}>#MY4i;o%Ot87k^5wx zs_s7jX$l#|LBu({c3*?hjOnuQ$ZU{bHM>Uj0l(cI7&U+})UBh!o5I%*as1IN{w%1? z!2j!aDpm{38vE+h_V*dAfXzAC)7lEM4h=a$I3htfS*BkPbTIS<*;R9N!?qDe#@D^5 z`o|bbxx?QDMVlJ3@YG78I&w{^AzLnNo72xC6bAA`y{Bc}x9)#(Dp|M3=SBoA)g+F! z>JlDj6ln^!m+{&8fA-p=n`y(82G5!r&$N%b&(7q-FC%&SK>g+|{!?SlMhkLL-^7P! zCjLyd4yOR)m(&TC>*jBM$Y5sfuqX6ypIV{Mn&3DIfpaSb6b>ZdpWMgu;m|V*9(zx}=-PL! zT^DQGdMu$>977~2eP-V(vH#G+uE1YuF*K0{UoM`#;gLs@Myy`hD>D&)jkO^e3xdH8 z-%xD0x(pHubMj~(BlW}pUviFOs1%p}voFw4J9PDf^lLHsF8X7%ghP6(WU(wYK;T4o zx8qiJa&gQC!=)@EP>fg=W@31GFrm}^seRyV{JY#!enskyxQjG)p2_ZuMY4J!+RIFX z75Us*!fy_V;&HAfLffjXi@$5CPUr{C4s>hI)C%jsR^osRr!omh%vMT5B@fWVYzt+$9ENfA`}++EYQrQYC*f@}##cnZXL zji=X%@q#D=0fyS&biob79S-GgwDn6lsd!mr=K(vez~>Am#?70RNYLXQNkc;`I8jj) zx~l!mMNQbKJ#Wa%hkptVT+ z{#(MEtdWgFl^|JZkFR<~nu`2yiY-3;D^C!)wVG?PE}=JExi3pQzxF*ha8Y$B9L=z7 zWj0xFbszXvf`<{xW5(arb+n`*RzvTkbN8toj@5b`2al2KQ;Z600V=HwS&PMVTE+rx zOx|F{{SLt+$L&EaR2ES|O6yz>ik3QOMh)PUuU_Nph6bwJqv+VO25`a~u3#4?`@h}n zrqur>OM;1+OWA>b^OvX7boZYAEPe%Rb)lyye({84$YWqENK|3@`VqJOUID%=3nqIH zHC`S8#EW#$MN2R~;u6NYWyV|m|BYF8y?feCK*l@Ur@5_=ur#!nJdH|~nYyAp4rJBdcox57{ixjw_T$p$YE`+L#PznH=} z2=3^R&ZCXU`Q&6E6Y`O(vYYopPz3 zYDLTNrym${#XlKOE((rNsq1^Q-YKs09`~Ho`|uLQx{a;WEG5OTUVW&YjsCmy2NLkV zx68%f1y(OgUmSmJZE@sqtH;5I7p`3HJ$?T``TqQD2@e=oGR0SH#Bt)0B>R}%15`zJ zZBVg>$&T_B5q-q&6-{_F`qS_B8Y_Gs5e{!Pe$geaG=XHBz-Ep>n!9*o#0w#gt{Mtx zSyRrDd3$Z@y3VxxDQ`5-C#XOHzX#4=I1H}q$s%+IaahDY#AQfFzTmYkvA9`?vf$U^ zN`nHHwFisf;A$`b!tx)V(xH%4-a)KcfE%B;aOqZ|#+%k>?e_H|lz1$HwxP6xGU`mS z(+;7l2Xg{=Ql>5BtHEuwF2|V8URjyCqwrPK*3qa&*DA0tA8Vyl*4?-JT~T1g$4fjO zauv}(iF21<$PS8T&~4i+{D299NmzlPXXH{saVCtFAy?-=_!)7n08_Hl3_8(;(Z5U* z0%E93fB&@o#cZ^->ZJf9v)~xM+Ik z*8_ligO9z=Q0bOAgBV<_(D3UorJPDm4GO5bQOu!x7#EL{ZbogUYjz6Eguco#nz)Tt*+n+y`;7t_!D)9hF5 zzm1!k_iWa!he{)0vN4~ZoCzXd3;a^zE9M+;&1cr!ODo75W<=baw;BS2^(cP7`mdWU zh>q9>JLOGO#*9}7weqQsmg*^%?wDMPZI_dJ?gxj~qzKfY({j}yWT(t@XW4t_e+XjC zdUmnAc)-4|FD(@E9(n$neSe|n#r%OQ7iTDEVYVl9(F*D6|LQTaUY5MThg65(WQTvp zf`Ge>5r>W}O!HfzPM|kx&6t0I@xS((GLXwk2Fd^Y5=9Gj!m>4XbQDK#f?Y6%dQhD@Dyumx(#K0{GiF2T_7d=-( zddC+{Omp;OI^oS%e)N7m-}C}DL;F2}3wi4Rb1MbsX`Ipyp?DVt?VfDCp%k)AIxf8K z`H0X!uz*gFKkOALK@@aK0G(m;M~ta-b3Rinr3eF5(B=&ED%<;Ud2V*^U(UK9`m9-z zQ@lWNKp}F@tZUY}e|>LdgqV0h;l1Wr+q%4|#vVvr0DIKTT{=~uS*CLO$-;!63y0vl zE3DBm8Nx^L)aVnW3qY7a6}v^hErQr0OS1A!TbCb+@zl0$aAKH)63-k0)JiHs_l|lGWXiOW94c^f!I=9=n@w@LEs=lDVDOFN+B$U7_M$az6ut zo7U>Q-5AYpnZ1Qq0HS%)xk~88Bn_XS7UUNIBRpAWdt&LVqZi%I*CjZu9HZqG560BK zF6++yST&m^glcAFIe<778_wcs%bHj>H2JyPgCz85unpkcmHx?#oZcHcNtkAo7*H;$ zWkskf%uLR~I}J|jq%?9zUycO373m@=SqjLOJ1G}wonC}F(opy89k;0-+BB7?Y0-r3 zn9BXgxPu<9dG~8lP=#9U6=YNX_85Wr&E)TRi|l_*GsrFzYxzWeNkix2&CX+S`-ul$ zJZw63z@}sWyHkfX5k&I?H%KLTC%vA!X@t=cQQ0SZP;0k^V$Dl5_2Lc-oQ0f?-k1ND zYk-R_NFHsonu#T*Lr3)VBp;S8EsMJg%C4jUF@m7fV2Y8AF{n`DhrdF0{$pK#9}jfn zl4Zf`)P*BJnSg-ch3afK6Vv}r07nG}7mX>-w*#W{;}^tpjI2~dS1YCO228xUQ;^Xs z<3b|U;d=852r|AAXQXDo9!LN{Cqk`(`GG_~F@kqG!_k|IJ0rl6P<6VY)Q)|C9WM&$ zTXQ3kRAl%semPO0vW@3cjF2X^XM~gjsLX)Hh5dp<^jRt+mtxg+e;vtO9boDEL8P1p zny&C{ush*%%P>~HxM0fh!4ETF6tmTt7Nf;pzceVaueFu#JJjc~UbQ|gZP#Kj`z9Nn zyR^FZL~xa}l8A)K!bgL4J4^n2FA}+Z-#6A4QrY!4^m6HsfJFxK;_H&UNsFx{M@Cm=^O^cTbSOtt(kbL zx+UY4gn^G+YF+-eXpdFc_;2|R?;qH2nm(17%ju~R=!rt9MdAD#W9Vc36x1$(jCw%k`{kGaRS&`4~gv5veqrGP0-V0~` z*uEwYYjGtegIMuFPHa#1zQ-Vf5VS>;HQvAx69b3kdgzu-G}l}y``m7ks4#8Ei#;E$ zWu|#zclceFx`mgS>U6nW_ChgUb!&i}R45R7n_-Pu_dqbl@ESQ#&izmKtNA0*J^~6% zYx9W}cKeAKG?F{sy-LzftJ!kb4@O68R`)&dZswQ(xG78KUe|ve!FV|iWZj0)Df1s| zo}4p$ir7G3AYX$3znD6$jfgZwpa#|gIO7g#NRQPC?H2hC^-?ZPfVsPio=#nVg;>_K zWMqrD!J5Y;w!<1kUL>qtv(23aUvusfvsu+0?tv#Xmpi`c1UCi#_Wo#2EE!0l*;VrH}AASpwHb(vpTg zXZf|NJMS{!oUF0t^-AWJkDa(iP9UouPt=I*6h{~>#b1=~$&oP76V`11oqsf9pAceNh1UYn zqn#Adk7}qC-aaaA!lgx2@>nIh1a|eM`e+MvW?VUDYy6Z5FpAdU$Y_yg_WjN^*;*>W z0(m&*aWjL8d^x-vjC}*hS)v02*P%DP=oeS%{sS$Yb<^ZW@#3E=w#{RWI?0U~LR`GU zstYzSIRRvXX~5bCHecaMjs5;Oq9(jGdmT2T4^5;lKcdJQ`#1d*G5Mw%UFdFN7%}AM z?LRC zZ%kUMhLnao{v-oO?wJTW7Rgwe`6795aURGX-jHqdCjc6=b$-@ji+*U-V{BCyvLuQc~{|HiP>@|{laL2r&fCMu8K&WuHRT%6B};&$eo z+tJnb$>K(yQMT6@7gvYlafXu&Km7Evt4*M!nvYE@_9?eU!2+!*=#)j&&Yq++ex38| zldofzyJ@eNJqvKkU#+<}M0{!~U|jX1L*!PYrK{qH4xGY{E07-a!iu!%#1{L{KA{X@zlb&SjFxV2G$Ti_aMrQA z{v3xnW6pT3U(QL}aF8#*Q9OGHBv&;X0bRyqe=|MdAp-xIj{cLOGdrQpQ+D`4>e84b zcf+IoKjKRVV?Qq~PRl^2LMkgc6_SpIihXubnU;Sln^Tl_2M?WNpNOhToR@)&Qmk@@ z@{q}KTfQZY?H{n$fRJO^E1ya^6~u)EVW5m4w{Sj}rt1v@9i8xmJFL#*oSly5lZm%h z(`wOi_s+O^J+>@h_Ou`hxH8ax+Ay}~zLvl-UE%BbcG~MIm7KzFfp7Hxo{Z$(KzI@= zZ=w&rba7k$mQ2W{;4%=+<8g{E|NVjbnQo7#**luh_Ggj`EG5n2PRDi0$sdOtyH1R7 zK3E#>jqs`|Aq3dY%6~cbsJlqTGlkT;-?^kxNCqqx49H2v_1_k)2Nd@W!r^sG8|#b5 z?i*nKaSWt)P*mZUKjMBI$SFcd(Z#bPI`yLJ&a%DmvE)r|!z>4)-d z@NQBdcB&|`e1xPS7gCUnL5r94HAB{ttnqLg@=XY#u-+w+hA!s1lg6rXdFW+P@*DAv}oy6zI-2Y@4 zHlrQ8XJ33A$16oHJdF|j86N8c?M~DTc6*V5QQ?5^enQ{~Vq&Qsi+jH!dbCeQ!Dlin zM!gg33Ja_OvE=mr?EBl>-Yy=^{&R_}GR;#gE4qjn^iaP!e;(EO=5tECbg$4hwWdw? z#*YC{b<6Mw;q#$Y?aG5IZ(zL@818tjWoyph-$d?9b%F>)E?m&J2Jcd@<<>N9%~B{M zec8FAfZtnnKJIgs(qH7<7)oKb@|@kLK*CcjV>F(2$gjbt*v@F?okiNWd<<%tA!Caz z3gUP1++x=dgM2_sf%&6X_v>^o9$yM;uU)*tWFCIozO2v+{<4_&xJr?T3Jo8p)Rffw z4aC5dFPAvXo;O+G=UbGRSx6&u=t5S#fKuQKa6aJ0`F zVZd(F10pl`QUr1m9~8h#g>G}!zajRE@E5LEN*2!&LDgQbRno`_8nyGsZkGk$>m@v| zs3P7?i|vsu41Ds^QC@d$u%MOiA5H@quP!g(bX%2B<1<3wjlttljbAcMB0FAMa(Sw7 z&N4J8a5NvnKl$^`o?wIJ7t_{pAgR|X-?C9((P}C=jO(j`G}6!bx52GjzN(XfHCEzM z(4&jY87(Sl5B{%qmjc~0{p(rh%ixg@iVbr*3bH>I=kxmTt$3~0Sx*;@@>QNtw4qj= z@2{BE!CF8u9uwMCMY%V0YubZwaWLcHj`u#O$y;>u+Pz@o6=yhi*0Qh?vlakktkiz5 zR$W}wWGc2@jj1uO-2RF^mL?xl`#YWL;bVp&emB(qHRLj^I>_zZ>+8f!wyM3M!5jk9`;eLB}-6{W8=lFj75rVE!ySJgMNUez>51!OhAhR00OI$imVmPe+( z*_O5%cjl%dJ6=1-Q;Z6|x`A9!epJH`Az=K;jS{sR|g>P}QV6TPlA^3p1oYDPa7T&cS)z8`@)b+Cx5d=jqB zbv-W&*RJ(RRrnYC49cawm^iSQY4x$?N#$v7(2(LnG{7=r>~;rySK~70xa)OK{{dFk z%MY(c*KKtyd$T+xoYf$jjhe2$)ZV)EHnfVL?YYJ~%e^;4WzTj63V`VQR|Sz)^l*m< zhE=nAEZaQ*@fmi`?UlxTBpOpFzUA>sO&;0tkZT5N^~XZ10>az7> z(}bk`laaX8C?okZ@MOTP%`9-;r;wM(kuN1Rc3+ztOUjT$JN>C==3V?>KYEi3=&EWK zoUePnAZRu9TgF0*A$Qg<1lJ9Gcs7`c3^?6Ff7LfNjtvm(=9v5)^XH(nr-PsHc( z7a;cp!Bx#^sOpV+X9QsYsxbovyNg+$b2pURBws~rZ1%$38A=;l;dfJz5N*xpO~-lW zl?E!_wmR4eM8j*jQu6JL^xB0-5i+=Um{WReDY?d_^D2H2l>m&yp$`SftDI0zx8^2p ziaAyn%$=V+prFSYe>eb}?s=RH4VNQ5URrZ8Zafkby70y#eT^?#+~Dha&Xe_OCeEx9 z75`j5pFywvwb$!hYn2OyR&F;wpto}^%AEW>2rU>qMa66Yo(BY$%Ei*?+3u*d2^?*% zz9^`R2G-L$webYsJa4i4 z^)bp5WXDHE9w`iQuD57w!iqXSC_qekN-6ymJcnYcd*Lmi!%<^>zzzq6x3{7Hvbp#t zyIBv>!(v#2+1v5rX)!SY^Ju3moh`B$v<3b)0ytb^IK9|ACx8dHRzQpXj-;|@eFIjk zGJIgf1#w9AAaIqLtwnucO6axF<`ielR+>{ugLQ^Yv&2$eWXUu4LO)UJx>@=5F{Lj* z?^&<>JJ^Yk|0WSd2p=p5MSE{vvDAV_e%o*QB|~?Y?vSxERX;iS8EWfs(}n$n-qz|m z;}^VfC*xPZAMb(Rf>oB-uw$cf3vVBWXBsV08A`DElf)H|fASI!|M;aC;8XqP#_>Rc zLr3l58<&89$EGvy|GLbi>7XdpS1(MdQ_W^ zwdGf>Q;fX2ZzY^lnde<{cRFwIX@1F!mr_2GkYTGe2b!!<(xZShVtUokyr=N3fxay6 z$lAr14XHfqbl?KSG`3v8ifHJ<+5e(fE9${UsWMSV91H2okw5nNs+ol!&CnU?e`$r7) z{Q6JJNQ5kdAXFdR&(Ct+Z?=h>IZ7HV#=vi=QfX$$0wukrhh*!+47y+TJ;ONwCeP`v z;D`xk-4Jv?XkFdGVbVNYr)=x&394*9mwu7!8T-?CI;yWpkSz#7{+l1z59<4Qb*q4( zBdA97s!AzxJi&Qw;!maiLR!K0c>S|My=L@Lz^6Y)n!GMJqC+~&%OY|ISTZhVJZJfe zxe|B863PACk{R>eUSw+T3$|XHjQX^5j;)VLlh-q-7bZtw2jE?6gDtYxZtd1j8+{R8 z8GqNU+RBL*mUfZY4rG#yeuO62pZn&_8*g@Uj4nFl{~9Ps{Ztj9{}ePm^Iq&o z66z<|Co+`baWFUW_{$4XFK);`QgVKD@(9&v=8?*^eQ%JxOBL3szUl0FCgqyq=m+8@ z`vdf0rw0b*BX<>U<}#JSxJPU>;CMZkV?$GL1Gk%u%o5;8a0a5{kq)&c4N|JHHhT$r zjypTxxO#X3#VU~le(^&wbIU+O>sbjG=Oi%nnv5~?Lvj<`ltLAKWQx9A=!@A=q zN9=%6w2w(Ytp~lb}a~Tw0E^tOI;BfiKi(xrBfBwht`-spKYZie|8SGt6d0 zOi$v9U7=>wB|AsyrC|oSjNVsgc(NO)wSHpdE|1Ye?3Y?s4HEhLl*lT z>aN!H{vsEO*QG6kKw4! zt2!3{6zvKUOZn*~w$jD>%&WvzIr_?RjohA5NY3Dm2rnBzF>fyrKIeZ){OT&3C@$x$ z)lIVJ&J6@V9ve4DdYW-~T^i+V!nsjXMd#tFoWn6%(qtolTOw>Tf&{`%cTR=iNm z*0pM{E;#Ii(yI>*yRW3|tG8sUr+>g*L!6-96XhS2(0-FWjZwNKWJ(N*&A%L&=h!x| zkX)Wul|F9{yZP6vBiNlknt^SO;;)#Ay@Rd>-kvB>FsxRwZ>`&xcS7+)P$p8hkvdc&Fd2euk-eZba=NtlEU8# ztJctlRXAQ{B^_;Eq#t$BYR6&KIcs!V1iyEJ^!s0l$`nUe)*ImF5oX6>x!B$&X>#VS zh6YSC>l+SgGkc}dmqG7RF&*&q$am99Xv_5v2}pv6u0O)JF^Gz-+%@7oG1F-_wYR#a z@xAdtUZUkRs&)@Rru8xKc7B1cxKQfsjP_AgCjrj#I0LbT%eKfcI35T{q8y^t=L4)70Cd)#r)&D+%5`Dkna}+AE^546gUn9HA4{+DQ&C=RNXme(!G>~d zPZG$DGfpRMU2{DW<87PjvGLBursD$vYFafap+cxD9_p&1PYU9LTdVWU zxdL_A`DkWUM*U|BuGm(0HvW~N$t|eB#1Q=JtW!(ituh?UaC=s%D|`du9N!xgsn7Ac z60GYa-^1ElS8=9x0&oE4)2#I(qG!*ZdVkcY3B5d)>UqSwq`i-w%Zwf&$jp`(m}J1)Kl%>AE+1c-JM~8n`z7b=eTqIpO;h zxf3E52Z&K|I#M=(j@DBL-wRFRE*#SPJ^KB1Kv($5uu#dDE#N)l!>P-0$vcA2t3Bo) zo;O|Q+gUa862_eD;R?*t()hO`M}k2o5Z7&bmU_drI-Ck<4$a&wUF3ff)(6q3&&w2# z*E-;^)xhBl$AZprp}`_ARiXSTPwih9C?&(I3PyOvShrE}uGRv9ulHieY^|TogS5(Z zTYY){oS)Nsz&g{|mBSo%pM0J@Hsd*c3%}PHn={0&4uFhP`p192iPO+}*ud?cd!m{R zzMq}}y)u3K-8%`Ol$L~uQ#HVWKXxe zQ>qeems8 zbF$OT$Vq@k7p+ix6R) zK(<7AliI zf{F`?+K_3pR_L02{ud?v0idT_$H)d{gsQkxJ@uecNeB>}KfmxG>^LMpJZRu}cAk9@ z_$vFxZ^o#3Fw(O=$hJ6m{3$?h{$0UrEf$|zmz&D7tgGoz1!@y&?aNG@vSgPP?Q;|e z9U@9GksBqs{#;ho#i{sz!K|157k@G7K-Kpd+(SSYFUuUvZin?v*w)QMAJ_de6vUnZ z!i-Xqo3qW(RhFP=j>l_?ku!nyugAbNXWiSzVB7`*Lz#BXn~ui{z^!hPM##cQWma$H zU}l7N;SE-OCCh4~={%R--klSi(s}ZI%*=69RPQJN=rSk|Z`^PudD}tH-fXR1GB^0) z`N~1UEXE&$jE~bWtWp8?G;l&iaI}uzpDWMpLrISF>2){lwk3}no?MmFO7HJ zA!&a+NURdmS}&zs@@7mLD$2W46!diJ%?A2R%gB0lJ{-3GxW8f}AA{ys2=}vAMpoSa z3Ep1JGMm?3MdtgBp|q*J&e+L})0+&Z--w=Rw4*)T z=B>--ilYLvVS_u{|6dvvz4Q{B{^DSf$5-noRM}%rmE)_U2SLWNUN}3{%nRe~u6egR^UGnxTs8kl z8smZzpS`r)qvDk<9vUt;cf%*V{hF(XMxR5%E6cUC6+ZmJ@-Ko_i26Bn5tUce!HkFkvg(~H|#?Y zG!w67ENT6D!M<>AN^rIVqS5+^IE7~VW1M^or_*_I)J#0GMI~|(aoi&fC`0jt6yHoO z894NJDa(Czeq2=`f}F^AFlc`GML>BYt(e~DTcvcg(OrJ7b~Lll-eA3oXqmJ6i2fqf z$~*6ja*#?Wg1STyHkR3621xwtyq^=O$nq4?K>I%zt1FijET~(F`-=!!5`-SXFrS5# zLC$D*<%)&qmxf@~&K_AA!^3#IT^+N-;nycdN=+9;tc^cB5bKARhmb7_m|4$EIh~}| zjeS^Mv?db(iPa7DN`@e+tFBL6k!R`pK{6r)S@{5J_hr`rSx80Oi)d=%3=5W zSi%zC;IZZ2e|(WE%hyt6TiB$I)=Nae7rIZ`(t_2V4nZ8iLVOKqD)AjD0(5DsMx?k% zyg4Md1_Z=_zaV@WO-{=%DoKYQaA{qZcJM7n4Yyq`tNr(I!)f|4Q=oDHw`1i9rHm&` z9O5r;oOqnAfd8yz>iQMDIR0oL1IhL1*KnxoR9K(YhS= zbs^cVl>!WCU9aF$tPy7Z7WY=ZWrKm|szxkhSCkA;8hfvcg_+be2ssa1HZWM%8*_sH$`ln-$0LK zV+r5uEd;wYOnVY#ise76y}yfcn?Z2M9r7BXWHXJ<^XK>rkY)yz`I)`r=?oVP1kkOL z*^qVhVQ>FzJk!e35(+vMA8$Z@aiU>AE$|3$LBH{KM%W_#_8H`zMhnw@Q0*Hfcp zhh7Zk`AxLyT+w%Bp1gmmTh#~nTQ9QndSQo97)r49&8An*&1-H#^s~p%(62}?|MM~M z_Pj1EgnRS`lGY8xb5FuMPKoyv(N3)D`n1sI%s5LeGRkeRihFYbbALsYGidLnJam5+ z>u&hhxA+Y5Zk;psRWn>&46nIZrhEUkrAC1g>!#l#IWIM0eMQ7n^k-sqo558W|E@+i zPZ;|%BhR}p14_TfL#dfN=tEEihLzqFKd_?j zN{zTubJwl8!xjNH5XiU>P@I#>>yr|lCs`FoY*Tp)du@tE2F(HSeK#sUFWXGzHRM8x zbU9(DA39!32Ak;yGIow^8g6l-3w9ka<~PB1J=PFcG{Mpjs1txb*kl2MbL1_sEs%TR zdxu}@eF=zoTrW#m>c({&?N-Td*xE2>K$gHv@OO;ACAXeRQP!h+mXeHis*(h#BkJ_* z#f2yLs>z80k=Mqw5g*yPCt2%o2Bs6TuJLB}U_3@!^RWvgS-`f_NG|rJ20x+lJpVQ{ zK|)0g@_c?2suJF0FyN`&=N@4VMWm%O)ZvkRLN2&InQQh4_V^+Mod-$aWhq6$?=nU{ zSTbKvSd;!M2!A!%@gIQ~cEOX9jEk4fO9>Vo&=qkWK0+~kPG9_eZDhx*G7v${Vh||D zS>K!Ni6S3vyP1kpO+~>o-+^Z+G;d4!@e|g5sNR!25r?QavckNpi-Vlk{KYR)UiL9d z*fHnjc+rNK%jWg85s0t>E~Bfo1?{hJPu@dI&_5RYREYp&$A@0E z?tgYf%+#>>&ZhVq54HVi8tC~?Pl8ez&yAV;5Q?`gpDdYEt1W}KST90yuC_D?8VJyH z95!{y)6@+q0E`kS=5a%BN|I*Y)YE3V^MTY?Ak(pz{Y0 zllh}2><$X)`)8rT0r5SCoQ3D=0dVDw2D~=V=yH0xmpRlK^a*qztj+J_$B-&pfQx3w z06d?WxsVMw66?AmVDu*ZL{#|mO9I={^BO?eXUYM&v-oun1-%GbfoL@OiF#z`KH-4E zL!2*i)t37C0szg+9Qc>TZ1_RL_7*webinuHmL9=c+5?m^?PMeGT3yfEb3r8S-vrV>ND{iw>k`tF! z&VB29_kG3nPH1v{n8QF1aEHq9GybAyuXsh#nW;h1jTtRQkahHMZg2U&%)+-Y5V$tZwX24)+u34AU zIoB!v>kp9HGZ)fq0}yw1(oV!C2x!DfvWi6@(Z=41#`Iu9j{eW_wQvX^haRmF3S+&I z5J&a1SZ}cQ4NUF1*~i81TTJf#Qp`GYEF}mmW2Ty9P>6jLp1qn1)9Q!jcc<65?Gj zJT&S5@$@e4O#ku!|GN~Gm=Y_8tq7HDBy#Z+-4X6;9z_AIuyt&PG(pF1+`;np%F@Z(@O@QO55AGjUxfUzytT~ z8tVpORq2&iHtMsvQ8wjEs*}7#qbz~j(&nrpCQu(blYJMK->IAaTv*tb_UgTj`qHB; zB+vH3n7vCbesI7rqQ?20r3jx(jBg_t_9S{4^?=sMRa6~~*L5@b=bG20fcmSg-XD78 zECN&he7b_7?j?WR2rf`mlJ=JMY{k5`DzlPqw_*Hei`j_*VjMR8+Q;Rd-^wURB!;=7 zhg0z(CSXK7&{69)PZIa+Ha8MJqmQST0c3x+DKGl1=HdS&)MZetgG3PNY9HSFq+5?!%PdrHi)?(exJ}0@%_K z%DO|5cp+TKB5ykHm>5W^mDNtnR@9+L6*pQE=x(re|K+Wc&z0?o*@IzE zCddn(f80M#8XG`gp~hQ=1QSBMRd8CfBpK%l8S0=CLb>4*Xl_~$hlr|5JJ)QO94hv3$)qG>d5rBlcg48jI8f}?@LcVoyZT8cRCf=}Xclt`j^wJG9wfffbF(NS- zg=lYW=Kl}v8IlRojFbi!go!maeuu~C5(H%tyOCadm-aC;VaAFeceyAdSo>2dW94V)@7sNFK6G>&^f5he|E)(dX2XrwYn)%#Gt(IGo3sHCO z(LwP#r=u@=Al6@!uX5+UskT7L0~4bh`UL?*@%rZZVm&wCJXs#)fJBWWS2lysS&0hP zSwA#pTJnnH5(82C>Wq2bH#GE4-InME=9V5GFaOii*}3>~Lr$+^_Q zouuoj=N1YH4G^zUDzkC{JeZ^r;X8XUe-ZV%x=kwVP zMvMtzAu@iGOx+QT;hq=JA*0R^w(VVeC(Rv3D6KA;PK=#@S_jAV1v1>}lNn`@=Wr={ zQKugeT2HUxcF-@|ww$O31(KU@0%}-Y96nLW`OuBlRKB0$Hq$MkqdOh7ZnaCTNQHB1 z?Z6Vy8;X!yRdHs4=L@i_mnVJ9r8f;#!ommtkmuh!|1sX> z!xt^cC1cuS+<`#_-I@Fh*c`iQ2+H4L-?pZJ#YLU3NdWCphh`Eozy$Qo!kZm7n;emvgUqZaH|^ z+-3*=-^}sEofX_=TZ!#Lt#gjWA{sbeaWagz;288@2QR!no`%zAav3@)b2_>bfiP-( z74{L3U|=ts*WsfXy&O^~^~^JPsgFJgh0eD`z1vF>_F0bpDFh?D42B?H^C5~~Af>a- zVsKie;b7hoVx71;-oqpQ1#Q7)5;I+Xm93bSg7{aJSNnfD<^Ik{%J7yeE$QE0&m{uV zZO!RTqp)bTTl~nar+?b}^b2cpy>1$scB-P(ZUD~J?K2^+CA5-Qg=;-17pev8N$B3K zZsPHt4WYB&kYxj^5lUs>!t=HEHUl>Cfd6-OTt)`rjx-(`5UfRsp1gDVYUA+Ohz2jD zcvwC@~j@vrpe*$kI#0L*ndAe+Ac5M@v9;!KSLL{>SUKMa(`>t zI7!+h?To6{D$f*S#JrUHRs|AUl!dxsjU{uo0GF(%W=67K&ow-06-H&2h*fB^RW4nH z=s_VJj7CaCJCjbe{s9tqZ-@j05(k?BhP&I1dz|>mFs>&FdU9;!DFb_a&^D z;e3Go`BWaPTs`mE?()m-ac!;IwP&r$uLVD43LjYHhGIP0cpH%@v3(kZe|LpMP~Vw8 zpEWZ2U#|Dn`f#LFizG;M>Z3qrz^i01{By@=DBhB>^{LBNvkt~_juHaD9;(SPHX+;sz zbC*j>iy@RswYv%;6#hveOq+oN@ULUuz6OSvZRwTZREg_p7pAwtH5)m73RrJp}z)m z+bZ|J)Xmd&vWEeoXX%ezcZ`8NGa*UXaf|Vl&*v+omaeJ0KAouQIsDC1zm?WNjAmrK z$Sn-;sxl+G1#Z75{ql*0H>Vj_b8-zVK1^43+8+L);Q{z}QSoeDAFepUNgZZH&5OSdo(L3romXhBI~MUaz@rQboVihM z-KPiELZ^DL%P=h@BV=-tZV{y|+`JfV>slUI&~E~;F4`7NVt!86b>duf_AbdY`#XdG zA1E9g;WO>mwbY%XwwosF(zEHx>60Bn{4=#Fsd493aL^zj9pK>9+a51)S;=#?&$X;`zJupHrITO-< zJF0XSg8_)W)|sOGDu!^IYyf!(ebsGw+OrlSvV|+Fom(VWpCg$#cjQWJE16 zl+<#8jl{yU72ijeB1__3)%sIF1^e0QlNc$BETp3j4AYV61M6t5ukKiama)k{(ZPXxfyOi43^=W#Ef&SZnK*!-^s;L~wF<{b$S&`ceq zyBP_!@qHp_a&9wC%TD^KKt%IlrL$r-l>5Q11OFz4lyBR?%!_mTO1%A~EItzr3?aS~3p+pcVT|1D4Bs0* z8hDmHqqi^>{w_efi_(y)rNyGWB%@B#`yQE05huf(z?o|0r$D}(v_KwW^=qMc8GULt z54FKD=mEhyXe0N?pWL5+k@yxnh?_8JN0)>-F)WX zySQ{wHfH_^S*d)m?cNH#I~$|u&^Zdqr$A=F0oeAL+}<=@Mx=l>bIOP}8L78E*G%CD z{fRB}bgbJm$8^&i^+lmOS9MpCOu5X#{%W;Kh7Peu48K7_tW^bRkMuz5sMA@BUFj;U zoelo#=|l~#L+|%W8G>@dWUb~SuT+&^9GzUM;G009M!AgVie2u@`>R{S zWfJYW)1(4GWXNex-k5Y5xMj1(rt@^U6Gc;vz0iYmgR>>23)!98fng5axwm(%y*IIK zI6`_(z3!hAzWRK3NB0SU}AWu7C$@gmwCi43r zd11i`?#l?JBlVg%`_G|p$E~8KmqxO)A;d%dorrUFT9Qtjm%Tid@y)^{As(7{dbq2j zxI@9wq^Et**2Z$X!A^g&v&sjzC0QT!5?uQVeOfig zI5b^|*I&VP{K@KATbUODl@AjbL?U$Mj`TpUu+7RTlFvazv2J=}lBHwYCI+YVpki%` zVn*P!Nev5j z)2;7nb=Y{b2M#R)(7bfB6m5;+tDdp6?N7#mUf=w&B?dhfVdvCYqe-G$?oH0%LbWY# zMzYCjQKP-It5BnnQDD59EeJi9_$)eFZPjV%N??1cKQ60`&rt;<^!Zixo(XE>bJ|YuWJ{^XXI?V>`IACmQ6K* zzZ8s66Y-^PuK9-JFW|CvO~j#d2q)-x&%P02EB^m=ddXXF3#EEIf7}oZ@0|G`!)@_K zV^|w5Iq$=pTg1K$KIom+qm!dg44{D}SSeTHc=ePeG90nX*tvE@AmhYqB^Z18Mk{?v ze>dR6cJuuGc&m}U>=s_heqKNqlq|9j=hADKQ#;3PkZ#aZzsLUv_yW$PF8A4OOzZ1P zlTX=!iv@!SVns4*hvq{rw((EeH4xjfeq~*(&?|$h$kURfLpx)=8bV6Ip zh2QjuWE$Z)*jKZY?`NBX>o{4>Ym{T}N^--dtFe}PHHxPI2%ktJlL0+o7i&&T+@&D{ z7Iq(_rahd39o5GaBgFx57Ngph(bx|bt`GpM6-oF}DT0NX5zl-8wt)kJx_HmIG+MI} zxR!ET-^sE~(xR{++GDk#EW>)p@)`qDK>qbzEtZPfkEZDE&h$Nv8YT~f)`?F=;D968^Ui69Q6GbgH5+t-}J6|n{S@%%Y8Cd z_e=N2vT0GSdg833Ux-UN;5V2%B>>?3-ynY=nd~jADg374LTo+n`GW~(f-iXY9Tgzi z(L~2VA5LG=N_d70Su^9&T+OTTDj$rSL)%9kk)e!9;oZ(8Y-!j^#-u62j?Fc+>- zr$Q-DHvd@EMpwSEz5($)dLtZlP}RaUzN0ezp#JW7r&t|4f4LwfK$WT=*X{nSs5+&i zTA5a|LCV=(I0n#{vb`Em>e z>R3yCEg3LG$y&#KVy>lqF7U1pNsatkY^~!dRmZ#To*X)zL}jkcE*Aa@>rH*U(K4ZM zrOHuqTDF%z-JwH3s?sykUO0%Q0C@ZSJeu7 zjx6l&B=bv7(6YddH;CBCI{%%%gWr7aKo_mId&-|!OBWSD?GhL#dMBR^dvtw3%nuGy zkBJHcfjr5>ENIQZ?7X1(>`DSSb$goIXSQ#-`p44lK_Z18ELG4rV?^+7mi^t6qirzH zOX2_(AEp&NV-=j^=`jOiNU14}%gw<7URd_S^-_f-MqW2p?2r3-L}Q*?cc6KsD!k_? z!lO910xFCt7DO{lp#F@NL$SobTj5tdTlc;;v}W-R_;m47x$SKU@>+Q>;+Ky%6`W+F zfX=|cSiP%?j@F4T7v-IX;}Mb2U;Y8**S922xXlg=5?jgQkdoH^8MP!Nr=g;HzLGcD zaoXa^ymNLj=W>xqBQ&!w_p8tg73cb24hrKvSv3ton{$F<;7c&a;aMBMi5;+zng0Jz zUi=;Gy>#@3-H{t{++ah2L0re>uZI^sMU>HOxeH`DJe73;b(67b?|$kjxEBSRo|KIC+Cr{UI&@AV8TiQgE0{*lJpt@s2MotfJfPD7$+! zI`yc3N_538d3Y>yR=4B;L4Vu8WAvKZ<$Eu&9fMh47!7>9%NCki&}d*POoLL3;&UsA zhfpm0kBMYYdlEv$=j>=)rZ+E=4DOl_19`#sX6zwEr~T2+=7-#l61~g--#wmZCM7&m z2`wRGmA@P(3Gk|1x+b4^70&DslPr4X{_BCQ)AT?>R;KOR&txAj^Nvyz(6ap}0g%dt zN!|hOSu5*#!Sq-wzYXiUS3vnt)Hof$a(5cZy$f5p`Q6^Jv(l?OR!e%}b*&F)HfXn{ z(YQ3Vl(Z%Kedczib=@liX@jC&jOxWdpBJTGcdW&o(O((jN=cKHlaTfHQ?o@};9jqW9D)~uX! zg^`aG6@Gn}Ax)3>%h;1$-+)4$*S;9|>>cpfA$u|67H<}pbgstrBPHN@f zN8xr2@Lo8ZlUVlrOju*Jaj4XaXPe6;U)yF3r@Tu8UF3gxTltSInQq(IH}NF*LoMb! zn{nkjdCM5;%=I`w+Gv!~%Yy%4x)<4xleD+9^!e)Hqx24B@`vyWsiIEd_W_}L0BIJd z3B?h2+?zQMQC8s9Ue*(b*Pc1(xoO*7Xf|_P1s#*`j8I!iuqjr%ZVe9Ck=|6f z{p&wn&EdF^h#)#$dXgG-Ruhcf&3T(<%^1{1wP-l*od46RTtX4HT@ttQsvdm_IG3p3 zle+ygCnf5fjTID=^<3opOs;rF0E;HM(^NsoF%d0Vt4gEu5_6fx&(!!HdBwI+E8?J^#1R)`-Dd>E1|Hl*5ySjr7?%gR8K=-9TUxf$W>@3StPS1f(b$gOaIoG zf$u=yc2)C~u)*}(+te3ZTG?B1+s8*G@I9!M^{*NQi^mar8MOatN4fboOa69GI|^Re zXRaWFb_W^tgi7T13Gl~#Ue^+T#2}6v8{au}f%)IUJ)b+b!;SSC3gS;)-;T5wwL?NH zaa+RZqdB~1+HP5$R3Fu@pD3go$aGjRiuw{%5H=DRRsn37X`C%tTfGOhiR1(1b6HzP zJq8XWlWuJSsv2g!R^`3KJk8thsK}D+N^>j}#T^!>N9B54%BMv(w?6z)b~GLzeG3Gf z1ZERY+c>oGI|!K8<3oYGC=V|_W}{uu+>OY`?m9Ob7bM?DgC5co!oa%kF&3dVStEKz zoTIw+YS{U3(raOW^(e=zSAJ{jR)!FEnb;}C3z*&I!3^3mh&&Q{Xj=vY+-D!V zG%_kGxW~$WH~45``jjZAq1kOuO{ERprOrV;Z)pN$%o}-24yGfgBiBC8wUASJCesW; zc9gIXs>)%KTp4DNpNCZ8Z8dItJe0g-#VrD=qjz_RFiABJpdwENcam_7zr=lI`9D0B z@_6EvLVbH_Gtj@p^tXi7aCqsgq|D-Bx3b6NCArSnDuH0Q$1N5uE9yXbHtdnCZA@eY z902nuafxM9{5)EXD&R0enOnLv`gu!b<-?lgknD_%we!^-ql%DjjuFtJxCmN~ZON@R za7s{`Wb?wVrS`GBX|v*{?CTlJHqZ+JZNIa3fLNP-P|EK-qix%05*^_{>d440? z6j0^}kA}O#n6>B2EbBSspVBei-#k3AR`r)!LEd5WPo&nIfNyuHwgGQ@=h1oz3#x6q z{|jT^pAyj3l=3>Y3k*9vYa|eI5&L>O;qnLJqK4zYVHro+0R z;{V1DH0P{-ZzavvvQ-Xi)y~m=l*+Z-O+OBCLKN z#=TAz3EZs_q_j&Q_J7Co4kC{W-g;Hr-+{ctbt5cb(=X}_lY~6Vfu@cww_kk8oa15F zk=oZ8rQy+0F6!53F|z26TkB;R6W+_~77CLvo4+PeO=X%)?}hEHtTN&+TV2M}FQ9Cl zYe=(M>Z#up@od}Z;Y8k{_O&Zrw36N&ORo*)0#@x7nfJ4{a8cOD zp;s#4>S>KVn%vfdg^WK52QF#42MkgLcODv~HDhNQj#v*C0BK_WZ$Y_;_){f&BV;)- zyYu0PGT}#hBZ8H4$MWI8NVQjO7t|-C_@88zwbCv%#7`N=5H5j^jhZ|$-EJi6V>`?d6l0+paMxgcS}%wb7T%Kc(7!2-3j z?YCMfnHc|BfD{Nr5dQ=Eftl{!3}}x~)k#&;q@B;}sa;A~OoT0F5yEKI&L)nE2zWa4 zU1_hIrzPi)%=wL0cbcQ9GunH1|6l)akJ-1u6RqS!D#Wm8&A4RSEze`d>>UZ1g!D1+ zejO~%02>t$XoQAI#5{Q`i=(|LN^TMB{9pXZ_(&jM|Y^V0yI zGicdXQjuyQ@dfUKZh*~SSCE($dxM$a{3yNRB2&Y(>2mpGW(i-#F49e<*`?4+7C}wB zuRk7dKCXua_?yu6^?=776l+Z3|>=HEQCymowaDx7QLQnj-Uo zW5Yn?**v`Fl9D=WCZ=A+X7`I)%mhZR^oSpNcf!SX%%^(kGXL^-TN$r-6EELhl~OV; zn$}0Z=mMXxFNV~^o1@-ot-uo2$xVqp8;7saetu6Qss-hb8Lf!{l*U(XLv!b9B=^f+ z>uglcYKBr_p(BreuP2j;-##2q_~%(jxb=S_ zOO)m(o2Q59g372&@(!;|o?>S1tu;qAPD8wxD+0zt{)JwJIF=w9@1ziO$l$i>lXc^L z+4F#C<=fxE#F>uR-+U2BHvKjs#rm#t-2Gzm=vB-6lV?H^T-kaU{cNLT2jZT#~$ypkG&_?wj@KG3Vf=qh!wz_ z9uQ0V5R2wkhv9RYwT6IHdw z?2_)>+Nbdpeu}-=fIeO+U4|W;u!bSnpA}E(MUNG@@Em3N6|ByvB zJNI6+SWZ=wLF*j5tz5;wC0wxd@2L-yy&k8+^iNHzI*(EKb?}%=H*482tlbm+lXXn& zJqecw*73mu$R3r^q#tyU((D=w>nhkY3si1$>QPXem4wxeT82I#EWI2w z{%8M^#VRK68G5c`W;P419al9PuLxPtp)L){I3kMlGFARAhkXTpnc*)qOxBJQfXy^M zuBId)T<*kJB)bV2dJ<*;S}>G3r(Kt;{FL%L#b&5(>TdC&C|&zT=km@NTrpC<4p$vL zA@}@-=}__B9mfZyrognKL1a&LI1vulq0?i8*pUi&<-R8*$YQ^Lj@8|SY$(dpn+Pn# zAvF*@QP&0ILVtBNM|H;32>nTChDQNd>8HsgqO{<`7Q1hubF>}@|8i`E62L*ZQ0kBT%u(& zM`v|mF7Fpuspx(hzhyekKW_D{BK7tps=PfiOoA!30&Zmpk@(Smvgdr)@^rv6^oM`i z5kHg06;@A9Z3>^z4d4iq)cl(SB|nX*wh4X?;FK<=?ac=T{jgbYoDQNfM4`F^-r&A$ z`3e0Eg~jOynY%+D|1W0-!YzH2q`Zt)yNErk*dB7>>q4Eo7~zn{pV{IvSCYg?aFK5p1&1@cHP3tuclFHgh_7jhfJ z*psvy>>u1)-s#5ywe1MW-Bbw&fNk;B1$;+iXmV|3#C`uSWQMB{L)sNFCCcZe;+``H zSf+d?G=&)nx{NOUr@@TMO(F7uL3l!wV)(*bR7ER^8$2Qr=+mRir9Vuj$kLcRAXu1& zj>BWjPz0M++L}=%(PUIk6#0ad9w1KQVm6tx#N1I@s1jJi6g%o9NZYiJF04M0?9)=N z3Jia3dQte-=`~5<-n6Ce=-}8Ny$2aXvAcHAE*8yLIILG2R99A%ZxXP6mr6~ZkJm_9 zimOLG?w*%h8|yRh?RnF!`kgyuJ0vsfV9%W#wa#dD(JJmD!((h|uH=JAVsY)xG_C5# zM(omWF(i5-V1enouzU|n>l@QoekAx@(*o8Gl5S6}!!9fTA^gEVAs5}>+&EdbLHTdr zUwv<8zTXH8C#yN?XNC4;@G*IM-#TK!|Bh$3b&nkLOuk|8l9^C`NTd>VX?HH?g4--4 z2D@jOQ0vq;9BO6%VB$O;5N)1sGwu>7{L(~?XCnqZA7L?vW8X$90W=g^JwM}A=y|7WmWkt`ur;0cJ zq*#9jm04>tl?0g za`9BXKen55-prfn*`RW(>ggFrEvw2MgSIapEgJH#14`t-Cw zLJjD;L;eOO-@5pe_^tW?4`bbsTz3Dk6bZynj))<%ca(Gy1*&qf8*b>0;x!tv4KC`s z+MY5==#sB5$fB6l<6~sK%9DDfd|A9<2g9kf()OZX{K4Pw_OLzYH|banP_N5&ZM|3Z zw<_;Xr6?6@OVjSmJ;moa+YslBJcrvkrJr(WdX(>4b+3gvBR>mvA0gqA9o|$PRirdI zV}V8YmuLH&_X~Ha3;MBGc%^Us9Ct1e31Slx7kVuj!N}zky=8c>l-#1C&C~&JAGzCbJmCm0{GQ->Cb;RkWfeA zL;GZ&$Q4}DS{|-_48yz819mx*7C@l(avZlZ5Uow_mnCu=_ARHrRgNoF0}}*(c{hSpRdD_IWZzwEm*$K$f*yfmv-uMG0nG3o6V%N zn4@S60C1O*C?$nLz(2R#;*NT_jyBo~ulof?DoCNBw)fC%%Cq-%Jr}JRCCeMvecd`P z)KE^_mQyI&zh~?L%d@h%j0-yL)=_H)*wodst#8gWpGh29bCs2M^bN-MKKifXlfTYF z1<=L1_q?1KaC>;doG=uJ*PFDdC~nP)9gm8c*m0T*m-^lF&_{2Csw%axm0sZaML{yi zqX>>-thFD?ac{#y!t8ORvPWzDr0^>?0-WW@ytacr)*^+k3Zy%`%= zS0y0ikH*%%x>K%|1_Az^oUi%4^L@5poCodzZ+}n{KPz?#gSutsXK{spmra}uJZm3p zyGe;gI#CiK0JmB9>1dnvZl^8Ns#s2@44)T3A1a{dNPT#P%&)X*$w0iR*^ZAX_ zBFv&~cOGR1hO&-2UT;b4mT)jG=o54tWjf?=7(bBH%3D_Y%W|Y%>t5Tl^M|0BquI8Q z?PP%apMk?VC_>$9^vntH1m*${i}@CSjaioAm2I)KIi0H%4e8r%-_tMabdr|78g$!- z9}U!6vHI-rSSnqhY6j0(J~|*+>2{HF+IRBjR-)^}-}I)|q>K&s*HHg*nqB6}lXFZ5 z{ldz|wPtZ>_3XYz>RJgF!#1A7ZnE96%79#GeLuK%sh^09s zxvAO6Wvmw4(4+9@HT;bYIS!EZJ7Z@ium452dErOwz16w+9RlsF!8-A%`c5}bLS*)4 zf|*bL8#XGm*DYbS`(u%>|#Z<{6}*2 z3m%S0oOBw!_C2=U;(<<&ES~udu2k#97!-RvIpd#{=h1sXZBZ*SSxEQiTF_Ddwc@te zdbD#d(XIEi%aKg&+P?>T039;}XuIyQDeL3Uu3iqY^*nM*bO-`kO>nTe*1ngdUlf1? zxWjDO{B{FQf*XPFNSBlO^2V;`F%$NG|->s_ciXhaR{!y&M zegoszA_39_=e8%alv-QoFx9`a9T5BiGfp+>0gL{A_Pzo$uGA$4_II=*R=3{nkH};F znR~*co0OA0?!}fG#uDFN35RoD%q6#_dZ-Lo8!k{eH{=6`qX|vDeo&(oF=#-KIH*iU z-cv7DIB@G-KD;a`(05%H>ij=%Ttu1+N3CtO`PAJN6~eJt%YzG^>^XfmWaib(`9iO! zT}ZEk#v2N7r&Cog2pu`Rj$C^bQ69xOJJ?}_X4|PClTrD0u1c2pT^4itb8l3+xrMB3 z8?*QUq4Pm?d$!;USV8{-MUc0Xjx^3i&n*+W7Uz)}ai}D>->*Duz}UvCXJp8zYNalwG74h8rgP*Aw%Ynk&Zle6 zw)VUGmjEyU(^DmSpvI4yoGeZI=C*JTs9aG)n=>caAZjf!_^7isY>wWiCoJqCVvJy9 zl31*wnf`m`OpY7iH@kgSMVtgN(_|e|>^XQZJQM_<(&@fqV7O%&#|w7 zF!{m{@7lE}KAw?jWqyS!5iq{OwDRvj0Dfi~^O~=Y3$4dhk2cw+H{^pDsbh+Z7-uV6 z*wjK+#&0T9!ort{Np#Etgka+Wcbsjrl67a^N$)Y2mm8C%J_%Af0qEziAlDr1NK)jo z5gZ;9A?JU#GsZ9+an0c}fK7AM@V{m2_^Qns!ZED)E%-se!3U#T*CB_lAJ5_z#TqGz zC9e!ttBrQivOCSc=gV$8gfK042eLm#dCPbd=Y-KXg^+uD%d$w|-m-0Eg~yu=o0``% zA7?q(WY^YCzv{UYNUy+lK;}fy2A@m#7oOK{rQZ{2d0hcOwDq%ZQ?=f=%4!pQm;4I@%~+N!mrArF8xDu3-BE}hUXS-z(6_GjVzZn0%my z2Dss-L=(N2mZ_GVZstr15K$!pzW5ka(y^V)Gyj+i*1#P<_r}((9AVt~zAwwKl51;i z@4q)T8OYtrwcJAHE{o_K0i*EV5n5W^5_QwZt$gZKUbkgPH9PmjCgVqOA1?S@vUT`R zNUnZYX0ME81$Avdn{5OIZn>O9mMK-tbw-(Y)Sqq1{n3+KJjq#y?cG=cesineXU*ESS4HLHZ+!E|aa)32v21=O_=>qG=Tnad(NR%Qcp(>~>AvxtfvDMQHt!Y|yE7T*?p6BJ#UT z$;b+S?R#4b?z4?U+%8x8|f&5-DA% zvYJ1Kv~Kxn(w%B_6kx3Jk51_pj*PZJ8#xV3-%)%u0iEMw3?FRFY;|sCT~6=xnWF*ZN1_Xp!41wGi@Y{(Q*n*6zLKEu4N4$Upk-lq%)ILdQ#{32L-tTY zzJ}xP2R`c_tW!#3sih2LYd~A+uOlAAe}-Cr)w#Asw2iUIk~H6fW$DZ|lh^G(qCdZ^g*}k48Q}!q30p^} zppik*0$2(7+#>p**a|Kipk9rqpW#E`Tj~8#Un;jHr#Hu~Up>QX@6aNB3G#Tw3MaUQ zBl#n@%(paU_P!`R4l{4$51cO%e$UR_EW3g;I^5r#FIjC5-- zPe=jyneYA!U!j`ZZ;{sC8s=@ykUjUxOx*7?lC@lFq#hm{Q z=uU{8Ory5<LoU0+9OGNUV25L^-2IFUQ2-#pnJ@#vI zo`bwFJ3m4ooxNVH2fUVBT3KdVt`agBw)_&u(OWs1S-;6*4kE!?@nfjbGIC=G8sJfF z-!HT0Fmf>S#wA%b|M?wJTd!5--ij3B?9zC@w9DmnQ1Q8=Q#AS$_;AAmJT>(xqlm2&-;?WUX57pWFxNQsq3;O z*ro5k?QhK3j2CQAY9PE{>tG0T0N%tyv!Rp!lWx6;w0FrJkbKKz4;(YC*4pV@%cLxJ z6~9G#PWOBoOU0W1`R6p0-5zPXW7eDuim?gI!X&Do4qE5I(<Ft`j?BoQe{@W7T$s4>nC619p69dU{ugJ1^b6pv<%`hAdG|+Nw0f7BiGzZC_q+#0yU?A3fdi| z!Stu}jtCVp>SgW8DrMd}mRH#Azd*&U9^>CzRX7b)x+Yx6Z>xsN7=7SkbA}9Onr+zI zivr;E)Y%SGm8hvOwB$L$j=gCHqMTBQtX(-q!rjmN6{xv{ks#K2Ii-`lqslT6=r1Ye zi=sNLsoUT{!q%4#$&;;A#>Xv3oAk3|S(1-{6sf?#B1Is#$cUuIy<{_?gwfes>oWmJ zv6uDcXzFdv!gU32E4VqCo8F^nDJsEEP`BiJ{Cb=698RP$W+{>6oq}F)T0Y}gtjEbB zp0o85dIxR%sSe`~+PS5>s<(7iux5;)`79>+(N9}8(;dCQy`Z0Yb`EJ?K3T_0&rSaB zetqzEu+**2P{8)*`+e+4tbF)JG-Bv0813*XQ`qYO684eT#?fwel(w+?jmh$))`H{| zkm>e6*n@4LXvP;6lLK}L{pZJ;X0L(mtnIvhMZft+(%AAhj=PM?%^&O{Zy4*EKluH`Lb+|%Co*8$%OXj~{qeiN}kN01VDV)e0pgVT^Soae(Z62g zSQe;WB`~5Q{LJAsLa3yzFRuL-EzHEtQ~_b2Z zTKQeG1V7w@aXu015IQoyQYasF8P%N;`XHm6zC5jXm#{fKNfO}9pHG-3jwUpMec{p) zI<%Pf3!2xtY`ffK1eYrEm%Y%0fyiSyPws}V6Gle+t#3Hd(aY2lgL0J;0bQ+b^Q(5l zX7v(U(67%$L0ZCqYdL@2n2;KFV+#TdSG`0==1ob6su zWcXxi^;Pxs_#P2($6#Wh=KS!uHl8D)zS|OtaRS6{bwH%C%eN?!;IW0_&~T>rGA&2I zxt0eVy{a%YQShP9GZsNZ?bH@}ypVJ-NLfdQ%zZdux zP(oRc?#IQvsPu(D->>?@U6xb;#y)in9f6%p_bNV4EFB~wVcyG~-3}(LWcE2?Zom(( z0{Lye>a-S>x4I?X#TecCeqecU$}-l&`h4~I zqm_aMO?`?Idd;#NR2NL@-?P#oFCe3k_if-HE<4oYw2M&x{OS0jeVZT3qr{Ile~dJX z@&ion6e_pRW@V=N6f`#g36T*SsJMKZV{)NGu)t&W`(d5@fm;r7(&**zVmDUTw3r|; zB=lvbv?GqwL60LIsFKRntM3gA0qf@cWSmhepFuSWxag^FhKq%}Rp z*O*O<_KFMap?_*vYUYgo4sh{n=mb-I5hc;@cCuWNoy5q|afXo9eEdczmZn}$ob`D4C3YWytpBQ)up z?<>sHap-?FDV*?@=dNt)-@Y%Bq1@Jjx~)Rf zTLo55Elo$_tB zX(Na8gMA7aA6-hfy8|D$B?2g2fc;;D#|gkFsTH0&hfs|C|42F)f2RBY|0mVz5=#eD z4ogmz*rmhdw2?~Aot;f6YR2U}%#ccsb8MBv2uaA9oQ7gHa>)6R)68KGu>);u=C{xH z_aD4(@7wG4Iy@hTdpfzn(0|~u<2zmAK$%ipXNLMnM$LIB#w}KI!=yEQ5oDddqq zG`*c+&)mQI=yuA)X*smST~L(-i_jj^lR9$aTJ));Z<>EJjv-u#{SPZ`D4Eo2HRKb`pJp`*Xv%IJmlXABrDFgeC2$Z zKGQy9RI|UE02QC)jOCdj;(j$gN6GH2ND*z~S}b}c^w&!D>*Gj`52wo)m%H+vZNK19oK2s zR+fO6Y6`w}Qj|#c4llox$?g|hqr1W{J9#o*kxm)2Jy>~S`{A5_NF9?p%C3jOy9w`( zDSw*}eJwaX)mDs>9hx`Y>Sbe8tY_P^m= z3!rwIeC_gsQ=O`+IqijDV6$iPpm!6II_RahvxamBkfju1f>TuoIG#IQgiNgsUr%h- z3?~C1NG|Ae7%(=5{8J^usaBj7d)Au^OWQE@KN^b~CWyN(PN**T)iyM3dy>Ho@syyy#`U_RuV=Dz&t^s7JdM`vytsr2j%d6{DYmj_*IFuy9dwi)TQqu*+-G1Ubf z=KXt{ns@1Mv#SfEdXrIO%jqsOP|aW(e%zRztNK^pvn%eqCKfiB)uQj;uAqVnWG^TN zgGK%xtQYUl(&NT)Qp9<*`^~cbafMgMSbOkl7&k@en6cYJj>AuUSSxV+gO+W`X?f+D zG>TEB@1Wf*GOXj4J1c%US@e4J*rp+a`OZSmUq;JHPHJoL@l;ogwYS`H>Vc5=86zDU z%O2P}VOz%j=jeCrE^Qx2R4?cqE!5ld7XuRgi&?m|Lt4&j4EyM1?r1J?P4ls}(`L2C z*nHHM82dELCZi{`BK4wIkNcqp=he~vQnC?4*XrOi~);)22TOgt7!r}{O$w#3E`OM^2I?GG#Fw6e=4 za>U2AND$zCccoy^dBJHt5~D(fa4D{ZQ+iGtAF9Xqux!3n0pi5rE&uMvVenNs**Ia7 z*47CM+9t^~m6~CT z6jx0{5t+!WUAGKf_ZN3%x6^8@a8P^pDRmO!g~w(@?J}( z{@=B#$u^Z+sh+;dCglRtes5%e&3iXJjf+ynMES$Y515qm%1tpSpTRQq`lB;*u6rBy zq@%_9I)sLnRHQ;Vz1%!eA}+!)&UErxq(5{V&FKLLrnyuKu}sKLgh}+?v$_?V1&Dt-Sa1QfU}Q@iukB~N&43<5G&3LLC7@lUDc(5}6KgCBFRlT? zC+VJXjuKK3nv>^w*=qdWfH?JN6tpE_$+#)!hYIXpC*rW2lyCBH{#|OGQEyxaZ|%t0 zX^A3#g^LSsWy4Fgkd*JAwD%I{4z1LT;|#)yuh44UV!PZ{cfZd#3u3>j1oB;`^p9gF zVHqI5>GzVjkd3#GJKtjHM!d0nW5>ibvjAFd=~TmGI5ndlrT#Ok>~$8k%Mt(&XE3v{ z%2*vb6&}Wk&9Dp^yG~o~l7fdkdI=w=UI;9x)d3Gl=9@L$%7U|FJ0?_9FW8SHA4M?s zG>+eUSO@?IGd`d@L`j<;m__o;V?`{&1?KbdAjgDv;lA5nt0El(+&eY|zc;*Q_6KUa z;^djWqYa=q&F~6T4@Ec2zxxI&PKft0EG`4TtREDyf88$)$~`3ZE=Ha6d4TxcN$%cKuj_@szHa|K2PT+kT(=!_-?Ks_1w?+p-a6bM{|NQs}{} zFP2MY&eS?DBhRQSIakGWM9o}tP8G+G$h)YUm!p>pjDM^^qd4)AQN6~OnyF6+UOLNp z2)W1i;yKGz()wp7^9}C_4Ev6}>;z=b6EGH!IzyqacJ@|^Mo3af z$nE+;1Vt9xS{UCm-PnKxwJ z(jFyPH(xzH^CR*q_gkVvFkTHzq2Jrs)!Xj(1Xc?~Ah3!}$C6%;keXrogU(6qH{q|X z3<6PF@+Vu4v>#t~KGtOj!$+@0G*MlRD8h1?H-7vH)A?d~6!|9k&q|}_hy<@&JcIce zC5Y?XU%)yA4v(t{`Uv%ecomd{-xTxZU95~q_?7#j>*7k0neHn$OugOX*_DG)r zxBD$>xbO1&cAL~oyxN{?ne4?ofDQvM=&4-4>v=yW^%h<|Rk2>Btj7@l(%GCEa&_R` zoQ5^eLg%jgpvy|qY+OgbTV-)CZp)ycPh?s5xM#lAQw4>FH1#1B?Z0bRMn2r&v?~Fq zuA^5kK2fkYhyD{B{H@!X&lVcjzQ$J-XlP-UiZdTiJ};0VbXbh&Ne5}pLu?T?8;VZY zlXxS+8OA^)0R}~#_M3J77qC`K)|FnKyQfS@*7+nOwo>zFOBLXm?l*+qK5gH{JYDDP z7&Ce`*amo+Wk`B^RrjnNU}cr`v9Lx7yl6p5lx2!MgtIK(Wk*;MD$(b+SmN*8S3lIW zYt4@sA@z1hB}gK2b%~&#YncsqE7fLBa3cV;ay@b+R`WdLu~}nthvmKnD17W3sI-7| zL>ooSkcn;yp1Txo7~YSI2AAG}eL=p|=W+IOBMMpHZJM}yO?iQlkWXv?U__?A$Q`$moglA?^(V2#K)5p{tx>ZExUhPCc(}p)SNDQ7P0F2PmKiYd2tF^xB2u34-t{Z zSm9&o0n~eq86;Qi1k*8guBqUafDsiQYV@u;{*8X#LflRcK_A63BG&i5(V1;S_Plk+ zj1NHF7x%55>=RvWeSayMw^^0y?aBV7>7_p4jpFd)mlC)EZ_vMOf_j2#=@nA+{u$*y zTx=@K(T~u;W%o>PmRwsjHb1RV{!kaeX)WaU1hw`7Sr4#d#+=??3v2)5QfwPk9#Z~J z6O&TPvyO@=?0%yZ(2ZTM8Ld6^FGb^=O83_r=2%q5RgXxsi;XKOUJ9QS19jcZ&+D)0 zR!5fUS6|SmWY1k1SNE)CoUa*{^oVPFe!9>?^+Q}(ZATkazR8n0Dxv~p+ir67E~oS2 zw?L%}tuB|mjuj1#=c*p4sIDj5qh~)HaEdH%gD_nlXXx!NNVGd!9+_m9e-8v6gT+Q& znAuF*y+x?#Cwct778q4QD#nLab_K|?6&oH3Xc^XFE?s{XfBd=}%~Zwp)E|XRQ4LE^ z)TiBxwr4r$QLZ-%O9MwA+{^&#SIc>Fi@kox+D$Hgtce8?0u&y$A}!aH>pvJB=GQun zpC@8+psh4`STvy-!&dp5&C{HurVs{SOX_1UH?Y~QSuO4ZCYBksf4xv=`0Cm>I z{qDq*nARE7ruPr~7W8^=M|%68-zw7j=n!M6tV{W%^-$36oLwS=t+4Jrtzzr3`2JpsPx5&$$!aMy(c>>7F6P5D(sZkGDOvqqbms;aKy&MM{^ zEcxB9j>5j|S{Uu2ZbnY8b!g}NOAt3k%AKG@a_gM7aDanR;!1OaK06M*9j$PF7|3 z8zbyMgY}Ne;R?gLsJ^c;d!x_HuD1r!b4S~sT=M<84?1z$Kf?hay-T*==a!=hNb3;w zPZoB5bDsT7S(rbCbD&=7l@DW@6EeA+NPU>7JTWO5jQ>Zu-vms(2h#QHKU0VxdS0!6 zqlP`{ZWJE=E5doJvYtQXn-lU}}kV{O>oi}fyigtw?G3EbBb?SLff`EfNI|5IXwM98>SFC98g%jX6@uD{F;J`UVjvyEaG<8@mRa`B}$t`o+FS)QS`>vdNifd?M-Oc2Q0*Gcc(n%{*I?O7x?_cb3USjN@v77kD6;jI1_ z9{QiLO?|bCOTsN0#?T^R$}%p)Gq&b8iJ1t~>Xoy={}u&ygW!F)N(?OCALVwNrVc8& zh`ei+%AqZ59a2A{m-3X#D3TFvQr9ujqO(ioRxFusi0 zD#`-x?S*BjXMoQz*iR%?M)ab8pg~0^u!3!13-)K*mMnC>eMy45suNdUmyJKMni5UH z4t>8I>Lw}U&#JLDK|R!&TxQd?G{CFhTctN0vvwTM#0?qhV;@6DE4g<-p-n5VH&*8= zKM>J1l zC~fJktt@kYD;l1oR44z2+(3`Ku(2r8Qu8evciE9zV$$jz_ByH=Gm9h^mDx-(91f}h z$J4tEUCUPn>v;DZ`533s{7UH~Q@otOTj2ZO&YOWu6U}*P7=y*MFu#{t*n(hTzaG5g znBP!v+wK;(->?7eQenNyAlE&6UA;j2o}C(IQvwv`X$QiRzF8sWjLTXCyudHBCsOqW zP+`)bOLBr^Vff42@q-&Zr}Qv?^q(S&F{zz-J%L<^m9NXpJl*_)u}6<;nx9VZFI+!% z9f_Dcx~iajPXBn5Vu4kPa!2lY5onXi@)>0lo>H>>j{hy}ymGBsM$BmK)oX#eO>MOD zr`h1hvE$0n^=syO)0K%pBL-so#cfH|9GeUYlxA!1qw z(RzH%L<5rp6(^|U%E7M*8px>dHEG1-1etqpTKr$PM9SK7cVMCqL% z2*JX}?W$*&Off47hT3jbphfF9tOu=j!4~grlWRY6 z06cq{gK4zQ@Zp z+f9pBPO-XN&u7NGcAMQ;^m5FY^7lY)MIzf)u}2vm`v9!XQfuL@0azaE)bHNA4SGQu zOt}{9>V2?2dp@_%Z*;n@EJULACS?`*h1GZI6mH{u!&`e@4f>}mQJJ>4G&;!c_3Pv2 zAQ@&E5D~~d8nNv61`Fv0C=-gy;A^|5M1^`3jNtTkc^THpL3d zY)pu=&R)))iRz|qC3~=*JNGDlXyh1Vf42U8CY-DgFbkX_ag~e>3UvspAi%7}0cL_Z zaamE3PV;kd> z>%3|f_Ea`6;+tx*+Jkkqh7J?_Bv(CVE9~MI)UUTq$VpYtK~)W%v3n4FX`}%_z$b$+ zZdy2G5VYi+UvN>QP1)fQ$8ip0&^jTyp zzaz0?v8g{!1=&m{D8o5jsy@s2VlCj8y(w;plXNRwZDq5kdGnRm@oGIU zE7%bgYo~n|Z^y*H1F_!dqp;n6p|59ps_OsyI1Zm^W6AzRdM#6dj@b{g%1T`kss^P2 zg#YR@>+@qeI%n1fI<*ju)pb|>j4(5icIS06SL;G zHTKcy1>O(GUgB1%H>&NuQrUa+d}sB;F&gMY*N>{4GXMIo+u%)k*$ zlz&SbONa32U0RIpdV$nq9vQC+ZMORf)rj`&SDWDkJ=FrI565Y)F`4IPSoSd4A*Y%x ziL+Q&XuWklcxTzTE{H43M)6%bGg{nM#7JXEy2|V1J7E2V+}H$=OR! z9Ch_*4<^y|N`tbOtvm;CmHWANlhV}UFa@l39)YmpwrsSRRO%+Q60(0Pcr`Hg+QM`r z^v|Y`?A0dX%`PIR&-k?gFqnbS$N5{PxB$|}is^G2e`sm`-7V0+IRxB7(Y6lAtt0{V zMpMGEE4f}0B*$+X6n&AnsIt><*N@*hxcRf@Zcg9Tsjfw3$6J%%KSw{lE`Nr_0b) z5D;ygWqg2o1>r2u819XBOV1_NAROgm|5h7-vPSB!)^LF?QT(Fp9iCb@Av5ysOo-GR zYUW+|t&h#0l=5(yOJAyn3(O{ekrlItA(i?;x@AdWt9z&8Ec3m3s7TzhR^QryyF}KK z|JSo~tUF5KjL^<_r%>l|||~Qm`rY zkzubPUv|w8)j5%vyrF9p9`k62`WCaChAYb5{`E!KIu$Oqt9a@k0 z-!6V3*ukqL0dwx*t+IqNOw3&2H;2$fDa!<}oaC%V0 zbH#wB9Pb4MvuGbwzZ0t~8&+>r?DWZE^q(E>vzhlY8%b{gKsO*}Rb<&)$W8|a08y<- zS!OyG8mCYq_yj_FV8DT{R}VE}*l~Tb+MWE!7Y+x`ikU5>8}#>cW9hB*?Bd4(|?}`I?Tb9b(@?>)kDf_?0leK|a!W>mT82R$`5%^3BZqp{WYtt#K#-Z$Q~4XdrLMB746fFvF?H#*O?3Q^HO z&m>J1YYruL@XQiHyz67nnl6}>DuT7mN6W>!JW(Z_{(IXik7pEy4Bw)mEJ_gVRi?4k@K;?t^Bz2*7P)qF8ouK&%2{ne~@3H-;M z4Q+ADE{N%={@E(iAKHRW8~04)fP$rM2Th@II9Yw(Q1g513DNE6nzfYR01HTH zm+-c3L!VQ8=bK$d{Y*%pYRPl{;cd&PR={hi?yaUja)i z9#$rFr3$Y67E>TtJ@-kQs*!McCU=gjcEB&E2bUhMZvAXJDJ=KGNA#&n2y#Q+D;nhF zjArd3V+k;mf|`;Z^y+2cgWRL4#K${HT@~EbA4o_rc5_f~PP1$~vq3D2Kyty$Ln#~) z*Om$s1n4r~<-8OsfRXMhSQY|ABg3#2rCl8#nrmUH)GinV1rP=%yRJ=08~j{|ya^b*X$GK}7+|Tq5+wzO6VB z+QFx+Vzc)!;*g3cQi3z1W=}4p{!AQ^&hv*JSVi9k-P67w```lOA!HGnb60*?ZeS!L z_-JYhj4z?0Ep#|K{VTyf)$RToxF8dX5!qq3TPsicE;(!7MCfp{%S`W2Go@+^e{H~cjP$&nvvwLdL|DDcX3@W6jPqGyKlV0 zp=;rWw*~hrC|8)4!TfG4>Y7I0=2dmS8EL99w; z(^J9%D915y1i4crcU0uHdc| zmw90as(yR%64PKnq4*gxfRI6k{-1qK! z>a!2#wbzXvQ5^A&hBmkcmEqiCNr`uch&-&g;gwXX}NFdM&svzrXle~b&}(ALEEfjRzT%? z(qPoUlkz*ue_D8di6_AhDk$lOP3# zHmpnWBAgweSuHOwKfxL6M|cU%R`*80h5^JRJUF<>Vf3^6D^(sq{QvlPe6j*BFAE7wqL8g5M+3VDtX5w&1A=jAKl= z|L3Z6?(5+fUu*0f1ZMOcYKhH?hi%Jk_lj!D01A9I#?XLCm_N6Aq|}eOh!e+BBoWo! zX2EL4+e-D=Na(Yc!%y-gB6-YM+xGBO}H!>sw4P``N zInm;*R&c8ktQq}mwD7pt5YAXb7vFemQp;rsv?+@9CDERPxt{Usm?uDQqQT=G#@RcS zf0Ncsu0C~uPf?LOjn1zPB}Tc&0olH9^iG}~}>$HBtF?{3HCkK}mBSw=TVDAC5>@U6si7-8W zahb#Y*hYafs^0Z7$*QRb=oD}tn*^OE8N$bD@IUo^sGa|Nj{R+H`P*2!_V4xQwR1}H zrj{`&hdq8KU5SzSPi#+hLNd~q{QiiCQF){>{F^J4e7QnO(ck$>MG}ycRx|EyB)fK+ zXzM{lJi1d=Fw=JZ<~#YE@6--s2qH*J?98A`HD^MWroO`8(=gPH^8qSVPGC06kAmee z>(3uKeDTc3oGs+Ot`z0p^_DC)j_f@_S~(UcuI?=%4UK#0h@IE`1I_vlK={1|)x6mZ zxLwp8Rev^6XSn+cEhtz;cr3sror16VLzlR*Af`CHvGhB2xJ;ZkM0b@L2G^*_AXv{d zsx!10jKUy;Ewv!O(GXfj4Z@sv+YiVc$~@QYjr@o6)FH#1n`b5;BE4!v?=S{8W0vmi zjC;zHmy8NF{=HJ>Pkl7_wH87MI+qGkcG|ZM5O|W)^`B%fk3zqo^mY?sYHE_;o-3oq zANj31H{JERrZk~60|FF1%e{L=UgXh5np73!R3FWJh3RnJc0P9> zf^*K_+^M-Ecmp}>y>PLav(N!M4?yx)&?WZnjr^4KORiZa>~1kR_5*J@r6`Vbyv5&? zY`!EgY|SRB_eAY*mKZVAI&&L*vIQC23Hn_MCU~YYbluk~W88ZV5jaH% zxdpKn#z0;gD7dxE@%QqurFZpq#s2>dAL^KPb3+jK@V|B8jq3YMB2{MEBVL$BwC5fb zQ8Agk`Q~g)VYf^2eVufvLt}g70zch2Xb}qw8CM>qo!Myx&%4nFXOt>Rv%stS?2b?S zRL)+wT}l4tj4#FHBjif4ks-m7;PL_syiPbpvzh+BbrFObxYil8P3cfSmo%o z4mJ6Jot{ImeWbmOpBzqOwoZ8SYSNjwXaTe!Aks<~i-9(e$?f6Mml_>j-yl?=bGjv+ zct_xyLQI?c^jOY!SvsJW!LpVZzpGl@;=^ByjcVq|>a4Iou)iE(eFowxVK5em^Ey6N ztt_MxLbo>!;sH$6Qo-5}6Sn)pMZqOO9-wEY@fVz z;T^ieMq;_&-6?+FJB;ke)l4ke|CmSXn!ZoX>vQrh-7KgnxeW5m2c3_+Fhf_d0tWu{=NuLNDy`p1a!H~jKO!|Ipy;NcCw z5aS-$a+VG(rXZ+~D~8cJuyzVx%TwWyrFppJ7H+Q*?Syau`|a zgADEP6{#{>~&KGiEwFYq7x4hxUaiBgmVx&C4)EL8;5({OQ)hl?L!`R)fI>YqqTZ%-T z{N;jF1V_>dx~$g8j;;T0rwiWPyeHrohLfXDf5bTF`K%9nLm%40DiwpcN)XJyuh=(e z@ju-UcZp~dPq{{e7kl0k9<~{iGAp8Ge~(<1=aYsPa4_zmh88c@r18>6z2c>N+erdm z()Rm%m1pJY;PE}HUrQ`yR0FFK7Z_cE@9j9+gI98#ARvjfYA*u}4SN_U!( zK0x1m@tnW+XH*4-tP|lFs%|DEc#3Kt-~5uH3=3$7W;m&TeH$r0t0)HxE=WE+>A6@o zAT;h_g4OyK)W%PABrp%f7)@S1UrRMwG&T2B^f>{s_4D|?`7+aoct*P}nKmpN93kC_ zR1BTf@$kIpv)P7bomSbxJdt)a#=4}yG#zenerapMCcQs!YT}qL!bgLQe&V_=PTUEiW_*N#NWD*`mP*S?ZPJ{rIv8l6|;u zkp$1$qx%kXc-%IiN?B!R#n;&}sVv*GYUu|Ic7m46h0LuaXEC6pMz6ucXDGO+EAx+Ges?F?A(d~6K}WYH-QbmF6Q*ELXH+H6d*Oz&Y$(KKZ042 z7(H@oCSHi!06ARdR8L$CH(g)!8imdp3IB?c*U~lEmxc44s(o6pPk1=y)|7O32l-~O zzo6*v+n>a4?|d)uf==x9MVTKpV))&s?N+Dfo+ebwj~&7J{nJv*O8hN2-TrlHukG#~ z;tXuHbAVB?wEv`>?>Pwnu6wGb-uj~*T6|0b7FFOQSWxvnK&WpSVGH{fPAL^ql1r|f zlzVgZCHtuvQ3rck(N@B+63wtdM~q%G)B1;G{?7^&wbvpa7Lq2V+pKPbJ&pSJj+9~Q zGlmYoeGz4g@kf^7Z(^5>w4eIeu>C2?W+HN)vvu{tsZw}&=vGAM&AK~H)bd-Q(GeQH zYZV2(QZQItLC|UH4Z|7J#{NzTYB=;x!;ziVaFm}iY1;9=YM*x{hE_GkyLfKgbMs`G z!vHF~1k^xJK{AT)_Rt=)jJp}KCv)&UzA0W!2fh6gg&FkT1Hn7|&bVdj=!!d&V=!f- z{mgug@0E#K9njPLRC2FD&OqWytqz7ft7Z8R9JW%bI?ppiM4u@UoRhQ_^ygVX?Im}Q zc+3N^{XHu7{^=0qt^@J`fg>S&bfp!%d7>1!y1y$-*^wJV-iMm^HxiroHp2d;XLI+ za*CqK^Eb|7MK3)SK1c0K5rX3Hsw7LKO3*CcV*^L_cUa0un}pym`fjCO30`|I%NutW zeRmow0^i)Mv(BW^zppx8&|xsT&+MH?mG~RR6~8P=lksLXBuxcQq9%3ST6QK|n$@ZH z-pv7jFDma~A>>_K(gsyzo!8!d06`z^0|pL#U%BUZ#}8>3G^2auj&`+3hY6f3@r+4Z?sexcN)#z#CL*jdxp;@is}G8L z0LZ8*|5M)6k9zbgZ&HdLbOBq;+aZ zS;#hpTAVleV9S&fn;zpfjeygF8g{CJO_8- zA3EZ1%7a>|`C=MDPp52?3%1}d2(p5v>%$0L9Y1co(38iW5!ifRtHCbkmtkJ<9U}?E zZCSaA?I`y~MBmcHEmVD|gb2tP~GwUytds-#=c@fu^43R_MYUP4e-uGszP`5rz7b#hskW|Ed>~SyEYRo^kb}?J1I}gLU*lw&||Na9=r|%`1h`hZ{>BLk}|Q zu?0{kXI(I}Z_Jc?T@}V$9I{K3xh>`A^D`a0gI>O8y!v&(rh$5elz6r2?x?%a0h19F zYU8;eHKJ4A*+R8n9|k>jM-Y>VTfc0()5lEQZyPU)F`{O0CkDk!p^aj^&<*pa~CD4eRaOcIFii0E>Rm}r?P-j>FUoBk19{$1h=llzHX4MG}@)e1)oa@kx))WXRIg{*FR5 ze~)<~mS)T4$H?y{Hwcl5gIpXXhdgV3$Jz>RCrq0>1_O5%TZQ6_uMtFd1lORcxsC5< zXBd0SqXQ}XW&A_y))w%HY1jmDr+LJYPZRb*-C>mthU@ zbKRX2si0~^)tcyE24n5V(oLs2xF*{IE zkTAq>!RGDnMhMr}8}8ASAz3#^HZff6 zB*F6Yjof@N<=xgd6*=B!idr}=DFoYDMUq4W{3~^Z*b50w_?Zr7B4P2AL*I}WraB^w zcTH&wVIm}o^-{2CBS#4Iv%+Ej{fIyaB7I8%zAnDD9;k>*ubN=QhSxj%CHTzr?f+o) zX~BU>S{jxCtQ0KjdLfazIMa1cqqQNe+pQ*@v+x3rru27vFQr{kwdN{7dR}Vk=xU{p z=cmTcoKt&Jt5?=Ur>3m^__h#dcdbw0$y)utVSvEyUbza~jitnp|so2HH~Wod$}H(HYzSr@}Y)*eJdu7&KU&YN#!#t_ug)_uP} zY#8Q>=sQHrpf>@oKR>Ir%xhV~mg6?1trF!c$o0VsX3@uII!ZP0s6Y>FLY+cSRa4R6 z&klVhGaQyNi1ZrYqn8Y8NEuu#yOMWY3_Ls@SRP~Opwabd3tzVOxvX9pcTLze7;D_b zZ?*p6TL7MOR}H7#59fEew7c$}WspS?WYE2kts2WM){Vm)7J)!Y$aQ&w>+@g41v1E? zTo3inYIGF(9ao8$a2fo$q$fHOj9fahZ;D75}egfC78@#$8hnD1y+|yj{?qgPy zA|KAA7x%brsnI1!11DFC;WCDB{ezs>oE&ddhMJ~SM$G}fy(_ZW17rqs6MMR37DhRr z@G}87m84M-B&Yq#x~Xgd9ZpqTB2W>*{F;fnvZX2T8D8_I^|0 zXYX;>;%D!4RKIJ zmuUD8Kff5x-Cx_m+CTe%JHB0@$JZai(iR5v`mOr(|NN?2`2By2XqRoZTdn-W;>C-9 zMy_4qs*L5|de!b>_K&vMo&d5D<%$WV`Yq*j+>fsfFYJ}%7d1jXSF|kgv?yXgiewfB zl^43dU4>?pkI2LruDDcehD0aA+%i$h&7`KD$<8-U>1g-0|80P^4MAKU&=vLD-Neu_rrZew>_P=D~z=C-mQ7vevwBR(3!W_Zn#- zu5A2qG>$P+<|MP7t`<`fY`b37p@jsMDEq~BV!952Wua@yl7*H0Pr~SrtBwwvEpqa@ zcZ0B-3W6}@t|#r?jzlsi!^vn0*T%Kmi>Kh1qgiPRWWj^&cNpyo1>K-2VbMuPbe8ND& zY26xb;g|Lq>9AWZMBX^rQb3w?V2sMX@QosP3WA75snNq_rmo16ts-MaRU{6<8+(o( zyGSyw?XC*23up4IgZGg*u8H*P+itE~bB~O`N{ABlkc>5A=`aCX0-QNL&q26{Gu#e>GTB2 zZHJVx`yf1awd2n>KH_b*cXrXXJe=-F|ArHy5|!-@K=OS$pr@x-k6jKOWA*rH*lO03 zE9`&M?mC+L-uXR#9Ary8pJ9Zm5OLDs48K#@W~v%v9>qy;|J_y%XR2oKYrYjBdb7g? z+#vO{LrQpQ57Ari+b?UQ&97(FyA`V4a-yIHj%aTW-hd0Qf^M60g?TV#X~juVNy5=h zMd8%4MVj(?epMI6qiWKrKVES*gVlb83!dfL8I0dynwS`C#)&T*qmwinxTmVC3fu8B zNch_J10Y32Kf)N?<-MJ-JL0`FvK_Y1Cmk59{$&w4+WR>pzLK~$cqfy@R1}=meI4)P z=j_@&`WgNlt-I$47PUI8uz190cJ>5F9~1j9i~Lo)P?S+u(*@shsy|hTS8pf*7Z4@n zTt}`>b$qY{Pme@hiLXPmE242kzG^D2^y$A}TKH!IFmB6Fof!LdFwwq_e>icjpyHB{ z;A6(M+_HG<-OqKwBOu(xccf~rRkk<^#1Fz8B<^N(4^q+ZK`%Kg%r_?%;gUNlB3tcUW%9uEj0O; zle#6eOETIo-Pc<<49{t`q#y&N+di*o|@*LM$@1KOhW7Ijdy?P$$%HQ3IEV1RmvdiNl z1o86#OwHHLu@WhT5B3>fuJo=AsDadF3lee(gz;YMfKM-0#tnFZPx0<}Je*sII^3=b z#z>ZJD577oCy-?*pZQBqs^VU*y&tVNRBv|>AZirxZy+GKzz6wF-nVyt&dLWG-fGNRcdcfhLhiC#Rq%&B zwCdO?D2I3Ot*3Z!t5vpKz>cRjft!OvcnbgSt4T> z({`l~sL*pSm<}xVCXMYANUITjuaCT6_grkLdhR^|8~-ncTE+GFC426#5?Ol`#9J5D zWXFIq)^y$VCdUE=Rox&x?ir1ygyctfSQx2N4H~Ra)@Q>?ata8MoJklgocUF)+Lhq* z0)JQzvn;NFG1Y->6>s6?KWvD-}Boy9>j!*9WEMl z{Z=!mMz?sSLp(8lVBU>ez89!{-FwS(zDy$F1g_&-*)VuV#Q{9CId6n+QeOM!!ua}n zB^3~t45U${++i#3#V@}M;Ws#A*3Si9d?00{EWWa8;`v%hhytuqLk(IOWj(d`&z)Ln z%5y#G!8gJN*g+5{Ijm`X1V~k?<2jmhW2@!#P<)Is*s4LnQBK}X*3x(Ns5(?rCdm10 zhwTN9T%g}(+ClG zL|glw)Z}OTmZKXwb@W#?-lMn`H7mjDycIGRGmxBJlgKQEV#8LFrg`ZJ6=F3(l4ZZr z|M+hjo_rWu+QRNc9%duedJK`*2({SSB-zxuK2Cq5hO;a=2lL>jf6d1`Fzd=V=Aq4W zS7cj3eoa!J+p{HOpUb@(SC{nXn-pnxje-jF6UJ_C>o_q|qWD4(ackXLxfvcRH$hq` z#v=dO{8JFRRLybtx(4Be0unChw|Wz>n_}=VHq}~6ONO5Y!nn|%t44b+cNR`7TM7Gj z7Czw2>4D%JoO&Q*@D6`%uG4;vlg=zl#DURSMx3EgXkIU*$@ApkpLczjC*5uTcQz5X zYs#_^Z~MQc9@+V1UmDb-^ldVOr*!>;MQ4s+Sa_>1jF5Q{_Dx1)nxZmwCLQo3(83~MEfOmN@lI$N3v*Hpl z&q)IahjFSRp(~WE0@MBp{o-Y$7KU$aT9m15^E9u}@nrnJ_P#5usVr(+MMVcB4vdB# z6|td2K&1!E2m%VIBSAxmf(#-(v;ZjssHlj5h^UkxMMi1TdqS_$rI!F9KxiQ$fg~j4 zJ22nHfB9ej7k@7D>9@Br&tFi?K2k8;5Ze4W z2EVCi>*@o(B^>UL!Hf*D zfI3ww%Ejz%G3IWnpeu6j#DHD5lOn2;*71?s>nu67lV8|-`<1-7prrtjfSym3Sv_Lx zwUdXo-uzveMei|gWQS@hES_1-D9b>&CLd_X{%L`STZ8&mLH$f_d!+aShUZI(UvQsu2Ff$Q5pY!B_|FXVhp9L>4u@M9qkua|w=p>HX5t@AT=ZMU5pClb$2 zjfZmS?g?j;ra(ojs+8|0oTGXJ%*R8gAV9sty|BD=%5ZmB+#8)Y-I?dY`ZbkVGlSz7 z`>*esq=$s8^rRQUSmJpKzixXabB;|*Py09W+25-g#M8s$d%~T5rJF*?uZy_cpL>zj z>WJy)0@Dn=`+CXVbv%#{#v+PyPxg{P!xnslw=As|MmzLb0_I535k4NI0hOgDPkRWC zMzRa8=MKIhmWhs5($(yOES)y+Vu{^US>4@?frCR&Hj34hHmlnbaZOFCe z=Ic-k_G-LRC0iv>&tNVuN$ET1P-x(#xx)q0++O+6$JXSZk(!CFaVm~zpX|RDpV00Z zH}-FG7sULoK#0@hCeW$p$O_th$!wHw;M~`1EoAIZW3N-;kZ32=@?`~&KUK&%(UNuj`}ouV{x9kt|E{E;jmB;;}9`&Nsa8MvNu)*H_ERh}DaPBI-51 zwL;@}1XX#oziM>y?p3tU4m{o_JV|DWCwM#64yEZ89~)b&uaJ%^AXOXm%>V&ERLqD2 zM$h{fQ%6m3_@j4}XsZ3Im&=HJh6$uu0>QFSCXPm@!#C;n+Pd|{zV%S-W%2xCtX>@` z?bb)uKTApnE=>I^i7J!xf6N~BMC?K3?y)YCy1CR^JGR*_h}+8 zB?2`%|57 zXI~7ymDMx&nol){`&la;nLP3H&r8h4FXdhmlAwuHaCh4Y<@92F{=d&NP^V!EDWS(n zhxft4?|f3C77cYQm&+{e_uIzIyPD%%$nuen8cofOHQx`ntXuy79!B99A#PQLNhp?(#Be zMx`Pd!j2u7vfF4m-O?gf)j(`NwYcUeGk4CNI(+19|7Y0yh-u!=1sm$)D~4lFic+OA zD@pebADS(f+Tp>wku!P`>N8((iL+BKa2kmGC!$&xzl$lOPJ6m{1sjRzzcs`neJkgq zD9O-}=^keSvkcQW;Q!&h-Lokggj|1LJxhalgqsbW?&&V~Hhvvup_>|R09pAF(X^*& z-EXKMw@N0>M}2ZuApm^?Mz;(b%>ObCO%yC7R0H>@nO_I6;o0Thty%{-_U{b+=6w2l zGf@>~SNX}_;pd<;^h1%ep|W!vuM_b;y}ej%IPJS_Z-eD-e$>Z;cJ&9dGH(icD_6qY ze1Mc`3ctUkxW3Tp%2l@Mzx6%^mxjh4MgP(AboBUpjLk{oS1VV5!T{8H>CQ`Z}H^?nXWYrpq6U^`-Y=8UH_mCTSmUijfTCy zrFjq<;9%y!lmnOK`)M{LyG_RT9xgfHVHfQs9;>_d+MJRD;aM35@pkjWKPjbG%14Sf zPlWet_@c2sr!EmsK?c9VC7VA6EM)r@bFSq3?5djgd8I8{`B(oXd$o=4nfz~oX}^v4 zSG)MP?9()bLCxi4RZ98SyGcdC1`}Vzxb->G5W`09I9FbwD@Og_sFwx5^6KJS;bO3`^Lq?uH@ zxW7)--R&?VPS#TnjKX$x(^7a=Pfc7#GYx5GKZf_X`34S3%ZL_lJM=$_(-ev4_`j-0 zRVKP*tD#0}91irFc0j~2c}Iye58+c%xWxFdon4Qt8P zjz_)@$dKtz7Wv~l?|!&z@K_LA75))CBD54|HwX8~rKyWA#zM=RS4|;y!l?X(xv!>*@;-|)>^VrA-c8(CLG^PndMj#(e0%d{Gc z;jzP)Ld4P%K6%8~>mNZ+^-1GdmuDZa_AK>BG>P%);JSH=y4+@PzUi9r|B1sl~FbeR(9|wy{1jWe?yE=?|M;!#t7B;pTp3@;-@}My*5hZHXJc& zj7K=M_RU_j7G^^12jcL!eTCVMXfCzI7=P62Z>KXFsUQ8_! zdhS?#jyVW2cg~Nrw#(8mkxRQFM<{bS7oP#EIw+&O7APK0GBXNX7I~dGX^bU_H=4{= z$l78OHe8@=y9@=7G6xI7 zPj0f0gXK@&UBp-q-7~JjSQT3v9yQD~m7nK-t%Oh&+{PA3bYfR9V@!$R4Bm$sUqj+f}r2+msfcV?Me|`+fTa*Nfr+GPs zNeiX!#{H$cGT*D_P!81YuCW$(B~7a!1^tn~T-4~^)xH{t0lkU+^XzmjvyxJIcqfU! zEc@40KR-_EZ3ioYfzOk5bvX*BEsXa&k!e?z5eYdW8Zz}LYjfhno`gA|KjcjJ8zSGd zRme)ot+SbL1Rm&SH7;dVj)4}v__FWeJHH+{-9P@L*oPgU@NC4S^a(z(0=NfSH4f% zC)@X+dT5^CB~}BiMc*86uzOaXP-gQXtUoQFaR72?B{M%=6X?2JFUOZiZohPVCLN<xS!Oc~JshZPF97}~ATTZ3|F z5b!z)c(vR^<0Wl!@0z70PFyF}7d9Wijy~RCb3>fRAAo7{M=r4cRS`Badn8=%+dNEw z9?sjJ(wP>m8nZmjK|JJ-JUjP?uj+(2j`xv(nM(mg%xfZOMtsY4JfGwdeF?Fca@j9k zaLb9cz|{lpHViEWE4~hP1Mb1TSUHpK-|Fh4tF^pwRVo%8g2EM*@rg>+GAJ+Ob~x24 zXeo56hiK@#YJY2-H=o&1HSccsJ8qgj8Fz=wnL0TCumg6VpVcX)$>JTF zbW|X|gR)Q2hOVfW^kZC1C8w>42h(~7mrL`|-=8&FxiuRN()P0#!oki1L=ekOs8g6N zR~%F{a`db<=~!TEp26R#Hkb9AwQ9qi#)6)3P8+ER8h=LLLGcc74q4*QePsE5~G+l;1AXvUBBUWwR^NY!H}1T7`cu``c>x zSclu%V2S9nSU#7j(`y@;;Iejt5TAkl5=Ru|C2_v3%0YwJE7{s^Zwj1ouXe_QyeapQ z?ul}+Xlfki^g8TLe`hBU>LnUck7sw8#^nimEF<+O-PeGE6b+u)D31B3|1h$F^R; zUChiSmA3$vNQ`nutdVZ(<^+vTCc0u9=WbY1qkwLYK<_ZZJpG<{9tPZ1sv*ADreHcN zn5_V1JZ$&bfp8Fb|D)@f4Z*VI;Zt#1Zs$q-t0fx6bQS6m@5^ep#ibC_emJ#$mP6KN z5vaLXx!+gXZ((RS%=cy@X*yn?id~KJtbTo${86dUekP-iEIW7K;od-GKHRpkCC-7` zjLF~kZa)u^)a(+c;Jdr8%|+;%jkQk>GkR&Kp%$T=DmX+@@*mAJe4JI(FIBZTf7fXL z&~U^2UDfz~ubm<6ktXG0tXIvQnG$Ksvgc!inF?`YE)>CQieLu*5|Y<#5YwJSLh5z_ z&-0q66=ZXfN~#Lcu?pv%uym^7>IxMi!h~N}RF_phJhNOp;yyC-J2{tGdTPS!m3P1q zhq1QP!m2LmyTa_4Mb`CYo^$qu@7}or^#n1@ua=cui95R5cCHVlUPmiVW$>1FrT&EE z_0|>pm-hs7Zyo-&pq4Q&px4qzSy?M6@YC?4n7C+s-~*I^8g@xZaDMsfVpg?^6qU_? zVm(fGjDzteC3JaRM8ad{9AP3@{Hpqr6}sS*R8ZW z`lNp#+0^Fx2R7$OhxI0|M`i8L*EzQ%u>5ki#0`Dn^x);oVfcJknplb&kn-7*0b)Vt zIz9L!SbkAo#8S+)3I`6&9IKWsWc#0gI+A?px%sD(NH^)Y^CH!IVQ&sNU&FXS29I^- zNLwRL^6V0#Iv3=%-X2kEF%CwO+EC^1zNEq%`d!2JA*O#SJ>cZ%MR~3MNyyztKMJ8i zVN2|+E+~bqbF+{hjrf&$56#QB1S_>8Ts|OoW8fmo6r}RfVoqVo+L;m-vkk~wh77w* z^!;f2O;@}i;ag~+*C7z`GOBEcX5$e#_we8R4e&HSut+!P^ zLF;OH04RY@?Jf@QZD^49#1~5?M9&P_b#*Ee-i(Ozd4t!#N$l61y&R{%*&7qVNts2S zp}1&S^jGfG#hJnKV+dw?*_Lj+Bbk=2*vF}(E0!eg*}rEq6k|>gm=#a&Cz_vCVvRp| zN)AUzv2^d3^IFs)gUqX?{;Tg%AZ90-oKy6B9_gqi?fzdZ=nPYRk}jYEbbYZu#(|&^II? z@wRYi>E4TvoNp?=e|(=E(c9Yq-Rm3wg2+6*ssdqNFA7d7g8UlTY<%B-?-K8!7EcKh zZ=J&qD4LqcpFD^XK%Sy+bm-lHd-X&@e`}=PZ-R@gLyD5HZZ}8=D7HI@if3kS65E%P zrNQJH#h&|;>}>B>@Z}*Z#!`SU`f-RJ0@HE={ zm;vA4;yeJhPCRJo=igK`WYwsE60a;(7Y77m=c+Xj{?W|yy) zty_l@G}}1(R)>SScV;dJvg5ACY#WprTHTRE{(i^bOO3Ju+6y(G~{}7 zI3>I>Pcr<1lB)kQUBP(C6eF5T;1Ua_c6eQeTz}o3ba$67%+D@XW+PGxrq8I_0sY%R z;N7u$D0el+gWH~K`%=L}_i5xrjJO^yJs58UsZFx^OjK`V-Fg87-+^_hf@mK^Hw2Gu z4@azKjK-ZLMVoNxA5gTdhRo-n1HWk}NC>8tV6u{XLu($M=U!%Z+zUMa-;w9Rk8MK_ z|2x?ENZn~`0Pv0Yv$BK(+oNR_56+-3{qNw*|9|kdG_cKHTOn+?DH)vMbJNIqnM0ODA7sV^?a#Ba;GVK4s%?l=ggFpS)l%?90Xbvg;t5E2X}g?q#$O5r9%A z&>C?CH4}Ql68$ok2416ja@ykl#RDt6FALc8nJgpP*R9oeFQt2J~L)^Rwx5XpL_OQMl;TR3uSXaYN0W z#G6@S-4O=X#x@G@QyE4=y4O-I_Xtj2a<7wwx2}R@&NWQk#_>REg!bFA@nG}XgGJ3 zEs#TY`Dm1nnuqznCvh8~?qDtOSvMolB=xo)3N!h92~B-h0HSP+uNQl<)X`zP!S}#< z94C$Xf#*vHp)r6m>VmhIiVTyJOAyYr0j;U6*EgP!FpNkEfolT@zY@As;i`_s+u2hb z|6bBhYkNzqUAb0>e^3uzr(jpxmp~_$D_1+*Mk|8t$+EUKa6q!5z16lI0GJL|#D&CK zNQ__Sx57#JeT=I0@g?bk%|F7zZxV!MtQ=3?{y3IO9=Midld86pV0#{^C%m3%^wIN* zTB8S+s(=VMiZSt2g(w9LEZxDU`2n)Ds2>3)U0xjug3XDiLd_x#*9PhO{x)0;Ho4SU-8t^sen{^U(4mN3Ac}| z0}F{W$83TaE$a?%+-7XeNOB8^dxN?yAD1R9Z6v{esk#gCLt%1TBJo;EB>pZ3XrirQ zOA|GA+?F@3IEM97&obfP%}39Pa;N=Qy%hmbnwfuq}@*hz_|?9^0C-2C09qW@MZupnd?pOayW8Ak=zzmk8BRy{1s;uZ;k zaxgK7G6}-@iF{VQjHRn6yn5q6vF&kx5#noah^zpTp#INEVTmPYV{%*^g7wS<0ar)c zp3lUe-1{$qoLi^NiYH@UO-i$bJt(@7k^dvFfRXi_o?-ty|3nKh$TLGi;`}ZfDJ#*V zK!}KsEOAN-`1`-p*l%5yZwUTEQKURnT#HcJ4pNvv+A^Z@!Rdknhh!!n|ODmAYAxjXl`@J=Dk|s3&q1;MJN2&$^M# zz4$Ex`5iXAi2QbKgC+t=qq~|aNnA>U2k=GC;cbO(nJ}Fr+f?@dqAe4Dw!t8a=3Xec z54LX2bpL;o2JIjN^z+sZ;GAsy#!`s~4Ve65-2o3`ofi(^M;($#$bbxtM@X8O-lFx<8J2gJ_jgC?p50Yp6$v1tPG%j#ga8@hd#rA|I-QP&0eVkLB=rD zh^DI0Yt=}A4!10eXM8F|Fd^PlrIibyx$0x&Me)#u-9{Tjoo`)E*40rew8-m0yvMlm_|~cf%B2gKO_3&V-)?g?h+R|Eu-a)vj$I%1?(Dv$JyzHUeer1k zAm#8ac5sp;)v>oMXr^c$PS)esf=NI6pnDmzxPu@;W}bIC;maa6%5h_GJkOl zXwvLK=Fev~*^(P$>-|nY8Fw$Ie?6CkOjxVj@+Tmx9e@z_PFCCkY#+gU6bQ8berP;^ zNkgMFDN17G7Fyz`F^GB9dw=4b6#VH)EGvdM3ad?RY6_lJ#~{f5DRZOi>hgA)q%H!hTgxRfC&0|(3Fi&VOx%c0#V{;;7$ymo>9Uu;wk^Nayy4AciQ8h(tzG8@`ENDL30Z~GLY3<~*gG7*Bb>HJnd? zbfp+PYXPO5^RU3580fSt++oy1c)<8v^WSt2Y&ZKWgKM#HyP;OjhVw>O)3-QpW`%9(sl&a1VJ?l$c%BKs_@O6vdkGj%PIc3g z+nQk$t4imL`X+*GgnFCKWHs+HKP>7eBP7^A*&Wc$5=dN~Ex|(;*C%e`*i{Ui2X*1y zDt=)x`n>S~Os3fW0YgEMyajR(E7%kp`(bLRr!JZ@?*wwBx< zB7UwY&^Cyne|8+llzQj?1$$wwStYV^Ay@h~MBDCwMcrEwsTqafx3!E1r*vBSEN*^u zqqcg_j$EgYsy?L}x!KMW27FXYyS8Rpu$4F1yDclt7;(mG!+vRfw&8#W7 zgZf35Pxzn&)&c9sU5LB5(w#)nLUhv>9}s}tIID^TQ4al%XWkYwI*D!ZY{!u#%+#w@ zia84&Ucs;c@{EKd*8Cp9bCM20x?jS?Z*B7F(qbs(=)#@+jgFzE5(+66TiyeCQuS-l zB81W8d(^O<-198F9k^m0g>B`$m`FTC{!Xb-Q~z_^Yxp_{6BmyIA2dn|{NhjShnAw| zL@kx_`f)5r;aFP>UrkWK_>MfIez7>F%jC0qfbdFP-_)Hg&PmvYOsUl5*rz#w+lM!I z_0(;=)nC>T#l0j&PRDW9zfhFDAE95-L(*uNBW6-!YA{uy_$txw>83$DLK_-`hb0GuHo z3NuL(-DMIrYc3o3bE4w_Z!0kPphBSAy6EF5N@Emed>pbu+yJ5&`RvFoI`CBI;wGgza@MSD~k7y3* zmF@=+XZm{c(M$EMo6jeX6)~>9V7K*|f)mXn+`!1+Jj$vG1BKze+r~pk-78Aa-v>}e zm@LVFupF|I!$2UVu#&SXmEPdj)Fff4v_9<2Vwe+d;I)8OYZ8x33oHXXuy1+Yj4(8B zp^XoFrwBNJYX7-x6MszT+egCqbJpuI5O`oW0I5)3=s#N)d`~4xgzN=2)+_&Qpgm(( z@|+=6NoyYQz#bX|nQ>^}^4ZL?DB%^OjKZyb^?$n^;KM`D%i9(g7$7StweSCQV75Fw w;7@8M{@M00w-3Z>xBbWeyTPF~-Q6Pbi&*#%;%D(sJAjwzb&Ef9u09O;A8yT!{r~^~ literal 0 HcmV?d00001 From a99d6201721261a480a6982609a0c8d2c1e1f431 Mon Sep 17 00:00:00 2001 From: Dana Robinson <43805+derobins@users.noreply.github.com> Date: Sun, 7 Apr 2024 15:15:25 -0700 Subject: [PATCH 7/8] Clean up random number generator code (#4338) * Clean up random number generator code Depending on the platform, we use a mix of random, rand, and rand_r to generate pseudo-random numbers, along with a messy set of ifdefs in H5private.h. We are not a cryptographic library, only use random numbers in our test code, and have no need for anything more than the C standard's (s)rand(). There's no point dithering about using rand() vs random() when we're also doing bad things like using mod to restrict the range, which introduces bias. Also removes CMake/configure checks for rand_r and random * Remove random/rand_r checks from build system * Fix missed HDrandom after GitHub merge --- config/cmake/ConfigureChecks.cmake | 2 - config/cmake/H5pubconf.h.in | 6 --- configure.ac | 1 - src/H5private.h | 40 ------------------ src/H5system.c | 33 --------------- test/accum.c | 8 ++-- test/app_ref.c | 4 +- test/big.c | 6 +-- test/bittests.c | 32 +++++++------- test/btree2.c | 24 +++++------ test/cache_api.c | 10 ++--- test/cmpd_dset.c | 6 +-- test/dsets.c | 68 ++++++++++++++---------------- test/dt_arith.c | 8 ++-- test/dtypes.c | 12 +++--- test/earray.c | 8 ++-- test/farray.c | 6 +-- test/fheap.c | 20 ++++----- test/fillval.c | 16 +++---- test/filter_plugin.c | 4 +- test/hyperslab.c | 8 ++-- test/istore.c | 8 ++-- test/mdset.c | 44 +++++++++---------- test/ntypes.c | 2 +- test/select_io_dset.c | 9 ++-- test/set_extent.c | 30 ++++++------- test/stab.c | 2 +- test/swmr_addrem_writer.c | 4 +- test/swmr_common.c | 4 +- test/swmr_generator.c | 4 +- test/swmr_reader.c | 4 +- test/swmr_remove_reader.c | 6 +-- test/swmr_remove_writer.c | 4 +- test/swmr_sparse_reader.c | 4 +- test/swmr_sparse_writer.c | 4 +- test/swmr_start_write.c | 2 +- test/swmr_writer.c | 2 +- test/tid.c | 8 ++-- test/tselect.c | 14 +++--- test/tskiplist.c | 12 +++--- test/tunicode.c | 4 +- test/unlink.c | 4 +- test/vfd.c | 4 +- testpar/t_cache.c | 14 +++--- testpar/t_pmulti_dset.c | 41 +++++++++--------- testpar/t_select_io_dset.c | 10 ++--- tools/test/perform/overhead.c | 2 +- tools/test/perform/zip_perf.c | 2 +- 48 files changed, 236 insertions(+), 334 deletions(-) diff --git a/config/cmake/ConfigureChecks.cmake b/config/cmake/ConfigureChecks.cmake index 4d27d662a65..15d96f607fb 100644 --- a/config/cmake/ConfigureChecks.cmake +++ b/config/cmake/ConfigureChecks.cmake @@ -408,8 +408,6 @@ CHECK_FUNCTION_EXISTS (getrusage ${HDF_PREFIX}_HAVE_GETRUSAGE) CHECK_FUNCTION_EXISTS (pread ${HDF_PREFIX}_HAVE_PREAD) CHECK_FUNCTION_EXISTS (pwrite ${HDF_PREFIX}_HAVE_PWRITE) -CHECK_FUNCTION_EXISTS (rand_r ${HDF_PREFIX}_HAVE_RAND_R) -CHECK_FUNCTION_EXISTS (random ${HDF_PREFIX}_HAVE_RANDOM) CHECK_FUNCTION_EXISTS (strcasestr ${HDF_PREFIX}_HAVE_STRCASESTR) CHECK_FUNCTION_EXISTS (strdup ${HDF_PREFIX}_HAVE_STRDUP) diff --git a/config/cmake/H5pubconf.h.in b/config/cmake/H5pubconf.h.in index b3fbede50a3..586032bf269 100644 --- a/config/cmake/H5pubconf.h.in +++ b/config/cmake/H5pubconf.h.in @@ -276,12 +276,6 @@ /* Define to 1 if you have the header file. */ #cmakedefine H5_HAVE_QUADMATH_H @H5_HAVE_QUADMATH_H@ -/* Define to 1 if you have the `random' function. */ -#cmakedefine H5_HAVE_RANDOM @H5_HAVE_RANDOM@ - -/* Define to 1 if you have the `rand_r' function. */ -#cmakedefine H5_HAVE_RAND_R @H5_HAVE_RAND_R@ - /* Define whether the Read-Only S3 virtual file driver (VFD) should be compiled */ #cmakedefine H5_HAVE_ROS3_VFD @H5_HAVE_ROS3_VFD@ diff --git a/configure.ac b/configure.ac index 5fb3718ef1e..b22c8ea21a4 100644 --- a/configure.ac +++ b/configure.ac @@ -2393,7 +2393,6 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ AC_SEARCH_LIBS([clock_gettime], [rt posix4]) AC_CHECK_FUNCS([asprintf clock_gettime fcntl flock fork]) AC_CHECK_FUNCS([gethostname getrusage gettimeofday]) -AC_CHECK_FUNCS([rand_r random]) AC_CHECK_FUNCS([strcasestr strdup symlink]) AC_CHECK_FUNCS([tmpfile vasprintf waitpid]) diff --git a/src/H5private.h b/src/H5private.h index b8d65405122..4f1ccb92e20 100644 --- a/src/H5private.h +++ b/src/H5private.h @@ -786,46 +786,6 @@ H5_DLL H5_ATTR_CONST int Nflock(int fd, int operation); #ifndef HDpwrite #define HDpwrite(F, B, C, O) pwrite(F, B, C, O) #endif - -/* clang-format off */ -#ifdef H5_HAVE_RAND_R -# ifndef HDrandom -# define HDrandom() HDrand() -# endif - H5_DLL int HDrand(void); -# ifndef HDsrandom -# define HDsrandom(S) HDsrand(S) -# endif - H5_DLL void HDsrand(unsigned int seed); -#elif defined(H5_HAVE_RANDOM) -# ifndef HDrand -# define HDrand() random() -# endif -# ifndef HDrandom -# define HDrandom() random() -# endif -# ifndef HDsrand -# define HDsrand(S) srandom(S) -# endif -# ifndef HDsrandom -# define HDsrandom(S) srandom(S) -# endif -#else -# ifndef HDrand -# define HDrand() rand() -# endif -# ifndef HDrandom -# define HDrandom() rand() -# endif -# ifndef HDsrand -# define HDsrand(S) srand(S) -# endif -# ifndef HDsrandom -# define HDsrandom(S) srand(S) -# endif -#endif -/* clang-format on */ - #ifndef HDread #define HDread(F, M, Z) read(F, M, Z) #endif diff --git a/src/H5system.c b/src/H5system.c index 65b56fd8d81..21135bc5da9 100644 --- a/src/H5system.c +++ b/src/H5system.c @@ -93,39 +93,6 @@ HDvasprintf(char **bufp, const char *fmt, va_list _ap) } #endif /* H5_HAVE_VASPRINTF */ -/*------------------------------------------------------------------------- - * Function: HDrand/HDsrand - * - * Purpose: Wrapper function for rand. If rand_r exists on this system, - * use it. - * - * Wrapper function for srand. If rand_r is available, it will keep - * track of the seed locally instead of using srand() which modifies - * global state and can break other programs. - * - * Return: Success: Random number from 0 to RAND_MAX - * - * Failure: Cannot fail. - * - *------------------------------------------------------------------------- - */ -#ifdef H5_HAVE_RAND_R - -static unsigned int g_seed = 42; - -int -HDrand(void) -{ - return rand_r(&g_seed); -} - -void -HDsrand(unsigned int seed) -{ - g_seed = seed; -} -#endif /* H5_HAVE_RAND_R */ - /*------------------------------------------------------------------------- * Function: Pflock * diff --git a/test/accum.c b/test/accum.c index ac9754bf4b9..d5b308dad06 100644 --- a/test/accum.c +++ b/test/accum.c @@ -1925,7 +1925,7 @@ test_random_write(H5F_t *f) /* seed = (unsigned)1155438845; */ fprintf(stderr, "Random # seed was: %u\n", seed); #endif - HDsrandom(seed); + srand(seed); /* Allocate space for the segment length buffer */ off = (size_t *)malloc(MAX_RANDOM_SEGMENTS * sizeof(size_t)); @@ -1940,8 +1940,8 @@ fprintf(stderr, "Random # seed was: %u\n", seed); /* Choose random length of segment, allowing for variance */ do { - length += (size_t)(HDrandom() % RAND_SEG_LEN) + 1; - } while ((HDrandom() & 256) >= 128); /* end while */ + length += (size_t)(rand() % RAND_SEG_LEN) + 1; + } while ((rand() & 256) >= 128); /* end while */ /* Check for going off end of buffer */ if ((cur_off + length) > RANDOM_BUF_SIZE) @@ -1972,7 +1972,7 @@ fprintf(stderr, "Random # seed was: %u\n", seed); size_t tmp; /* Temporary holder for offset & length values */ /* Choose value within next few elements to to swap with */ - swap = ((size_t)HDrandom() % 8) + u; + swap = ((size_t)rand() % 8) + u; if (swap >= nsegments) swap = nsegments - 1; diff --git a/test/app_ref.c b/test/app_ref.c index 7c4fe3e0f50..2f093981d9c 100644 --- a/test/app_ref.c +++ b/test/app_ref.c @@ -27,7 +27,7 @@ * 1 to MAX_NINC). Assumes integers i and ninc are in scope. */ #define RAND_INC(id) \ do { \ - ninc = (HDrand() % MAX_NINC) + 1; \ + ninc = (rand() % MAX_NINC) + 1; \ \ for (i = 0; i < ninc; i++) \ if (H5Iinc_ref(ids[id]) != i + 2) \ @@ -89,7 +89,7 @@ main(void) h5_reset(); h5_fixname(FILENAME[0], H5P_DEFAULT, filename, sizeof filename); - HDsrand((unsigned)time(NULL)); + srand((unsigned)time(NULL)); TESTING("library shutdown with reference count > 1"); diff --git a/test/big.c b/test/big.c index cf8a3f2ef38..508cd82469f 100644 --- a/test/big.c +++ b/test/big.c @@ -103,8 +103,8 @@ randll(hsize_t limit, int current_index) /* Generate up to MAX_TRIES random numbers until one of them */ /* does not overlap with any previous writes */ while (overlap != 0 && tries < MAX_TRIES) { - acc = (hsize_t)HDrandom(); - acc *= (hsize_t)HDrandom(); + acc = (hsize_t)rand(); + acc *= (hsize_t)rand(); acc = acc % limit; overlap = 0; @@ -757,7 +757,7 @@ main(int ac, char **av) /* seed = (unsigned long)1155438845; */ fprintf(stderr, "Random # seed was: %lu\n", seed); #endif - HDsrandom((unsigned)seed); + srand((unsigned)seed); /* run VFD-specific test */ if (H5FD_SEC2 == driver) { diff --git a/test/bittests.c b/test/bittests.c index df4273792b1..643964efea4 100644 --- a/test/bittests.c +++ b/test/bittests.c @@ -156,9 +156,9 @@ test_copy(void) TESTING("bit copy operations"); for (i = 0; i < NTESTS; i++) { - s_offset = (size_t)HDrand() % (8 * sizeof v1); - d_offset = (size_t)HDrand() % (8 * sizeof v2); - size = (unsigned)HDrand() % MIN(8 * sizeof(v1), 8 * sizeof(v2)); + s_offset = (size_t)rand() % (8 * sizeof v1); + d_offset = (size_t)rand() % (8 * sizeof v2); + size = (unsigned)rand() % MIN(8 * sizeof(v1), 8 * sizeof(v2)); size = MIN3(size, 8 * sizeof(v1) - s_offset, 8 * sizeof(v2) - d_offset); memset(v1, 0xff, sizeof v1); memset(v2, 0x00, sizeof v2); @@ -277,12 +277,12 @@ test_shift(void) TESTING("bit shift operations"); for (i = 0; i < NTESTS; i++) { - offset = (size_t)HDrand() % (8 * sizeof vector); - size = (size_t)HDrand() % (8 * sizeof(vector) - offset); + offset = (size_t)rand() % (8 * sizeof vector); + size = (size_t)rand() % (8 * sizeof(vector) - offset); /* Don't want size to be 0 */ if (size == 0) continue; - shift_dist = (ssize_t)((size_t)HDrand() % size); + shift_dist = (ssize_t)((size_t)rand() % size); /*-------- LEFT-shift some bits and make sure something was shifted --------*/ memset(vector, 0x00, sizeof vector); @@ -411,8 +411,8 @@ test_increment(void) TESTING("bit increment operations"); for (i = 0; i < NTESTS; i++) { - offset = (size_t)HDrand() % (8 * sizeof vector); - size = (size_t)HDrand() % (8 * sizeof(vector) - offset); + offset = (size_t)rand() % (8 * sizeof vector); + size = (size_t)rand() % (8 * sizeof(vector) - offset); /* Don't want size to be 0 */ if (size == 0) continue; @@ -497,8 +497,8 @@ test_decrement(void) TESTING("bit decrement operations"); for (i = 0; i < NTESTS; i++) { - offset = (size_t)HDrand() % (8 * sizeof vector); - size = (size_t)HDrand() % (8 * sizeof(vector) - offset); + offset = (size_t)rand() % (8 * sizeof vector); + size = (size_t)rand() % (8 * sizeof(vector) - offset); /* Don't want size to be 0 */ if (size == 0) continue; @@ -566,8 +566,8 @@ test_negate(void) TESTING("bit negate operations"); for (i = 0; i < NTESTS; i++) { - offset = (size_t)HDrand() % (8 * sizeof vector); - size = (size_t)HDrand() % (8 * sizeof(vector) - offset); + offset = (size_t)rand() % (8 * sizeof vector); + size = (size_t)rand() % (8 * sizeof(vector) - offset); /* Don't want size to be 0 */ if (size == 0) continue; @@ -665,8 +665,8 @@ test_set(void) TESTING("bit set operations"); for (i = 0; i < NTESTS; i++) { - d_offset = (size_t)HDrand() % (8 * sizeof v2); - size = (size_t)HDrand() % (8 * sizeof(v2)); + d_offset = (size_t)rand() % (8 * sizeof v2); + size = (size_t)rand() % (8 * sizeof(v2)); size = MIN(size, 8 * sizeof(v2) - d_offset); memset(v2, 0x00, sizeof v2); @@ -780,8 +780,8 @@ test_clear(void) TESTING("bit clear operations"); for (i = 0; i < NTESTS; i++) { - d_offset = (size_t)HDrand() % (8 * sizeof v2); - size = (size_t)HDrand() % (8 * sizeof(v2)); + d_offset = (size_t)rand() % (8 * sizeof v2); + size = (size_t)rand() % (8 * sizeof(v2)); size = MIN(size, 8 * sizeof(v2) - d_offset); memset(v2, 0xff, sizeof v2); diff --git a/test/btree2.c b/test/btree2.c index a44a2475732..1bf25e9400f 100644 --- a/test/btree2.c +++ b/test/btree2.c @@ -2908,7 +2908,7 @@ test_insert_lots(hid_t fapl, const H5B2_create_t *cparam, const bt2_test_param_t curr_time=1109170019; fprintf(stderr,"curr_time=%lu\n",(unsigned long)curr_time); #endif - HDsrandom((unsigned)curr_time); + srand((unsigned)curr_time); /* * Test inserting many records into v2 B-tree @@ -2925,7 +2925,7 @@ fprintf(stderr,"curr_time=%lu\n",(unsigned long)curr_time); /* Shuffle record #'s */ for (u = 0; u < INSERT_MANY; u++) { - swap_idx = ((unsigned)HDrandom() % (INSERT_MANY - u)) + u; + swap_idx = ((unsigned)rand() % (INSERT_MANY - u)) + u; temp_rec = records[u]; records[u] = records[swap_idx]; records[swap_idx] = temp_rec; @@ -3015,7 +3015,7 @@ fprintf(stderr,"curr_time=%lu\n",(unsigned long)curr_time); /* Find random records */ for (u = 0; u < FIND_MANY; u++) { /* Pick random record */ - idx = (hsize_t)(HDrandom() % INSERT_MANY); + idx = (hsize_t)(rand() % INSERT_MANY); /* Attempt to find existent record in root of level-4 B-tree */ found = false; @@ -3046,7 +3046,7 @@ fprintf(stderr,"curr_time=%lu\n",(unsigned long)curr_time); /* Find random records */ for (u = 0; u < FIND_MANY; u++) { /* Pick random record */ - idx = (hsize_t)(HDrandom() % INSERT_MANY); + idx = (hsize_t)(rand() % INSERT_MANY); /* Attempt to find existent record in root of level-4 B-tree */ /* (in increasing order) */ @@ -4978,7 +4978,7 @@ test_update_lots(hid_t fapl, const H5B2_create_t *cparam, const bt2_test_param_t curr_time = 1451342093; fprintf(stderr, "curr_time = %lu\n", (unsigned long)curr_time); #endif - HDsrandom((unsigned)curr_time); + srand((unsigned)curr_time); /* * Test inserting many records into v2 B-tree @@ -5000,7 +5000,7 @@ fprintf(stderr, "curr_time = %lu\n", (unsigned long)curr_time); H5B2_test_rec_t temp_rec; /* Temporary record */ unsigned swap_idx; /* Location to swap with when shuffling */ - swap_idx = ((unsigned)HDrandom() % (INSERT_MANY_REC - u)) + u; + swap_idx = ((unsigned)rand() % (INSERT_MANY_REC - u)) + u; temp_rec = records[u]; records[u] = records[swap_idx]; records[swap_idx] = temp_rec; @@ -5076,7 +5076,7 @@ fprintf(stderr, "curr_time = %lu\n", (unsigned long)curr_time); /* Find random records */ for (u = 0; u < FIND_MANY_REC; u++) { /* Pick random record */ - find.key = (hsize_t)(HDrandom() % INSERT_MANY_REC); + find.key = (hsize_t)(rand() % INSERT_MANY_REC); find.val = (hsize_t)-1; /* Attempt to find existent record in level-4 B-tree */ @@ -5112,7 +5112,7 @@ fprintf(stderr, "curr_time = %lu\n", (unsigned long)curr_time); hsize_t idx; /* Record index */ /* Pick random record */ - idx = (hsize_t)(HDrandom() % INSERT_MANY_REC); + idx = (hsize_t)(rand() % INSERT_MANY_REC); /* Reset find record */ find.key = (hsize_t)-1; @@ -8624,7 +8624,7 @@ test_remove_lots(const char *driver_name, hid_t fapl, const H5B2_create_t *cpara curr_time = 1163537969; fprintf(stderr, "curr_time = %lu\n", (unsigned long)curr_time); #endif - HDsrandom((unsigned)curr_time); + srand((unsigned)curr_time); /* * Test removing many records into v2 B-tree @@ -8643,7 +8643,7 @@ fprintf(stderr, "curr_time = %lu\n", (unsigned long)curr_time); hsize_t temp_rec; /* Temporary record */ unsigned swap_idx; /* Location to swap with when shuffling */ - swap_idx = ((unsigned)HDrandom() % (INSERT_MANY - u)) + u; + swap_idx = ((unsigned)rand() % (INSERT_MANY - u)) + u; temp_rec = records[u]; records[u] = records[swap_idx]; records[swap_idx] = temp_rec; @@ -8703,7 +8703,7 @@ fprintf(stderr, "curr_time = %lu\n", (unsigned long)curr_time); hsize_t temp_rec; /* Temporary record */ unsigned swap_idx; /* Location to swap with when shuffling */ - swap_idx = ((unsigned)HDrandom() % (INSERT_MANY - u)) + u; + swap_idx = ((unsigned)rand() % (INSERT_MANY - u)) + u; temp_rec = records[u]; records[u] = records[swap_idx]; records[swap_idx] = temp_rec; @@ -8797,7 +8797,7 @@ fprintf(stderr, "curr_time = %lu\n", (unsigned long)curr_time); /* Remove all records */ for (u = 0; u < INSERT_MANY; u++) { /* Pick a record index to remove from randomly */ - rem_idx = ((unsigned)HDrandom() % (INSERT_MANY - u)); + rem_idx = ((unsigned)rand() % (INSERT_MANY - u)); rrecord = HSIZET_MAX; /* Remove random record */ diff --git a/test/cache_api.c b/test/cache_api.c index de636cf4bb2..5ac6ca0a108 100644 --- a/test/cache_api.c +++ b/test/cache_api.c @@ -1184,9 +1184,9 @@ mdc_api_call_smoke_check(int express_test, unsigned paged, hid_t fcpl_id) /* do random reads on all datasets */ n = 0; while ((pass) && (n < NUM_RANDOM_ACCESSES)) { - m = HDrand() % NUM_DSETS; - i = (HDrand() % (DSET_SIZE / CHUNK_SIZE)) * CHUNK_SIZE; - j = (HDrand() % (DSET_SIZE / CHUNK_SIZE)) * CHUNK_SIZE; + m = rand() % NUM_DSETS; + i = (rand() % (DSET_SIZE / CHUNK_SIZE)) * CHUNK_SIZE; + j = (rand() % (DSET_SIZE / CHUNK_SIZE)) * CHUNK_SIZE; /* select on disk hyperslab */ offset[0] = (hsize_t)i; /*offset of hyperslab in file*/ @@ -1282,8 +1282,8 @@ mdc_api_call_smoke_check(int express_test, unsigned paged, hid_t fcpl_id) m = 0; n = 0; while ((pass) && (n < NUM_RANDOM_ACCESSES)) { - i = (HDrand() % (DSET_SIZE / CHUNK_SIZE)) * CHUNK_SIZE; - j = (HDrand() % (DSET_SIZE / CHUNK_SIZE)) * CHUNK_SIZE; + i = (rand() % (DSET_SIZE / CHUNK_SIZE)) * CHUNK_SIZE; + j = (rand() % (DSET_SIZE / CHUNK_SIZE)) * CHUNK_SIZE; /* select on disk hyperslab */ offset[0] = (hsize_t)i; /*offset of hyperslab in file*/ diff --git a/test/cmpd_dset.c b/test/cmpd_dset.c index 383ed7f1b5a..f19f0c4c87e 100644 --- a/test/cmpd_dset.c +++ b/test/cmpd_dset.c @@ -2831,7 +2831,7 @@ test_pack_ooo(void) * the compound */ unsigned i, j; /* Indices */ - HDsrand((unsigned)time(NULL)); + srand((unsigned)time(NULL)); /* Initialize "free_order" array to indicate that all slots in order are * free */ @@ -2842,7 +2842,7 @@ test_pack_ooo(void) for (i = 0; i < PACK_NMEMBS; i++) { /* Generate index into free_order array */ num_free = PACK_NMEMBS - i; - j = (unsigned)HDrandom() % num_free; + j = (unsigned)rand() % num_free; /* Update order array at the randomly generated (but guaranteed to be * free) location */ @@ -2854,7 +2854,7 @@ test_pack_ooo(void) } /* end for */ /* Generate order to insert inner compound type */ - sub_cmpd_order = (unsigned)HDrandom() % PACK_NMEMBS; + sub_cmpd_order = (unsigned)rand() % PACK_NMEMBS; for (extra_space = 0; extra_space < 2; extra_space++) { if (extra_space) diff --git a/test/dsets.c b/test/dsets.c index ca985a85ec6..90b15dc4134 100644 --- a/test/dsets.c +++ b/test/dsets.c @@ -2055,7 +2055,7 @@ test_filter_internal(hid_t fid, const char *name, hid_t dcpl, int if_fletcher32, for (i = 0; i < size[0]; i++) { for (j = 0; j < size[1] / 2; j++) { - points[i][j] = (int)HDrandom(); + points[i][j] = (int)rand(); } } if (H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, write_dxpl, points_data) < 0) @@ -2182,7 +2182,7 @@ test_filter_internal(hid_t fid, const char *name, hid_t dcpl, int if_fletcher32, for (i = 0; i < (size_t)hs_size[0]; i++) { for (j = 0; j < (size_t)hs_size[1]; j++) { - points[(size_t)hs_offset[0] + i][(size_t)hs_offset[1] + j] = (int)HDrandom(); + points[(size_t)hs_offset[0] + i][(size_t)hs_offset[1] + j] = (int)rand(); } } if (H5Sselect_hyperslab(sid, H5S_SELECT_SET, hs_offset, NULL, hs_size, NULL) < 0) @@ -3116,7 +3116,7 @@ test_onebyte_shuffle(hid_t file) for (i = 0; i < 10; i++) for (j = 0; j < 20; j++) - orig_data[i][j] = (unsigned char)HDrandom(); + orig_data[i][j] = (unsigned char)rand(); PASSED(); @@ -3232,7 +3232,7 @@ test_nbit_int(hid_t file) for (i = 0; i < (size_t)size[0]; i++) for (j = 0; j < (size_t)size[1]; j++) { power = pow(2.0, (double)(precision - 1)); - orig_data[i][j] = (int)(((long long)HDrandom() % (long long)power) << offset); + orig_data[i][j] = (int)(((long long)rand() % (long long)power) << offset); /* even-numbered values are negative */ if ((i * size[1] + j + 1) % 2 == 0) @@ -3608,9 +3608,8 @@ test_nbit_array(hid_t file) for (j = 0; j < (size_t)size[1]; j++) for (m = 0; m < (size_t)adims[0]; m++) for (n = 0; n < (size_t)adims[1]; n++) { - power = pow(2.0, (double)precision); - orig_data[i][j][m][n] = - (unsigned int)(((long long)HDrandom() % (long long)power) << offset); + power = pow(2.0, (double)precision); + orig_data[i][j][m][n] = (unsigned int)(((long long)rand() % (long long)power) << offset); } /* end for */ PASSED(); @@ -3802,11 +3801,11 @@ test_nbit_compound(hid_t file) for (i = 0; i < (size_t)size[0]; i++) for (j = 0; j < (size_t)size[1]; j++) { power = pow(2.0, (double)(precision[0] - 1)); - orig_data[i][j].i = (int)(((long long)HDrandom() % (long long)power) << offset[0]); + orig_data[i][j].i = (int)(((long long)rand() % (long long)power) << offset[0]); power = pow(2.0, (double)(precision[1] - 1)); - orig_data[i][j].c = (char)(((long long)HDrandom() % (long long)power) << offset[1]); + orig_data[i][j].c = (char)(((long long)rand() % (long long)power) << offset[1]); power = pow(2.0, (double)(precision[2] - 1)); - orig_data[i][j].s = (short)(((long long)HDrandom() % (long long)power) << offset[2]); + orig_data[i][j].s = (short)(((long long)rand() % (long long)power) << offset[2]); orig_data[i][j].f = float_val[i][j]; /* some even-numbered integer values are negative */ @@ -4081,33 +4080,30 @@ test_nbit_compound_2(hid_t file) for (i = 0; i < (size_t)size[0]; i++) for (j = 0; j < (size_t)size[1]; j++) { power = pow(2.0, (double)(precision[0] - 1)); - orig_data[i][j].a.i = (int)(((long long)HDrandom() % (long long)power) << offset[0]); + orig_data[i][j].a.i = (int)(((long long)rand() % (long long)power) << offset[0]); power = pow(2.0, (double)(precision[1] - 1)); - orig_data[i][j].a.c = (char)(((long long)HDrandom() % (long long)power) << offset[1]); + orig_data[i][j].a.c = (char)(((long long)rand() % (long long)power) << offset[1]); power = pow(2.0, (double)(precision[2] - 1)); - orig_data[i][j].a.s = (short)(-(((long long)HDrandom() % (long long)power) << offset[2])); + orig_data[i][j].a.s = (short)(-(((long long)rand() % (long long)power) << offset[2])); orig_data[i][j].a.f = float_val[i][j]; power = pow(2.0, (double)precision[3]); - orig_data[i][j].v = (unsigned int)(((long long)HDrandom() % (long long)power) << offset[3]); + orig_data[i][j].v = (unsigned int)(((long long)rand() % (long long)power) << offset[3]); for (m = 0; m < (size_t)array_dims[0]; m++) for (n = 0; n < (size_t)array_dims[1]; n++) { power = pow(2.0, (double)(precision[4] - 1)); - orig_data[i][j].b[m][n] = (char)(((long long)HDrandom() % (long long)power) << offset[4]); + orig_data[i][j].b[m][n] = (char)(((long long)rand() % (long long)power) << offset[4]); } /* end for */ for (m = 0; m < (size_t)array_dims[0]; m++) for (n = 0; n < (size_t)array_dims[1]; n++) { - power = pow(2.0, (double)(precision[0] - 1)); - orig_data[i][j].d[m][n].i = - (int)(-(((long long)HDrandom() % (long long)power) << offset[0])); - power = pow(2.0, (double)(precision[1] - 1)); - orig_data[i][j].d[m][n].c = - (char)(((long long)HDrandom() % (long long)power) << offset[1]); - power = pow(2.0, (double)(precision[2] - 1)); - orig_data[i][j].d[m][n].s = - (short)(((long long)HDrandom() % (long long)power) << offset[2]); + power = pow(2.0, (double)(precision[0] - 1)); + orig_data[i][j].d[m][n].i = (int)(-(((long long)rand() % (long long)power) << offset[0])); + power = pow(2.0, (double)(precision[1] - 1)); + orig_data[i][j].d[m][n].c = (char)(((long long)rand() % (long long)power) << offset[1]); + power = pow(2.0, (double)(precision[2] - 1)); + orig_data[i][j].d[m][n].s = (short)(((long long)rand() % (long long)power) << offset[2]); orig_data[i][j].d[m][n].f = float_val[i][j]; } /* end for */ } /* end for */ @@ -4335,7 +4331,7 @@ test_nbit_compound_3(hid_t file) for (i = 0; i < (size_t)size[0]; i++) { power = pow(2.0, 17.0 - 1.0); memset(&orig_data[i], 0, sizeof(orig_data[i])); - orig_data[i].i = (int)(HDrandom() % (long)power); + orig_data[i].i = (int)(rand() % (long)power); strcpy(orig_data[i].str, "fixed-length C string"); orig_data[i].vl_str = strdup("variable-length C string"); @@ -4520,7 +4516,7 @@ test_nbit_int_size(hid_t file) for (i = 0; i < DSET_DIM1; i++) for (j = 0; j < DSET_DIM2; j++) { power = pow(2.0, (double)(precision - 1)); - orig[i][j] = HDrandom() % (int)power << offset; + orig[i][j] = rand() % (int)power << offset; } /* Describe the dataspace. */ @@ -4728,7 +4724,7 @@ test_nbit_flt_size(hid_t file) */ for (i = 0; i < DSET_DIM1; i++) for (j = 0; j < DSET_DIM2; j++) - orig[i][j] = (float)(HDrandom() % 1234567) / 2; + orig[i][j] = (float)(rand() % 1234567) / 2; /* Describe the dataspace. */ dims[0] = DSET_DIM1; @@ -4878,7 +4874,7 @@ test_scaleoffset_int(hid_t file) /* Initialize data */ for (i = 0; i < (size_t)size[0]; i++) for (j = 0; j < (size_t)size[1]; j++) { - orig_data[i][j] = HDrandom() % 10000; + orig_data[i][j] = rand() % 10000; /* even-numbered values are negative */ if ((i * size[1] + j + 1) % 2 == 0) @@ -5019,7 +5015,7 @@ test_scaleoffset_int_2(hid_t file) /* Initialize data of hyperslab */ for (j = 0; j < (size_t)size[1]; j++) { - orig_data[0][j] = (int)HDrandom() % 10000; + orig_data[0][j] = (int)rand() % 10000; /* even-numbered values are negative */ if ((j + 1) % 2 == 0) @@ -5138,7 +5134,7 @@ test_scaleoffset_float(hid_t file) /* Initialize data */ for (i = 0; i < (size_t)size[0]; i++) for (j = 0; j < (size_t)size[1]; j++) { - orig_data[i][j] = (float)(HDrandom() % 100000) / 1000.0F; + orig_data[i][j] = (float)(rand() % 100000) / 1000.0F; /* even-numbered values are negative */ if ((i * size[1] + j + 1) % 2 == 0) @@ -5281,7 +5277,7 @@ test_scaleoffset_float_2(hid_t file) /* Initialize data of hyperslab */ for (j = 0; j < (size_t)size[1]; j++) { - orig_data[0][j] = (float)(HDrandom() % 100000) / 1000.0F; + orig_data[0][j] = (float)(rand() % 100000) / 1000.0F; /* even-numbered values are negative */ if ((j + 1) % 2 == 0) @@ -5399,7 +5395,7 @@ test_scaleoffset_double(hid_t file) /* Initialize data */ for (i = 0; i < (size_t)size[0]; i++) for (j = 0; j < (size_t)size[1]; j++) { - orig_data[i][j] = (HDrandom() % 10000000) / 10000000.0; + orig_data[i][j] = (rand() % 10000000) / 10000000.0; /* even-numbered values are negative */ if ((i * size[1] + j + 1) % 2 == 0) @@ -5542,7 +5538,7 @@ test_scaleoffset_double_2(hid_t file) /* Initialize data of hyperslab */ for (j = 0; j < (size_t)size[1]; j++) { - orig_data[0][j] = (HDrandom() % 10000000) / 10000000.0; + orig_data[0][j] = (rand() % 10000000) / 10000000.0; /* even-numbered values are negative */ if ((j + 1) % 2 == 0) @@ -8097,7 +8093,7 @@ make_random_offset_and_increment(long nelts, long *offsetp, long *incp) assert(0 < nelts); - *offsetp = HDrandom() % nelts; + *offsetp = rand() % nelts; /* `maxinc` is chosen so that for any `x` in [0, nelts - 1], * `x + maxinc` does not overflow a long. @@ -8110,7 +8106,7 @@ make_random_offset_and_increment(long nelts, long *offsetp, long *incp) * number. */ do { - inc = 1 + HDrandom() % maxinc; + inc = 1 + rand() % maxinc; } while (gcd(inc, nelts) != 1); *incp = inc; @@ -15921,7 +15917,7 @@ main(void) contig_addr_vfd = (bool)(strcmp(driver_name, "split") != 0 && strcmp(driver_name, "multi") != 0); /* Set the random # seed */ - HDsrandom((unsigned)time(NULL)); + srand((unsigned)time(NULL)); /* Initialize global arrays */ /* points */ diff --git a/test/dt_arith.c b/test/dt_arith.c index 62f03aaa4b4..34afdb92132 100644 --- a/test/dt_arith.c +++ b/test/dt_arith.c @@ -1039,7 +1039,7 @@ test_derived_flt(void) aligned = (int *)calloc((size_t)1, src_size); for (i = 0; i < nelmts * src_size; i++) - buf[i] = saved_buf[i] = (unsigned char)HDrand(); + buf[i] = saved_buf[i] = (unsigned char)rand(); /* Convert data from native integer to derived floating-point type. * The mantissa is big enough to retain the integer's precision. */ @@ -1199,7 +1199,7 @@ test_derived_flt(void) memset(saved_buf, 0, nelmts * src_size); for (i = 0; i < nelmts * src_size; i++) - buf[i] = saved_buf[i] = (unsigned char)HDrand(); + buf[i] = saved_buf[i] = (unsigned char)rand(); /* Convert data from the 2nd to the 1st derived floating-point type. * The mantissa and exponent of the 2nd type are big enough to retain @@ -1520,7 +1520,7 @@ test_derived_integer(void) memset(saved_buf, 0, nelmts * src_size); for (i = 0; i < nelmts * src_size; i++) - buf[i] = saved_buf[i] = (unsigned char)HDrand(); + buf[i] = saved_buf[i] = (unsigned char)rand(); /* Convert data from the 1st to the 2nd derived integer type. * The precision of the 2nd type are big enough to retain @@ -5978,7 +5978,7 @@ main(void) unsigned long nerrors = 0; /* Set the random # seed */ - HDsrandom((unsigned)time(NULL)); + srand((unsigned)time(NULL)); reset_hdf5(); diff --git a/test/dtypes.c b/test/dtypes.c index 51dbf123fe0..cebc1b525b5 100644 --- a/test/dtypes.c +++ b/test/dtypes.c @@ -5154,9 +5154,9 @@ test_conv_str_2(void) if (NULL == (buf = (char *)calloc(nelmts, (size_t)8))) goto error; for (i = 0; i < nelmts; i++) { - nchars = (size_t)(HDrand() % 8); + nchars = (size_t)(rand() % 8); for (j = 0; j < nchars; j++) - buf[i * 8 + j] = (char)('a' + HDrand() % 26); + buf[i * 8 + j] = (char)('a' + rand() % 26); while (j < nchars) buf[i * 8 + j++] = '\0'; } /* end for */ @@ -5228,9 +5228,9 @@ test_conv_str_3(void) if (NULL == (buf = (char *)calloc(nelmts, (size_t)8))) FAIL_PUTS_ERROR("Allocation failed."); for (i = 0; i < nelmts; i++) { - nchars = (size_t)(HDrand() % 8); + nchars = (size_t)(rand() % 8); for (j = 0; j < nchars; j++) - buf[i * 8 + j] = (char)('a' + HDrand() % 26); + buf[i * 8 + j] = (char)('a' + rand() % 26); while (j < nchars) buf[i * 8 + j++] = '\0'; } /* end for */ @@ -5367,7 +5367,7 @@ test_conv_enum_1(void) if (NULL == (buf = (int *)malloc(nelmts * MAX(H5Tget_size(t1), H5Tget_size(t2))))) goto error; for (u = 0; u < nelmts; u++) - buf[u] = HDrand() % 26; + buf[u] = rand() % 26; /* Conversions */ snprintf(s, sizeof(s), "Testing random enum conversion O(N)"); @@ -10129,7 +10129,7 @@ main(void) hid_t fapl = H5I_INVALID_HID; /* Set the random # seed */ - HDsrandom((unsigned)time(NULL)); + srand((unsigned)time(NULL)); reset_hdf5(); fapl = h5_fileaccess(); diff --git a/test/earray.c b/test/earray.c index 3770ac44765..1402e33d4e1 100644 --- a/test/earray.c +++ b/test/earray.c @@ -1650,7 +1650,7 @@ eiter_rnd_init(const H5EA_create_t H5_ATTR_UNUSED *cparam, const earray_test_par size_t swap_idx; /* Location to swap with when shuffling */ hsize_t temp_idx; /* Temporary index */ - swap_idx = ((size_t)HDrandom() % ((size_t)cnt - u)) + u; + swap_idx = ((size_t)rand() % ((size_t)cnt - u)) + u; temp_idx = eiter->idx[u]; eiter->idx[u] = eiter->idx[swap_idx]; eiter->idx[swap_idx] = temp_idx; @@ -1796,7 +1796,7 @@ eiter_rnd2_init(const H5EA_create_t H5_ATTR_UNUSED *cparam, const earray_test_pa for (u = 0; u < (size_t)cnt; u++) { size_t swap_idx; /* Location to swap with when shuffling */ - swap_idx = ((size_t)HDrandom() % ((size_t)sparse_cnt - u)) + u; + swap_idx = ((size_t)rand() % ((size_t)sparse_cnt - u)) + u; eiter->idx[u] = tmp_idx[swap_idx]; tmp_idx[swap_idx] = tmp_idx[u]; } /* end for */ @@ -2297,7 +2297,6 @@ main(void) earray_iter_type_t curr_iter; /* Current iteration type being worked on */ hid_t fapl = H5I_INVALID_HID; /* File access property list for data files */ unsigned nerrors = 0; /* Cumulative error count */ - time_t curr_time; /* Current time, for seeding random number generator */ int ExpressMode; /* Test express value */ bool api_ctx_pushed = false; /* Whether API context pushed */ @@ -2317,8 +2316,7 @@ main(void) api_ctx_pushed = true; /* Seed random #'s */ - curr_time = time(NULL); - HDsrandom((unsigned)curr_time); + srand((unsigned)time(NULL)); /* Create an empty file to retrieve size */ { diff --git a/test/farray.c b/test/farray.c index a8f4352c984..12166228d1d 100644 --- a/test/farray.c +++ b/test/farray.c @@ -1149,7 +1149,7 @@ fiter_rnd_init(const H5FA_create_t H5_ATTR_UNUSED *cparam, const farray_test_par size_t swap_idx; /* Location to swap with when shuffling */ hsize_t temp_idx; /* Temporary index */ - swap_idx = ((size_t)HDrandom() % ((size_t)cnt - u)) + u; + swap_idx = ((size_t)rand() % ((size_t)cnt - u)) + u; temp_idx = fiter->idx[u]; fiter->idx[u] = fiter->idx[swap_idx]; fiter->idx[swap_idx] = temp_idx; @@ -1628,7 +1628,6 @@ main(void) farray_iter_type_t curr_iter; /* Current iteration type being worked on */ hid_t fapl = H5I_INVALID_HID; /* File access property list for data files */ unsigned nerrors = 0; /* Cumulative error count */ - time_t curr_time; /* Current time, for seeding random number generator */ int ExpressMode; /* Test express value */ bool api_ctx_pushed = false; /* Whether API context pushed */ @@ -1648,8 +1647,7 @@ main(void) api_ctx_pushed = true; /* Seed random #'s */ - curr_time = time(NULL); - HDsrandom((unsigned)curr_time); + srand((unsigned)time(NULL)); /* Create an empty file to retrieve size */ { diff --git a/test/fheap.c b/test/fheap.c index 0784aa775e9..5f212858456 100644 --- a/test/fheap.c +++ b/test/fheap.c @@ -6239,12 +6239,12 @@ test_man_remove_bogus(hid_t fapl, H5HF_create_t *cparam, fheap_test_param_t *tpa /* seed = (unsigned long)1155438845; */ fprintf(stderr, "Random # seed was: %lu\n", seed); #endif - HDsrandom((unsigned)seed); + srand((unsigned)seed); /* Set heap ID to random (non-null) value */ heap_id[0] = H5HF_ID_VERS_CURR | H5HF_ID_TYPE_MAN; for (u = 1; u < HEAP_ID_LEN; u++) - heap_id[u] = (unsigned char)(HDrandom() + 1); + heap_id[u] = (unsigned char)(rand() + 1); /* Try removing bogus heap ID from empty heap */ H5E_BEGIN_TRY @@ -6268,7 +6268,7 @@ fprintf(stderr, "Random # seed was: %lu\n", seed); /* Set heap ID to random (non-null) value */ heap_id[0] = H5HF_ID_VERS_CURR | H5HF_ID_TYPE_MAN; for (u = 1; u < HEAP_ID_LEN; u++) - heap_id[u] = (unsigned char)(HDrandom() + 1); + heap_id[u] = (unsigned char)(rand() + 1); /* Get offset of random heap ID */ if (H5HF_get_id_off_test(fh, heap_id, &obj_off) < 0) @@ -15147,13 +15147,13 @@ test_random(hsize_t size_limit, hid_t fapl, H5HF_create_t *cparam, fheap_test_pa /* seed = (unsigned long)1156158635; */ fprintf(stderr, "Random # seed was: %lu\n", seed); #endif - HDsrandom((unsigned)seed); + srand((unsigned)seed); /* Loop over adding objects to the heap, until the size limit is reached */ total_obj_added = 0; while (total_obj_added < size_limit) { /* Choose a random size of object (from 1 up to above standalone block size limit) */ - obj_size = (((uint32_t)HDrandom() % (tmp_cparam.max_man_size + 255)) + 1); + obj_size = (((uint32_t)rand() % (tmp_cparam.max_man_size + 255)) + 1); obj_loc = (tmp_cparam.max_man_size + 255) - obj_size; /* Insert object */ @@ -15174,7 +15174,7 @@ fprintf(stderr, "Random # seed was: %lu\n", seed); /* Choose a position to swap with */ /* (0 is current position) */ - pos = ((size_t)HDrandom() % (keep_ids.num_ids - u)); + pos = ((size_t)rand() % (keep_ids.num_ids - u)); /* If we chose a different position, swap with it */ if (pos > 0) { @@ -15350,7 +15350,7 @@ test_random_pow2(hsize_t size_limit, hid_t fapl, H5HF_create_t *cparam, fheap_te /* seed = (unsigned long)1155181717; */ fprintf(stderr, "Random # seed was: %lu\n", seed); #endif - HDsrandom((unsigned)seed); + srand((unsigned)seed); /* Loop over adding objects to the heap, until the size limit is reached */ total_obj_added = 0; @@ -15362,13 +15362,13 @@ fprintf(stderr, "Random # seed was: %lu\n", seed); * 25% of the objects will be twice as large, 12.5% will be * four times larger, etc.) */ - while (HDrandom() < (RAND_MAX / 2) && size_range < tmp_cparam.max_man_size) + while (rand() < (RAND_MAX / 2) && size_range < tmp_cparam.max_man_size) size_range *= 2; if (size_range > (tmp_cparam.max_man_size + 255)) size_range = tmp_cparam.max_man_size + 255; /* Choose a random size of object (from 1 up to stand alone block size) */ - obj_size = (((unsigned)HDrandom() % (size_range - 1)) + 1); + obj_size = (((unsigned)rand() % (size_range - 1)) + 1); obj_loc = (tmp_cparam.max_man_size + 255) - obj_size; /* Insert object */ @@ -15389,7 +15389,7 @@ fprintf(stderr, "Random # seed was: %lu\n", seed); /* Choose a position to swap with */ /* (0 is current position) */ - pos = ((size_t)HDrandom() % (keep_ids.num_ids - u)); + pos = ((size_t)rand() % (keep_ids.num_ids - u)); /* If we chose a different position, swap with it */ if (pos > 0) { diff --git a/test/fillval.c b/test/fillval.c index c8f46387b74..64a33e04ff8 100644 --- a/test/fillval.c +++ b/test/fillval.c @@ -920,7 +920,7 @@ test_rdwr_cases(hid_t file, hid_t dcpl, const char *dname, void *_fillval, H5D_f goto error; for (i = 0; i < 1000; i++) { for (j = 0; j < 5; j++) - hs_offset[j] = (hsize_t)HDrand() % cur_size[j]; + hs_offset[j] = (hsize_t)rand() % cur_size[j]; if (H5Sselect_hyperslab(fspace, H5S_SELECT_SET, hs_offset, NULL, one, NULL) < 0) goto error; @@ -1073,7 +1073,7 @@ test_rdwr_cases(hid_t file, hid_t dcpl, const char *dname, void *_fillval, H5D_f goto error; for (i = 0; i < 1000; i++) { for (j = 0, odd = 0; j < 5; j++) { - hs_offset[j] = (hsize_t)HDrand() % cur_size[j]; + hs_offset[j] = (hsize_t)rand() % cur_size[j]; odd += (int)(hs_offset[j] % 2); } /* end for */ if (H5Sselect_hyperslab(fspace, H5S_SELECT_SET, hs_offset, NULL, one, NULL) < 0) @@ -1644,7 +1644,7 @@ test_extend_cases(hid_t file, hid_t _dcpl, const char *dset_name, const hsize_t for (i = 0; i < 1000; i++) { /* Set offset for random element */ for (j = 0; j < 5; j++) - hs_offset[j] = (hsize_t)HDrand() % start_size[j]; + hs_offset[j] = (hsize_t)rand() % start_size[j]; /* Select the random element */ if (H5Sselect_hyperslab(fspace, H5S_SELECT_SET, hs_offset, NULL, one, NULL) < 0) @@ -1705,7 +1705,7 @@ test_extend_cases(hid_t file, hid_t _dcpl, const char *dset_name, const hsize_t for (i = 0; i < 1000; i++) { /* Set offset for random element */ for (j = 0, odd = 0; j < 5; j++) { - hs_offset[j] = (hsize_t)HDrand() % start_size[j]; + hs_offset[j] = (hsize_t)rand() % start_size[j]; odd += (unsigned)(hs_offset[j] % 2); } /* end for */ @@ -1750,7 +1750,7 @@ test_extend_cases(hid_t file, hid_t _dcpl, const char *dset_name, const hsize_t for (i = 0; i < 1000; i++) { /* Set offset for random element */ for (j = 0, odd = 0; j < 5; j++) { - hs_offset[j] = (hsize_t)HDrand() % extend_size[j]; + hs_offset[j] = (hsize_t)rand() % extend_size[j]; if (hs_offset[j] >= start_size[j]) odd = 1; else @@ -1796,7 +1796,7 @@ test_extend_cases(hid_t file, hid_t _dcpl, const char *dset_name, const hsize_t for (i = 0; i < 1000; i++) { /* Set offset for random element */ for (j = 0, odd = 0; j < 5; j++) { - hs_offset[j] = (hsize_t)HDrand() % max_size[j]; + hs_offset[j] = (hsize_t)rand() % max_size[j]; if (hs_offset[j] >= start_size[j]) odd = 1; else @@ -1844,7 +1844,7 @@ test_extend_cases(hid_t file, hid_t _dcpl, const char *dset_name, const hsize_t for (i = 0; i < 1000; i++) { /* Set offset for random element */ for (j = 0, odd = 0; j < 5; j++) { - hs_offset[j] = (hsize_t)HDrand() % extend_size[j]; + hs_offset[j] = (hsize_t)rand() % extend_size[j]; if (hs_offset[j] >= start_size[j]) odd = 1; else @@ -1952,7 +1952,7 @@ test_extend_cases(hid_t file, hid_t _dcpl, const char *dset_name, const hsize_t for (i = 0; i < 1000; i++) { /* Set offset for random element */ for (j = 0, odd = 0; j < 5; j++) { - hs_offset[j] = (hsize_t)HDrand() % extend_size[j]; + hs_offset[j] = (hsize_t)rand() % extend_size[j]; if (hs_offset[j] >= start_size[j]) odd = 1; else diff --git a/test/filter_plugin.c b/test/filter_plugin.c index 9207d9e847c..4e4f86b41e3 100644 --- a/test/filter_plugin.c +++ b/test/filter_plugin.c @@ -294,7 +294,7 @@ ensure_filter_works(hid_t fid, const char *name, hid_t dcpl_id) for (i = 0; i < r; i++) for (j = 0; j < c / 2; j++) - orig[i][j] = (int)HDrandom() % RANDOM_LIMIT; + orig[i][j] = (int)rand() % RANDOM_LIMIT; if (H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, write_dxpl_id, *orig) < 0) TEST_ERROR; @@ -349,7 +349,7 @@ ensure_filter_works(hid_t fid, const char *name, hid_t dcpl_id) hs_offc = (size_t)hs_offsets_g[1]; for (i = 0; i < hs_r; i++) for (j = 0; j < hs_c; j++) - orig[hs_offr + i][hs_offc + j] = (int)HDrandom() % RANDOM_LIMIT; + orig[hs_offr + i][hs_offc + j] = (int)rand() % RANDOM_LIMIT; if (H5Sselect_hyperslab(sid, H5S_SELECT_SET, hs_offsets_g, NULL, hs_sizes_g, NULL) < 0) TEST_ERROR; diff --git a/test/hyperslab.c b/test/hyperslab.c index da014d30355..16298331122 100644 --- a/test/hyperslab.c +++ b/test/hyperslab.c @@ -1063,9 +1063,9 @@ test_array_offset_n_calc(size_t n, size_t x, size_t y, size_t z) /* Check offsets */ for (u = 0; u < n; u++) { /* Get random coordinate */ - coords[0] = (hsize_t)((size_t)HDrandom() % z); - coords[1] = (hsize_t)((size_t)HDrandom() % y); - coords[2] = (hsize_t)((size_t)HDrandom() % x); + coords[0] = (hsize_t)((size_t)rand() % z); + coords[1] = (hsize_t)((size_t)rand() % y); + coords[2] = (hsize_t)((size_t)rand() % x); /* Get offset of coordinate */ off = H5VM_array_offset(ARRAY_OFFSET_NDIMS, dims, coords); @@ -1144,7 +1144,7 @@ main(int argc, char *argv[]) printf("\n"); /* Set the random # seed */ - HDsrandom((unsigned)time(NULL)); + srand((unsigned)time(NULL)); /* * Open the library explicitly for thread-safe builds, so per-thread diff --git a/test/istore.c b/test/istore.c index 5a1fa0ff498..1934cc37b0b 100644 --- a/test/istore.c +++ b/test/istore.c @@ -480,9 +480,9 @@ test_sparse(hid_t f, const char *prefix, size_t nblocks, size_t nx, size_t ny, s TEST_ERROR; for (ctr = 0; ctr < nblocks; ctr++) { - offset[0] = (hsize_t)(HDrandom() % (int)(TEST_SPARSE_SIZE - nx)); - offset[1] = (hsize_t)(HDrandom() % (int)(TEST_SPARSE_SIZE - ny)); - offset[2] = (hsize_t)(HDrandom() % (int)(TEST_SPARSE_SIZE - nz)); + offset[0] = (hsize_t)(rand() % (int)(TEST_SPARSE_SIZE - nx)); + offset[1] = (hsize_t)(rand() % (int)(TEST_SPARSE_SIZE - ny)); + offset[2] = (hsize_t)(rand() % (int)(TEST_SPARSE_SIZE - nz)); /* Select region in file dataspace */ if (H5Sselect_hyperslab(fspace, H5S_SELECT_SET, offset, NULL, size, NULL) < 0) @@ -582,7 +582,7 @@ main(int argc, char *argv[]) printf("\n"); /* Set the random # seed */ - HDsrandom((unsigned)time(NULL)); + srand((unsigned)time(NULL)); /* Check to see if the file system supports POSIX-style sparse files. * Windows NTFS does not, so we want to avoid tests which create diff --git a/test/mdset.c b/test/mdset.c index 145618b60ea..0091bc26e79 100644 --- a/test/mdset.c +++ b/test/mdset.c @@ -310,7 +310,7 @@ test_mdset(size_t niter, unsigned flags, hid_t fapl_id) for (i = 0; i < niter; i++) { /* Determine number of datasets */ ndsets = (flags & MDSET_FLAG_MLAYOUT) ? 6 - : (flags & MDSET_FLAG_MDSET) ? (size_t)((size_t)HDrandom() % max_dsets) + 1 + : (flags & MDSET_FLAG_MDSET) ? (size_t)((size_t)rand() % max_dsets) + 1 : 1; /* Create file */ @@ -325,16 +325,16 @@ test_mdset(size_t niter, unsigned flags, hid_t fapl_id) (flags & MDSET_FLAG_CHUNK) || ((flags & MDSET_FLAG_MLAYOUT) && (j == 1 || j == 2)); /* Generate file dataspace */ - dset_dims[j][0] = (hsize_t)((HDrandom() % MAX_DSET_X) + 1); - dset_dims[j][1] = (hsize_t)((HDrandom() % MAX_DSET_Y) + 1); + dset_dims[j][0] = (hsize_t)((rand() % MAX_DSET_X) + 1); + dset_dims[j][1] = (hsize_t)((rand() % MAX_DSET_Y) + 1); if ((file_space_ids[j] = H5Screate_simple(2, dset_dims[j], use_chunk ? max_dims : NULL)) < 0) TEST_ERROR; /* Generate chunk if called for by configuration (multi layout uses chunked for datasets * 1 and 2) */ if (use_chunk) { - chunk_dims[0] = (hsize_t)((HDrandom() % MAX_CHUNK_X) + 1); - chunk_dims[1] = (hsize_t)((HDrandom() % MAX_CHUNK_Y) + 1); + chunk_dims[0] = (hsize_t)((rand() % MAX_CHUNK_X) + 1); + chunk_dims[1] = (hsize_t)((rand() % MAX_CHUNK_Y) + 1); if (H5Pset_chunk(dcpl_id[j], 2, chunk_dims) < 0) TEST_ERROR; } /* end if */ @@ -352,18 +352,18 @@ test_mdset(size_t niter, unsigned flags, hid_t fapl_id) /* Create dataset */ /* If MDSET_FLAG_TCONV is set, use a different datatype with 50% probability, so * some datasets require type conversion and others do not */ - if ((dset_ids[j] = H5Dcreate2(file_id, dset_name[j], - (flags & MDSET_FLAG_TCONV && HDrandom() % 2) ? H5T_NATIVE_LONG - : H5T_NATIVE_UINT, - file_space_ids[j], H5P_DEFAULT, dcpl_id[j], H5P_DEFAULT)) < 0) + if ((dset_ids[j] = + H5Dcreate2(file_id, dset_name[j], + (flags & MDSET_FLAG_TCONV && rand() % 2) ? H5T_NATIVE_LONG : H5T_NATIVE_UINT, + file_space_ids[j], H5P_DEFAULT, dcpl_id[j], H5P_DEFAULT)) < 0) TEST_ERROR; /* Create virtual source dataset if necessary. Use dcpl_id[0] for a contiguous dataset */ if ((flags & MDSET_FLAG_MLAYOUT) && (j == 6)) { if ((source_dset = H5Dcreate2(file_id, SOURCE_DS_NAME, - (flags & MDSET_FLAG_TCONV && HDrandom() % 2) ? H5T_NATIVE_LONG - : H5T_NATIVE_UINT, + (flags & MDSET_FLAG_TCONV && rand() % 2) ? H5T_NATIVE_LONG + : H5T_NATIVE_UINT, file_space_ids[j], H5P_DEFAULT, dcpl_id[0], H5P_DEFAULT)) < 0) TEST_ERROR; if (H5Dclose(source_dset) < 0) @@ -388,7 +388,7 @@ test_mdset(size_t niter, unsigned flags, hid_t fapl_id) for (j = 0; j < OPS_PER_FILE; j++) { /* Decide whether to read or write. Can't read on the first iteration with external * layout because the write is needed to create the external file. */ - do_read = (j == 0 && flags & MDSET_FLAG_MLAYOUT) ? false : (bool)(HDrandom() % 2); + do_read = (j == 0 && flags & MDSET_FLAG_MLAYOUT) ? false : (bool)(rand() % 2); /* Loop over datasets */ for (k = 0; k < ndsets; k++) { @@ -401,10 +401,10 @@ test_mdset(size_t niter, unsigned flags, hid_t fapl_id) TEST_ERROR; /* Decide whether to do a hyperslab, point, or all selection */ - sel_type = HDrandom() % 3; + sel_type = rand() % 3; if (sel_type == 0) { /* Hyperslab */ - size_t nhs = (size_t)((HDrandom() % MAX_HS) + 1); /* Number of hyperslabs */ + size_t nhs = (size_t)((rand() % MAX_HS) + 1); /* Number of hyperslabs */ size_t max_hs_x = (MAX_HS_X <= dset_dims[k][0]) ? MAX_HS_X : dset_dims[k][0]; /* Determine maximum hyperslab size in X */ @@ -414,14 +414,14 @@ test_mdset(size_t niter, unsigned flags, hid_t fapl_id) for (l = 0; l < nhs; l++) { /* Generate hyperslab */ - count[0] = (hsize_t)(((hsize_t)HDrandom() % max_hs_x) + 1); - count[1] = (hsize_t)(((hsize_t)HDrandom() % max_hs_y) + 1); + count[0] = (hsize_t)(((hsize_t)rand() % max_hs_x) + 1); + count[1] = (hsize_t)(((hsize_t)rand() % max_hs_y) + 1); start[0] = (count[0] == dset_dims[k][0]) ? 0 - : (hsize_t)HDrandom() % (dset_dims[k][0] - count[0] + 1); + : (hsize_t)rand() % (dset_dims[k][0] - count[0] + 1); start[1] = (count[1] == dset_dims[k][1]) ? 0 - : (hsize_t)HDrandom() % (dset_dims[k][1] - count[1] + 1); + : (hsize_t)rand() % (dset_dims[k][1] - count[1] + 1); /* Select hyperslab */ if (H5Sselect_hyperslab(mem_space_ids[k], H5S_SELECT_OR, start, NULL, count, NULL) < @@ -445,12 +445,12 @@ test_mdset(size_t niter, unsigned flags, hid_t fapl_id) } /* end if */ else if (sel_type == 1) { /* Point selection */ - size_t npoints = (size_t)(((size_t)HDrandom() % MAX_POINTS) + 1); /* Number of points */ + size_t npoints = (size_t)(((size_t)rand() % MAX_POINTS) + 1); /* Number of points */ /* Generate points */ for (l = 0; l < npoints; l++) { - points[2 * l] = (unsigned)((hsize_t)HDrandom() % dset_dims[k][0]); - points[(2 * l) + 1] = (unsigned)((hsize_t)HDrandom() % dset_dims[k][1]); + points[2 * l] = (unsigned)((hsize_t)rand() % dset_dims[k][0]); + points[(2 * l) + 1] = (unsigned)((hsize_t)rand() % dset_dims[k][1]); } /* end for */ /* Select points in file */ @@ -646,7 +646,7 @@ main(void) fapl_id = h5_fileaccess(); /* Initialize random number seed */ - HDsrandom((unsigned)time(NULL)); + srand((unsigned)time(NULL)); /* Fill dset_name array */ for (i = 0; i < MAX_DSETS; i++) { diff --git a/test/ntypes.c b/test/ntypes.c index 5d6b37164b8..3b5bd662bcc 100644 --- a/test/ntypes.c +++ b/test/ntypes.c @@ -3080,7 +3080,7 @@ test__Float16(hid_t file) /* Initialize the data */ for (size_t i = 0; i < DIM0; i++) for (size_t j = 0; j < DIM1; j++) - ipoints->arr[i][j] = (H5__Float16)(HDrand() / (double)RAND_MAX); + ipoints->arr[i][j] = (H5__Float16)(rand() / (double)RAND_MAX); /* Create the data space */ dims[0] = DIM0; diff --git a/test/select_io_dset.c b/test/select_io_dset.c index 2f440d8eec0..3daa63f2d38 100644 --- a/test/select_io_dset.c +++ b/test/select_io_dset.c @@ -1165,9 +1165,8 @@ test_multi_dsets_no_bkg(hid_t fid, unsigned set_cache, unsigned chunked, unsigne chunked ? "chunked" : "contig", dtrans ? "xform" : "noxform", mwbuf ? "mwbuf" : "nomwbuf"); /* Create ith dataset */ - if ((dset_dids[i] = - H5Dcreate2(fid, dset_names[i], ((HDrandom() % 2) ? H5T_NATIVE_LONG : H5T_NATIVE_INT), - file_sids[i], H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) + if ((dset_dids[i] = H5Dcreate2(fid, dset_names[i], ((rand() % 2) ? H5T_NATIVE_LONG : H5T_NATIVE_INT), + file_sids[i], H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) TEST_ERROR; } @@ -1651,7 +1650,7 @@ test_multi_dsets_cmpd_with_bkg(hid_t fid, unsigned chunked, unsigned mwbuf) } /* Case c */ - mm = HDrandom() % (int)ndsets; + mm = rand() % (int)ndsets; if (!mm) mm++; @@ -2401,7 +2400,7 @@ test_multi_dsets_all(int niter, hid_t fid, unsigned chunked, unsigned mwbuf) if ((mem_sids[i] = H5Screate_simple(1, dims, NULL)) < 0) TEST_ERROR; - mm = HDrandom() % (int)ndsets; + mm = rand() % (int)ndsets; if (mm == 0) { dset_types[i] = DSET_WITH_NO_CONV; snprintf(dset_names[i], sizeof(dset_names[i]), "multi_all_nconv_dset%d_%s_%s", i, diff --git a/test/set_extent.c b/test/set_extent.c index 1db56bab6b9..696ef96f36d 100644 --- a/test/set_extent.c +++ b/test/set_extent.c @@ -119,7 +119,7 @@ main(void) contig_addr_vfd = (bool)(strcmp(driver_name, "split") != 0 && strcmp(driver_name, "multi") != 0); /* Initialize random number seed */ - HDsrandom((unsigned)time(NULL)); + srand((unsigned)time(NULL)); h5_reset(); fapl = h5_fileaccess(); @@ -2345,17 +2345,16 @@ test_random_rank4(hid_t fapl, hid_t dcpl, hid_t dxpl, bool do_fillvalue, bool di /* Generate random chunk dimensions, 2-4 */ for (i = 0; i < 4; i++) - cdims[i] = (hsize_t)((HDrandom() % 3) + 2); + cdims[i] = (hsize_t)((rand() % 3) + 2); /* Pick iteration to shrink dataset to 1x1x1x1 */ - scalar_iter = (unsigned)(HDrandom() % RAND4_NITER); + scalar_iter = (unsigned)(rand() % RAND4_NITER); /* Generate initial dataset size, 1-10, unless using fixed array index or * scalar_iter is 0 */ for (i = 0; i < 4; i++) { dims[i] = - (hsize_t)(index_type != RANK4_INDEX_FARRAY ? (0 == scalar_iter ? 1 : ((HDrandom() % 10) + 1)) - : 10); + (hsize_t)(index_type != RANK4_INDEX_FARRAY ? (0 == scalar_iter ? 1 : ((rand() % 10) + 1)) : 10); dim_log->arr[0][i] = dims[i]; } /* end for */ @@ -2389,7 +2388,7 @@ test_random_rank4(hid_t fapl, hid_t dcpl, hid_t dxpl, bool do_fillvalue, bool di for (k = 0; k < dims[1]; k++) for (l = 0; l < dims[2]; l++) for (m = 0; m < dims[3]; m++) - wbuf->arr[j][k][l][m] = HDrandom(); + wbuf->arr[j][k][l][m] = rand(); /* Write data */ if (H5Dwrite(dset, H5T_NATIVE_INT, mspace, H5S_ALL, dxpl, wbuf) < 0) @@ -2401,8 +2400,8 @@ test_random_rank4(hid_t fapl, hid_t dcpl, hid_t dxpl, bool do_fillvalue, bool di zero_dim = false; for (j = 0; j < 4; j++) { old_dims[j] = dims[j]; - if ((dims[j] = (hsize_t)(i == scalar_iter ? 1 : (HDrandom() % 11))) == 0) - if ((dims[j] = (hsize_t)(HDrandom() % 11)) == 0) + if ((dims[j] = (hsize_t)(i == scalar_iter ? 1 : (rand() % 11))) == 0) + if ((dims[j] = (hsize_t)(rand() % 11)) == 0) zero_dim = true; dim_log->arr[i + 1][j] = dims[j]; } /* end for */ @@ -2592,17 +2591,16 @@ test_random_rank4_vl(hid_t fapl, hid_t dcpl, hid_t dxpl, bool do_fillvalue, bool /* Generate random chunk dimensions, 2-4 */ for (i = 0; i < 4; i++) - cdims[i] = (hsize_t)((HDrandom() % 3) + 2); + cdims[i] = (hsize_t)((rand() % 3) + 2); /* Pick iteration to shrink dataset to 1x1x1x1 */ - scalar_iter = (unsigned)(HDrandom() % RAND4_NITER); + scalar_iter = (unsigned)(rand() % RAND4_NITER); /* Generate initial dataset size, 1-10, unless using fixed array index or * scalar_iter is 0 */ for (i = 0; i < 4; i++) { dims[i] = - (hsize_t)(index_type != RANK4_INDEX_FARRAY ? (0 == scalar_iter ? 1 : ((HDrandom() % 10) + 1)) - : 10); + (hsize_t)(index_type != RANK4_INDEX_FARRAY ? (0 == scalar_iter ? 1 : ((rand() % 10) + 1)) : 10); dim_log->arr[0][i] = dims[i]; } @@ -2649,8 +2647,8 @@ test_random_rank4_vl(hid_t fapl, hid_t dcpl, hid_t dxpl, bool do_fillvalue, bool for (k = 0; k < dims[1]; k++) for (l = 0; l < dims[2]; l++) for (m = 0; m < dims[3]; m++) { - ((int *)wbuf->arr[j][k][l][m].p)[0] = HDrandom(); - ((int *)wbuf->arr[j][k][l][m].p)[1] = HDrandom(); + ((int *)wbuf->arr[j][k][l][m].p)[0] = rand(); + ((int *)wbuf->arr[j][k][l][m].p)[1] = rand(); } /* end for */ /* Write data */ @@ -2663,8 +2661,8 @@ test_random_rank4_vl(hid_t fapl, hid_t dcpl, hid_t dxpl, bool do_fillvalue, bool zero_dim = false; for (j = 0; j < 4; j++) { old_dims[j] = dims[j]; - if ((dims[j] = (hsize_t)(i == scalar_iter ? 1 : (HDrandom() % 11))) == 0) - if ((dims[j] = (hsize_t)(HDrandom() % 11)) == 0) + if ((dims[j] = (hsize_t)(i == scalar_iter ? 1 : (rand() % 11))) == 0) + if ((dims[j] = (hsize_t)(rand() % 11)) == 0) zero_dim = true; dim_log->arr[i + 1][j] = dims[j]; } diff --git a/test/stab.c b/test/stab.c index 357f7682712..3f4a8360bec 100644 --- a/test/stab.c +++ b/test/stab.c @@ -296,7 +296,7 @@ test_large(hid_t fcpl, hid_t fapl, bool new_format) if (H5G__has_stab_test(cwg) != false) TEST_ERROR; for (i = 0; i < LARGE_NOBJS; i++) { - snprintf(name, sizeof(name), "%05d%05d", (HDrandom() % 100000), i); + snprintf(name, sizeof(name), "%05d%05d", (rand() % 100000), i); if ((dir = H5Gcreate2(cwg, name, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR; if (H5Gclose(dir) < 0) diff --git a/test/swmr_addrem_writer.c b/test/swmr_addrem_writer.c index 8fd907af5db..8e42f2436fc 100644 --- a/test/swmr_addrem_writer.c +++ b/test/swmr_addrem_writer.c @@ -172,7 +172,7 @@ addrem_records(hid_t fid, unsigned verbose, unsigned long nops, unsigned long fl symbol = choose_dataset(); /* Decide whether to shrink or expand, and by how much */ - count[1] = (hsize_t)HDrandom() % (MAX_SIZE_CHANGE * 2) + 1; + count[1] = (hsize_t)rand() % (MAX_SIZE_CHANGE * 2) + 1; if (count[1] > MAX_SIZE_CHANGE) { /* Add records */ @@ -359,7 +359,7 @@ main(int argc, char *argv[]) HDgettimeofday(&t, NULL); random_seed = (unsigned)(t.tv_usec); } /* end if */ - HDsrandom(random_seed); + srand(random_seed); /* ALWAYS emit the random seed for possible debugging */ fprintf(stderr, "Using writer random seed: %u\n", random_seed); diff --git a/test/swmr_common.c b/test/swmr_common.c index dd7dd8edd18..b95bdf67b56 100644 --- a/test/swmr_common.c +++ b/test/swmr_common.c @@ -102,10 +102,10 @@ choose_dataset(void) unsigned offset; /* The "offset" of the dataset at that level */ /* Determine level of dataset */ - level = symbol_mapping[HDrandom() % NMAPPING]; + level = symbol_mapping[rand() % NMAPPING]; /* Determine the offset of the level */ - offset = (unsigned)(HDrandom() % (int)symbol_count[level]); + offset = (unsigned)(rand() % (int)symbol_count[level]); return &symbol_info[level][offset]; } /* end choose_dataset() */ diff --git a/test/swmr_generator.c b/test/swmr_generator.c index 0259a30c66c..f66ab03cd52 100644 --- a/test/swmr_generator.c +++ b/test/swmr_generator.c @@ -195,7 +195,7 @@ gen_skeleton(const char *filename, bool verbose, bool swmr_write, int comp_level * moved out of chunk #0 of the object header * (Set to true for every fourth dataset) */ - move_dataspace_message = !(HDrandom() % 4); + move_dataspace_message = !(rand() % 4); if (move_dataspace_message) { unsigned chunk_num; /* Object header chunk # for dataspace message */ @@ -336,7 +336,7 @@ main(int argc, char *argv[]) HDgettimeofday(&t, NULL); random_seed = (unsigned)(t.tv_usec); } /* end if */ - HDsrandom(random_seed); + srand(random_seed); /* ALWAYS emit the random seed for possible debugging */ fprintf(stderr, "Using generator random seed (used in sparse test only): %u\n", random_seed); diff --git a/test/swmr_reader.c b/test/swmr_reader.c index 91057703e27..93ba920f73c 100644 --- a/test/swmr_reader.c +++ b/test/swmr_reader.c @@ -228,7 +228,7 @@ read_records(const char *filename, bool verbose, FILE *verbose_file, unsigned ra /* Determine the offset of the symbol, within level 0 symbols */ /* (level 0 symbols are the most common symbols) */ - offset = (unsigned)((unsigned)HDrandom() % symbol_count[0]); + offset = (unsigned)((unsigned)rand() % symbol_count[0]); sym_com[v] = &symbol_info[0][offset]; /* Emit informational message */ @@ -475,7 +475,7 @@ main(int argc, char *argv[]) HDgettimeofday(&t, NULL); random_seed = (unsigned)(t.tv_usec); } /* end if */ - HDsrandom(random_seed); + srand(random_seed); /* Open output file */ if (verbose) { diff --git a/test/swmr_remove_reader.c b/test/swmr_remove_reader.c index 8cf22c3debc..ee5a4df2a7f 100644 --- a/test/swmr_remove_reader.c +++ b/test/swmr_remove_reader.c @@ -108,7 +108,7 @@ check_dataset(hid_t fid, unsigned verbose, const char *sym_name, symbol_t *recor if (snpoints > 0) { /* Choose a random record in the dataset, choosing the last record half * the time */ - start[1] = (hsize_t)(HDrandom() % (snpoints * 2)); + start[1] = (hsize_t)(rand() % (snpoints * 2)); if (start[1] > (hsize_t)(snpoints - 1)) start[1] = (hsize_t)(snpoints - 1); if (H5Sselect_hyperslab(file_sid, H5S_SELECT_SET, start, NULL, count, NULL) < 0) @@ -223,7 +223,7 @@ read_records(const char *filename, unsigned verbose, unsigned long nseconds, uns /* Determine the offset of the symbol, within level 0 symbols */ /* (level 0 symbols are the most common symbols) */ - offset = (unsigned)HDrandom() % symbol_count[0]; + offset = (unsigned)rand() % symbol_count[0]; sym_com[v] = &symbol_info[0][offset]; /* Emit informational message */ @@ -466,7 +466,7 @@ main(int argc, char *argv[]) HDgettimeofday(&t, NULL); random_seed = (unsigned)(t.tv_usec); } /* end if */ - HDsrandom(random_seed); + srand(random_seed); /* ALWAYS emit the random seed for possible debugging */ fprintf(stderr, "Using reader random seed: %u\n", random_seed); diff --git a/test/swmr_remove_writer.c b/test/swmr_remove_writer.c index f0d531d30a0..7b4eaeb29ef 100644 --- a/test/swmr_remove_writer.c +++ b/test/swmr_remove_writer.c @@ -158,7 +158,7 @@ remove_records(hid_t fid, unsigned verbose, unsigned long nshrinks, unsigned lon symbol = choose_dataset(); /* Shrink the dataset's dataspace */ - remove_size = (hsize_t)HDrandom() % MAX_REMOVE_SIZE + 1; + remove_size = (hsize_t)rand() % MAX_REMOVE_SIZE + 1; if (remove_size > symbol->nrecords) symbol->nrecords = 0; else @@ -297,7 +297,7 @@ main(int argc, char *argv[]) HDgettimeofday(&t, NULL); random_seed = (unsigned)(t.tv_usec); } /* end if */ - HDsrandom(random_seed); + srand(random_seed); /* ALWAYS emit the random seed for possible debugging */ fprintf(stderr, "Using writer random seed: %u\n", random_seed); diff --git a/test/swmr_sparse_reader.c b/test/swmr_sparse_reader.c index 695ca273b40..d2771e83618 100644 --- a/test/swmr_sparse_reader.c +++ b/test/swmr_sparse_reader.c @@ -106,7 +106,7 @@ check_dataset(hid_t fid, unsigned verbose, const symbol_info_t *symbol, symbol_t /* Choose the random record in the dataset (will be the same as chosen by * the writer) */ - start[1] = (hsize_t)HDrandom() % symbol->nrecords; + start[1] = (hsize_t)rand() % symbol->nrecords; if (H5Sselect_hyperslab(file_sid, H5S_SELECT_SET, start, NULL, count, NULL) < 0) return -1; @@ -205,7 +205,7 @@ read_records(const char *filename, unsigned verbose, unsigned long nrecords, uns return -1; if (H5Aclose(aid) < 0) return -1; - HDsrandom(seed); + srand(seed); /* Reset the record */ /* (record's 'info' field might need to change for each record written, also) */ diff --git a/test/swmr_sparse_writer.c b/test/swmr_sparse_writer.c index 88d0b51daac..4662d027ee1 100644 --- a/test/swmr_sparse_writer.c +++ b/test/swmr_sparse_writer.c @@ -102,7 +102,7 @@ open_skeleton(const char *filename, unsigned verbose) return -1; if (H5Aclose(aid) < 0) return -1; - HDsrandom(seed); + srand(seed); /* Open the datasets */ for (u = 0; u < NLEVELS; u++) @@ -208,7 +208,7 @@ add_records(hid_t fid, unsigned verbose, unsigned long nrecords, unsigned long f } /* end else */ /* Get the coordinate to write */ - start[1] = (hsize_t)HDrandom() % symbol->nrecords; + start[1] = (hsize_t)rand() % symbol->nrecords; /* Set the record's ID (equal to its position) */ record.rec_id = start[1]; diff --git a/test/swmr_start_write.c b/test/swmr_start_write.c index 6254da8b8c9..575e8b67baf 100644 --- a/test/swmr_start_write.c +++ b/test/swmr_start_write.c @@ -442,7 +442,7 @@ main(int argc, char *argv[]) HDgettimeofday(&t, NULL); random_seed = (unsigned)(t.tv_usec); } /* end if */ - HDsrandom(random_seed); + srand(random_seed); /* Open output file */ if (verbose) { diff --git a/test/swmr_writer.c b/test/swmr_writer.c index 7fe1a31284a..5ef6afc50e5 100644 --- a/test/swmr_writer.c +++ b/test/swmr_writer.c @@ -350,7 +350,7 @@ main(int argc, char *argv[]) HDgettimeofday(&t, NULL); random_seed = (unsigned)(t.tv_usec); } /* end if */ - HDsrandom(random_seed); + srand(random_seed); /* Open output file */ if (verbose) { diff --git a/test/tid.c b/test/tid.c index ccc61ba854d..da8700f4f74 100644 --- a/test/tid.c +++ b/test/tid.c @@ -638,7 +638,7 @@ rct_free_cb(void *_obj, void H5_ATTR_UNUSED **_ctx) * and then scanning through the list to find that nth unfreed * object. */ - remove_nth = HDrandom() % obj->list->remaining; + remove_nth = rand() % obj->list->remaining; for (i = 0; i < obj->list->count; i++) if (obj->list->objects[i].nfrees == 0) { if (remove_nth == 0) @@ -727,7 +727,7 @@ test_remove_clear_type(void) /* The number of objects used is a random number between the min and max */ obj_list.count = obj_list.remaining = - RCT_MIN_NOBJS + (HDrandom() % (long)(RCT_MAX_NOBJS - RCT_MIN_NOBJS + 1)); + RCT_MIN_NOBJS + (rand() % (long)(RCT_MAX_NOBJS - RCT_MIN_NOBJS + 1)); /* Create the actual objects */ for (j = 0; j < obj_list.count; j++) { @@ -744,7 +744,7 @@ test_remove_clear_type(void) goto error; /* Bump the reference count by 1 (to 2) 50% of the time */ - if (HDrandom() % 2) { + if (rand() % 2) { ret = H5Iinc_ref(objects[j].id); CHECK(ret, FAIL, "H5Iinc_ref"); if (ret == FAIL) @@ -1373,7 +1373,7 @@ void test_ids(void) { /* Set the random # seed */ - HDsrandom((unsigned)time(NULL)); + srand((unsigned)time(NULL)); if (basic_id_test() < 0) TestErrPrintf("Basic ID test failed\n"); diff --git a/test/tselect.c b/test/tselect.c index b545eec0324..5167aba7e06 100644 --- a/test/tselect.c +++ b/test/tselect.c @@ -6318,7 +6318,6 @@ test_select_hyper_union_random_5d(hid_t read_plist) herr_t ret; /* Generic return value */ hssize_t npoints, /* Number of elements in file selection */ npoints2; /* Number of elements in memory selection */ - unsigned seed; /* Random number seed for each test */ unsigned test_num; /* Count of tests being executed */ /* Output message about test being performed */ @@ -6362,16 +6361,15 @@ test_select_hyper_union_random_5d(hid_t read_plist) CHECK(sid2, FAIL, "H5Screate_simple"); /* Get initial random # seed */ - seed = (unsigned)time(NULL); - HDsrandom(seed); + srand((unsigned)time(NULL)); /* Crunch through a bunch of random hyperslab reads from the file dataset */ for (test_num = 0; test_num < NRAND_HYPER; test_num++) { for (i = 0; i < NHYPERSLABS; i++) { /* Select random hyperslab location & size for selection */ for (j = 0; j < SPACE5_RANK; j++) { - start[j] = ((hsize_t)HDrandom() % dims1[j]); - count[j] = (((hsize_t)HDrandom() % (dims1[j] - start[j])) + 1); + start[j] = ((hsize_t)rand() % dims1[j]); + count[j] = (((hsize_t)rand() % (dims1[j] - start[j])) + 1); } /* Select hyperslab */ @@ -6379,7 +6377,7 @@ test_select_hyper_union_random_5d(hid_t read_plist) NULL); CHECK(ret, FAIL, "H5Sselect_hyperslab"); if (ret < 0) { - TestErrPrintf("Random hyperslabs for seed %u failed!\n", seed); + TestErrPrintf("Random hyperslabs failed!\n"); break; } } @@ -6401,7 +6399,7 @@ test_select_hyper_union_random_5d(hid_t read_plist) ret = H5Dread(dataset, H5T_NATIVE_INT, sid2, sid1, read_plist, rbuf); CHECK(ret, FAIL, "H5Dread"); if (ret < 0) { - TestErrPrintf("Random hyperslabs for seed %u failed!\n", seed); + TestErrPrintf("Random hyperslabs failed!\n"); break; } @@ -6409,7 +6407,7 @@ test_select_hyper_union_random_5d(hid_t read_plist) tbuf = rbuf; ret = H5Diterate(wbuf, H5T_NATIVE_INT, sid1, test_select_hyper_iter2, &tbuf); if (ret < 0) { - TestErrPrintf("Random hyperslabs for seed %u failed!\n", seed); + TestErrPrintf("Random hyperslabs failed!\n"); break; } diff --git a/test/tskiplist.c b/test/tskiplist.c index 4c76321047f..25ee35c0418 100644 --- a/test/tskiplist.c +++ b/test/tskiplist.c @@ -55,10 +55,9 @@ tst_rev_sort(const void *i1, const void *i2) static void test_skiplist_init(void) { - time_t curr_time; /* Current time, for seeding random number generator */ - int new_val; /* New value to insert */ - unsigned found; /* Flag to indicate value was inserted already */ - size_t u, v; /* Local index variables */ + int new_val; /* New value to insert */ + unsigned found; /* Flag to indicate value was inserted already */ + size_t u, v; /* Local index variables */ /* Allocate arrays */ rand_num = (int *)malloc(sizeof(int) * NUM_ELEMS); @@ -69,8 +68,7 @@ test_skiplist_init(void) CHECK_PTR(rev_sort_rand_num, "malloc"); /* Initialize random number seed */ - curr_time = time(NULL); - HDsrandom((unsigned)curr_time); + srand((unsigned)time(NULL)); /* Create randomized set of numbers */ for (u = 0; u < NUM_ELEMS; u++) { @@ -79,7 +77,7 @@ test_skiplist_init(void) found = 0; /* Generate random numbers from -5000 to 5000 */ - new_val = (int)(HDrandom() % 10001) - 5001; + new_val = (int)(rand() % 10001) - 5001; /* Check if the value is already in the array */ for (v = 0; v < u; v++) diff --git a/test/tunicode.c b/test/tunicode.c index d3baf801692..62ce82da804 100644 --- a/test/tunicode.c +++ b/test/tunicode.c @@ -815,14 +815,14 @@ test_unicode(void) MESSAGE(5, ("Testing UTF-8 Encoding\n")); /* Create a random string with length NUM_CHARS */ - HDsrandom((unsigned)time(NULL)); + srand((unsigned)time(NULL)); memset(test_string, 0, sizeof(test_string)); for (x = 0; x < NUM_CHARS; x++) { /* We need to avoid unprintable characters (codes 0-31) and the * . and / characters, since they aren't allowed in path names. */ - unicode_point = (unsigned)(HDrandom() % (MAX_CODE_POINT - 32)) + 32; + unicode_point = (unsigned)(rand() % (MAX_CODE_POINT - 32)) + 32; if (unicode_point != 46 && unicode_point != 47) cur_pos = write_char(unicode_point, test_string, cur_pos); } diff --git a/test/unlink.c b/test/unlink.c index 62c7e61a1b4..a722c21fbc3 100644 --- a/test/unlink.c +++ b/test/unlink.c @@ -816,7 +816,7 @@ test_filespace(hid_t fapl) /* Set buffer to different random numbers each time */ for (v = 0, tmp_data = data; v < (FILESPACE_DIM0 * FILESPACE_DIM1 * FILESPACE_DIM2); v++) - *tmp_data++ = (int)HDrandom(); + *tmp_data++ = (int)rand(); /* Write the buffer to the dataset */ if (H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data) < 0) @@ -2906,7 +2906,7 @@ main(void) double rdcc_w0; /* Set the random # seed */ - HDsrandom((unsigned)time(NULL)); + srand((unsigned)time(NULL)); /* Open */ h5_reset(); diff --git a/test/vfd.c b/test/vfd.c index 7025de907df..9f33e0ea328 100644 --- a/test/vfd.c +++ b/test/vfd.c @@ -3461,7 +3461,7 @@ setup_rand(void) fprintf(stdout, "\n%s: predefined_seed = %d.\n\n", __func__, seed); fflush(stdout); - HDsrand(seed); + srand(seed); } else { @@ -3477,7 +3477,7 @@ setup_rand(void) fprintf(stdout, "\n%s: seed = %d.\n\n", __func__, seed); fflush(stdout); - HDsrand(seed); + srand(seed); } } diff --git a/testpar/t_cache.c b/testpar/t_cache.c index 0f845ef9b39..162b8f31679 100644 --- a/testpar/t_cache.c +++ b/testpar/t_cache.c @@ -2883,7 +2883,7 @@ local_pin_and_unpin_random_entries(H5F_t *file_ptr, int min_idx, int max_idx, in assert(0 <= min_count); assert(min_count < max_count); - count = (HDrand() % (max_count - min_count)) + min_count; + count = (rand() % (max_count - min_count)) + min_count; assert(min_count <= count); assert(count <= max_count); @@ -2892,7 +2892,7 @@ local_pin_and_unpin_random_entries(H5F_t *file_ptr, int min_idx, int max_idx, in local_pin_random_entry(file_ptr, min_idx, max_idx); } - count = (HDrand() % (max_count - min_count)) + min_count; + count = (rand() % (max_count - min_count)) + min_count; assert(min_count <= count); assert(count <= max_count); @@ -2938,7 +2938,7 @@ local_pin_random_entry(H5F_t *file_ptr, int min_idx, int max_idx) assert(max_idx < virt_num_data_entries); do { - idx = (HDrand() % (max_idx - min_idx)) + min_idx; + idx = (rand() % (max_idx - min_idx)) + min_idx; assert(min_idx <= idx); assert(idx <= max_idx); } while (data[idx].global_pinned || data[idx].local_pinned); @@ -3055,7 +3055,7 @@ lock_and_unlock_random_entries(H5F_t *file_ptr, int min_idx, int max_idx, int mi assert(0 <= min_count); assert(min_count < max_count); - count = (HDrand() % (max_count - min_count)) + min_count; + count = (rand() % (max_count - min_count)) + min_count; assert(min_count <= count); assert(count <= max_count); @@ -3093,7 +3093,7 @@ lock_and_unlock_random_entry(H5F_t *file_ptr, int min_idx, int max_idx) assert(max_idx < NUM_DATA_ENTRIES); assert(max_idx < virt_num_data_entries); - idx = (HDrand() % (max_idx - min_idx)) + min_idx; + idx = (rand() % (max_idx - min_idx)) + min_idx; assert(min_idx <= idx); assert(idx <= max_idx); @@ -3933,7 +3933,7 @@ setup_rand(void) seed = predefined_seeds[world_mpi_rank]; fprintf(stdout, "%d:%s: predefined_seed = %d.\n", world_mpi_rank, __func__, seed); fflush(stdout); - HDsrand(seed); + srand(seed); } else { @@ -3950,7 +3950,7 @@ setup_rand(void) fprintf(stdout, "%d:%s: seed = %d.\n", world_mpi_rank, __func__, seed); fflush(stdout); } - HDsrand(seed); + srand(seed); } } diff --git a/testpar/t_pmulti_dset.c b/testpar/t_pmulti_dset.c index a61e1b4dcc4..c3c65c62479 100644 --- a/testpar/t_pmulti_dset.c +++ b/testpar/t_pmulti_dset.c @@ -267,7 +267,7 @@ test_pmdset(size_t niter, unsigned flags) for (i = 0; i < niter; i++) { /* Determine number of datasets */ ndsets = (flags & MDSET_FLAG_MLAYOUT) ? 3 - : (flags & MDSET_FLAG_MDSET) ? (size_t)((size_t)HDrandom() % max_dsets) + 1 + : (flags & MDSET_FLAG_MDSET) ? (size_t)((size_t)rand() % max_dsets) + 1 : 1; /* Create file */ @@ -280,16 +280,16 @@ test_pmdset(size_t niter, unsigned flags) (flags & MDSET_FLAG_CHUNK) || ((flags & MDSET_FLAG_MLAYOUT) && (j == 1 || j == 2)); /* Generate file dataspace */ - dset_dims[j][0] = (hsize_t)((HDrandom() % MAX_DSET_X) + 1); - dset_dims[j][1] = (hsize_t)((HDrandom() % MAX_DSET_Y) + 1); + dset_dims[j][0] = (hsize_t)((rand() % MAX_DSET_X) + 1); + dset_dims[j][1] = (hsize_t)((rand() % MAX_DSET_Y) + 1); if ((file_space_ids[j] = H5Screate_simple(2, dset_dims[j], use_chunk ? max_dims : NULL)) < 0) T_PMD_ERROR; /* Generate chunk if called for by configuration (multi layout uses chunked for datasets * 1 and 2) */ if (use_chunk) { - chunk_dims[0] = (hsize_t)((HDrandom() % MAX_CHUNK_X) + 1); - chunk_dims[1] = (hsize_t)((HDrandom() % MAX_CHUNK_Y) + 1); + chunk_dims[0] = (hsize_t)((rand() % MAX_CHUNK_X) + 1); + chunk_dims[1] = (hsize_t)((rand() % MAX_CHUNK_Y) + 1); if (H5Pset_chunk(dcpl_id[j], 2, chunk_dims) < 0) T_PMD_ERROR; } /* end if */ @@ -297,10 +297,10 @@ test_pmdset(size_t niter, unsigned flags) /* Create dataset */ /* If MDSET_FLAG_TCONV is set, use a different datatype with 50% probability, so * some datasets require type conversion and others do not */ - if ((dset_ids[j] = H5Dcreate2(file_id, dset_name[j], - (flags & MDSET_FLAG_TCONV && HDrandom() % 2) ? H5T_NATIVE_LONG - : H5T_NATIVE_UINT, - file_space_ids[j], H5P_DEFAULT, dcpl_id[j], H5P_DEFAULT)) < 0) + if ((dset_ids[j] = + H5Dcreate2(file_id, dset_name[j], + (flags & MDSET_FLAG_TCONV && rand() % 2) ? H5T_NATIVE_LONG : H5T_NATIVE_UINT, + file_space_ids[j], H5P_DEFAULT, dcpl_id[j], H5P_DEFAULT)) < 0) T_PMD_ERROR; } /* end for */ @@ -325,7 +325,7 @@ test_pmdset(size_t niter, unsigned flags) /* Perform read/write operations */ for (j = 0; j < OPS_PER_FILE; j++) { /* Decide whether to read or write */ - do_read = (bool)(HDrandom() % 2); + do_read = (bool)(rand() % 2); /* Barrier to ensure processes have finished the previous operation */ @@ -387,9 +387,9 @@ test_pmdset(size_t niter, unsigned flags) (int)((unsigned)max_dsets * MAX_DSET_X * MAX_DSET_Y) * ((int)l - (int)mpi_rank); /* Decide whether to do a hyperslab or point selection */ - if (HDrandom() % 2) { + if (rand() % 2) { /* Hyperslab */ - size_t nhs = (size_t)((HDrandom() % MAX_HS) + 1); /* Number of hyperslabs */ + size_t nhs = (size_t)((rand() % MAX_HS) + 1); /* Number of hyperslabs */ size_t max_hs_x = (MAX_HS_X <= dset_dims[k][0]) ? MAX_HS_X : dset_dims[k][0]; /* Determine maximum hyperslab size in X */ @@ -401,14 +401,14 @@ test_pmdset(size_t niter, unsigned flags) overlap = true; for (n = 0; overlap && (n < MAX_SEL_RETRIES); n++) { /* Generate hyperslab */ - count[m][0] = (hsize_t)(((hsize_t)HDrandom() % max_hs_x) + 1); - count[m][1] = (hsize_t)(((hsize_t)HDrandom() % max_hs_y) + 1); + count[m][0] = (hsize_t)(((hsize_t)rand() % max_hs_x) + 1); + count[m][1] = (hsize_t)(((hsize_t)rand() % max_hs_y) + 1); start[m][0] = (count[m][0] == dset_dims[k][0]) ? 0 - : (hsize_t)HDrandom() % (dset_dims[k][0] - count[m][0] + 1); + : (hsize_t)rand() % (dset_dims[k][0] - count[m][0] + 1); start[m][1] = (count[m][1] == dset_dims[k][1]) ? 0 - : (hsize_t)HDrandom() % (dset_dims[k][1] - count[m][1] + 1); + : (hsize_t)rand() % (dset_dims[k][1] - count[m][1] + 1); /* If writing, check for overlap with other processes */ overlap = false; @@ -460,8 +460,7 @@ test_pmdset(size_t niter, unsigned flags) } /* end if */ else { /* Point selection */ - size_t npoints = - (size_t)(((size_t)HDrandom() % MAX_POINTS) + 1); /* Number of points */ + size_t npoints = (size_t)(((size_t)rand() % MAX_POINTS) + 1); /* Number of points */ /* Reset dataset usage array if reading, since in this case we don't care * about overlapping selections between processes */ @@ -473,8 +472,8 @@ test_pmdset(size_t niter, unsigned flags) overlap = true; for (n = 0; overlap && (n < MAX_SEL_RETRIES); n++) { /* Generate point */ - points[2 * m] = (unsigned)((hsize_t)HDrandom() % dset_dims[k][0]); - points[(2 * m) + 1] = (unsigned)((hsize_t)HDrandom() % dset_dims[k][1]); + points[2 * m] = (unsigned)((hsize_t)rand() % dset_dims[k][0]); + points[(2 * m) + 1] = (unsigned)((hsize_t)rand() % dset_dims[k][1]); /* Check for overlap with other processes (write) or this process * (always) */ @@ -665,7 +664,7 @@ main(int argc, char *argv[]) /* Seed random number generator with shared seed (so all ranks generate the * same sequence) */ - HDsrandom(seed); + srand(seed); /* Fill dset_name array */ for (i = 0; i < MAX_DSETS; i++) { diff --git a/testpar/t_select_io_dset.c b/testpar/t_select_io_dset.c index 9d3f1205051..6382aed45b3 100644 --- a/testpar/t_select_io_dset.c +++ b/testpar/t_select_io_dset.c @@ -1588,7 +1588,7 @@ test_multi_dsets_no_bkg(hid_t fid, unsigned chunked, unsigned dtrans, unsigned s mwbuf ? "mwbuf" : "nomwbuf"); /* Flip a coin to see if we're doing type conversion */ - tconv = HDrandom() % 2; + tconv = rand() % 2; if (tconv) any_tconv = true; @@ -2079,7 +2079,7 @@ test_multi_dsets_cmpd_with_bkg(hid_t fid, unsigned chunked, unsigned select, uns } /* Case c */ - mm = HDrandom() % (int)ndsets; + mm = rand() % (int)ndsets; if (!mm) mm++; @@ -2720,7 +2720,7 @@ test_multi_dsets_conv_sel_empty(hid_t fid, unsigned chunked, unsigned dtrans, un } else { if ((dset_dids[i] = - H5Dcreate2(fid, dset_names[i], ((HDrandom() % 2) ? H5T_NATIVE_LLONG : H5T_NATIVE_SHORT), + H5Dcreate2(fid, dset_names[i], ((rand() % 2) ? H5T_NATIVE_LLONG : H5T_NATIVE_SHORT), file_sids[i], H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) P_TEST_ERROR; } @@ -2790,7 +2790,7 @@ test_multi_dsets_conv_sel_empty(hid_t fid, unsigned chunked, unsigned dtrans, un * process 0: get 0 row; other processes: hyperslab */ - mm = HDrandom() % (int)ndsets; + mm = rand() % (int)ndsets; if (mm == 0) mm++; @@ -3169,7 +3169,7 @@ test_multi_dsets_all(int niter, hid_t fid, unsigned chunked, unsigned select, un if ((mem_sids[i] = H5Screate_simple(1, block, NULL)) < 0) P_TEST_ERROR; - mm = HDrandom() % (int)ndsets; + mm = rand() % (int)ndsets; if (mm == 0) { dset_types[i] = DSET_WITH_NO_CONV; snprintf(dset_names[i], sizeof(dset_names[i]), "multi_all_nconv_dset%d_%s_%s_%s", i, diff --git a/tools/test/perform/overhead.c b/tools/test/perform/overhead.c index ecdecb34d54..721124c05bb 100644 --- a/tools/test/perform/overhead.c +++ b/tools/test/perform/overhead.c @@ -206,7 +206,7 @@ test(fill_t fill_style, const double splits[], bool verbose, bool use_rdcc) hs_start[0] = k % 2 ? (k / 2) : (hsize_t)((hssize_t)cur_size[0] - (hssize_t)(k / 2)); break; case FILL_RANDOM: - for (j = HDrand() % (int)cur_size[0]; had[j]; j = (j + 1) % (int)cur_size[0]) + for (j = rand() % (int)cur_size[0]; had[j]; j = (j + 1) % (int)cur_size[0]) /*void*/; hs_start[0] = (hsize_t)j; had[j] = 1; diff --git a/tools/test/perform/zip_perf.c b/tools/test/perform/zip_perf.c index 76e455f4ab5..8f33a86bf42 100644 --- a/tools/test/perform/zip_perf.c +++ b/tools/test/perform/zip_perf.c @@ -337,7 +337,7 @@ fill_with_random_data(Bytef *src, uLongf src_len) fprintf(stdout, "Using random() for random data\n"); for (u = 0; u < src_len; ++u) - src[u] = (Bytef)(0xff & HDrandom()); + src[u] = (Bytef)(0xff & rand()); } if (compress_percent) { From 7349023339413c3d9620d3794986155a57b3d79c Mon Sep 17 00:00:00 2001 From: Dana Robinson <43805+derobins@users.noreply.github.com> Date: Sun, 7 Apr 2024 15:24:03 -0700 Subject: [PATCH 8/8] Remove the getting started guide (#4339) This was moved to the wiki --- doc/getting-started-with-hdf5-development.md | 866 ------------------- 1 file changed, 866 deletions(-) delete mode 100644 doc/getting-started-with-hdf5-development.md diff --git a/doc/getting-started-with-hdf5-development.md b/doc/getting-started-with-hdf5-development.md deleted file mode 100644 index 687a1ea7cca..00000000000 --- a/doc/getting-started-with-hdf5-development.md +++ /dev/null @@ -1,866 +0,0 @@ -# Getting Started with HDF5 Development - -## Introduction - -The purpose of this document is to introduce new HDF5 developers to some of the -quirks of our source code. It's not a style guide (see the forthcoming HDF5 -style guide for that), but instead describes the most commonly encountered -features that are likely to trip up someone who has never worked with the HDF5 -source code before. - -Corrections and suggestions for improvement should be handled via GitHub pull -requests and issues. - -## Getting started - -### Building the library for development - -You don't really need special configuration settings for building the library -as a developer. - -Some tips that may be useful: - -* Building in debug mode will turn on additional checks in many packages. - You'll probably want to start coding in debug mode. -* You can turn symbols on independently of debug/production mode. -* If you will be looking at memory issues via tools like valgrind, you will - need to turn off the free lists, which recycle memory so we can avoid - calling malloc/free. This is done using the `--enable-using-memchecker` - configure option. Some developers build with this all the time, as the - memory recyclilng can hide problems like use-after-free. -* You can enable developer warnings via `--enable-developer-warnings`. These - warnings generate a lot of noise, but the output can occasionally be useful. - I probably wouldn't turn them on all the time, though, as they can make it - harder to spot warnings that we care about. -* You can set warnings as errors. We have an older scheme that does this for - a subset of errors or you can simply specify `-Werror`, etc. as a part of - `CFLAGS`. Configure is smart enough to strip it out when it runs configure - checks. We build the C library with -Werror on GitHub, so you'll need to fix - your warnings before creating a pull request. -* CMake has a developer mode that turns most these settings on. - - -### Branches - -Please see `doc/branches-explained.md` for an explanation of our branching strategy. - -For new small features, we have developers create feature branches in their own -repositories and then create pull requests into the canonical HDF5 repository. -For larger work, especially when the work will be done by multiple people, we -create feature branches named `feature/`. If work stops on a feature -branch, we rename it to `inactive/`. - -If you create a feature branch in the canonical HDFGroup repository, please -create a `BRANCH.md` text file in the repository root and explain: - -* The branch's purpose -* Contact info for someone who can tell us about the branch -* Clues about when the branch will be merged or can be considered for retirement - -The purpose of this document is to avoid orphan branches with no clear -provenance. - - -### Pull requests - -The process of creating a pull request is explained in `CONTRIBUTING.md`. - - -## A brief tour of the source code - -Here's a quick guide to where you can find things in our source tree. Some of these directories have README.md files of their own. - -`bin/` -Scripts we use for building the software and misc. tools. - -`c++/` -Source, tests, and examples for the C++ language wrapper. - -`config/` -Configuration files for both the Autotools and CMake. - -`doc/` -Miscellaneous documents, mostly in markdown format. - -`doxygen/` -Mainly Doxygen build files and other top-level Doxygen things. The Doxygen content is spread across the library's header files but some content can be found here when it has no other obvious home. - -`examples/` -C library examples. Fortran and C++ examples are located in their corresponding wrapper directory. - -`fortran/` -Source, tests, and examples for the Fortran language wrapper. - -`hl/` -Source, tests, and examples for the high-level library. - -`java/` -Source, tests, and examples for the JNI language wrapper and the corresponding OO Java library. - -`m4/` -m4 build scripts used by the Autotools. CMake ignores these. - -`release_docs/` -Install instructions and release notes. - -`src/` -Source code for the C library. - -`test/` -C library test code. Described in much more detail below. - -`testpar/` -Parallel C library test code. Described in much more detail below. - -`tools/` -HDF5 command-line tools code, associated tools tests, and the input test files. - -`utils/` -Small utility programs that don't belong anywhere else. - - -## General Things - -### Necessary software - -In order to do development work on the HDF5 library, you will need to have -a few things available. - -* A C99-compatible C compiler (MSVC counts). C11 is required to build the subfiling feature. -* Either CMake or the Autotools (Autoconf, Automake, libtool) -* Perl is needed to run some scripts, even on Windows -* A C++11-compatible compiler if you want to build the C++ wrappers -* A Fortran 2003-compatible compiler if you want to build the Fortran wrappers -* A Java 8-compatible compiler if you want to build the Java wrappers -* flex/lex and bison/yacc if you want to modify the high-level parsers -* A development version of zlib is necessary for zlib compression -* A development version of szip is necessary for szip compression -* An MPI-3 compatible MPI library must be installed for parallel HDF5 development -* clang-format is handy for formatting your code before submission to GitHub. The formatter will automatically update your PR if it's mis-formatted, though, so this isn't strictly necessary. -* codespell is useful to identify spelling issues before submission to GitHub. The codespell action won't automatically correct your code, but it will point out spelling errors, so this also isn't strictly necessary. - -These are the requirements for working on the develop branch. Maintenance -branches may relax the required versions somewhat. For example, HDF5 1.12 and -earlier only require C++98. - -Certain optional features may require additional libraries to be installed. You'll need curl and some S3 components installed to build the read-only S3 VFD, for example. - -### Platform-independence - -HDF5 assumes you have a C99 compiler and, to a certain extent, a POSIX-like -environment (other languages will be discussed later). On most operating systems -in common use, this will be a reasonable assumption. The biggest exception to -this has been Windows, which, until recently, had poor C99 compliance and spotty -POSIX functionality. To work around differences in platforms and compilers, -we've implemented a compatibility scheme. - -Unlike most codebases, which test for features and inject their own normal-looking -functions when there are deficiencies, HDF5 uses a scheme where we prefix all -C and POSIX calls with `HD` (e.g., `HDmalloc`). The `H5private.h` header handles -most of the fixup for Unix-like operating systems and defines the HD replacements. -For Windows, we first parse the `H5win32defs.h` file, which maps missing Windows -and MSVC functionality to POSIX and C99 calls. `H5private.h` tests for previously -defined HD calls and skips redefining it if it already exists. H5system.c -includes Windows glue code as well as a few functions we need to paper over -differences in Unix-like systems. - -One thing to keep in mind when looking at our platform-independence layer is -that it is quite old, having been authored when the Unix world was much more -fragmented and C99 was uncommon. We've slowly been reworking it as POSIX has -standardized and C99 become widespread. - -Another thing to keep in mind is that we're fairly conservative about deprecating -support for older platforms and compilers. There's an awful lot of ancient -hardware that requires HDF5, so we try to only make major changes to things -like language requirements when we increment the major version (minor version -prior to HDF5 2.0). - -### C99 - -We assume you have a C99 compiler. Subfiling uses some C11 features, but that is -compiled on demand and we are not moving that requirement to the rest of the -library. All modern compilers we've tested can handle HDF5's C99 requirements, -even Microsoft's. In the future, we'll remove the `HD` prefixes from all standard -C library calls. - -One quirk of HDF5's age, is the `hbool_t` type, which was created before C99 -Booleans were widespread and which uses `TRUE` and `FALSE` macros for its values -instead of C99's `true` and `false`. We plan to switch this over to C99's Boolean -types sometime in the near future. - -### POSIX - -We assume basic POSIX.1-2008 functionality is present. When a POSIX (or common Unix) -function is missing on a popular platform, we implement a shim or macro -in `H5private.h` and/or `H5system.c`. Systems that need a lot of help, like -Windows, have gotten special headers in the past (e.g., `H5win32defs.h`) but -now that most platforms implement the POSIX and C99 functionality we need, these -special headers are less necessary. - -### Threads - -Thread-safety was originally implemented using Pthreads, with Win32 support -bolted on later. No other thread libraries are supported. The subfiling -feature uses multiple threads under the hood, but that's out of scope for -an introductory document. Thread-related code is largely confined to the `H5TS` -files, where we define HDF5-specific primitives and then map Pthread or Win32 -implementations onto them. - -### C++ - -The C++ Wrappers require C++11. We generally only require the rule of three -for the classes. - -### Fortran - -The Fortran wrappers require Fortran 2003. - -### Java - -The Java wrappers require Java 8. - -### Warning suppression - -In the rare cases where we've decided to suppress a warning, we have a set -of function-like macros that we use for that. They are located in `H5private.h` -and have the form `H5__DIAG_(OFF|ON)` and take the name of the warning -they are suppressing as a parameter. They were originally designed for gcc and -extended to clang. They have not been updated for other compilers. Instead, -we have plans to revamp the macro system to be more generic and extensible. - -We try to configure the compilers we use the most for maximum grumpiness and -then fix all the warnings we can. Please don't use the warning suppression -macros in lieu of actually fixing the underlying problems. - -## Build Systems - -We support building the library with both the Autotools and CMake. We'd like to -eventually move to only having one build system, which would be CMake since -the Autotools don't really support Windows, but that seems unlikely to happen -anytime soon. With few exceptions, any new feature, test, or configure -option should be supported in both build systems. - -The particulars of the build systems can be found in the `config` directory -and its subdirectories. - -## Working in the library - -### Anatomy of an HDF5 API call - -HDF5 API calls have a uniform structure imposed by our function enter/leave and -error handling schemes. We currently stick to this boilerplate for ALL -functions, though this may change in the future. The general boilerplate varies -slightly between internal and public API calls. - -Here's an example of an internal API call: - -```c -/* - * Function comments of dubious value - */ -herr_t -H5X_do_stuff(/*parameters*/) -{ - /* variables go here */ - void *foo = NULL; - herr_t ret_value = SUCCEED; - - FUNC_ENTER_NOAPI(FAIL) - - HDassert(/*parameter check*/); - - if (H5X_other_call() < 0) - HGOTO_ERROR(H5E_MAJ, H5E_MIN, FAIL, "badness"); - -done: - if (ret_value < 0) - /* do error cleanup */ - /* do regular cleanup stuff */ - - FUNC_LEAVE_NOAPI(ret_value); -} -``` - -There are a couple of things to note here. - -* Each function call has a header comment block. The information you'll find in - most function comments is not particularly helpful. We're going to improve the - format of this. -* Most functions will return `herr_t` or `hid_t` ID. We try to avoid other - return types and instead use out parameters to return things to the user. -* The name will be of the form `H5X_do_something()` with one or two underscores - after the `H5X`. The naming scheme will be explained later. -* Even though C99 allows declarations anywhere in the function, we put most of - them at the top of the file, with the exception of loop variables and - variables that are "in scope" inside an ifdef. -* We generally initialize values that may need to be freed or otherwise cleaned - up to a "bad" value like `NULL` or `H5I_INVALID_HID` so we can better clean up - resources on function exit, especially when there have been errors. -* Most non-void functions will declare a variable called `ret_value`. This is - used by the error handling macros. It's usually the last thing declared in - the variable block. -* Every function starts with a `FUNC_ENTER macro`, discussed later in this - document. -* Most internal calls will check parameters via asserts. -* We check the return value of any call that can return an error, using the form - shown. -* On errors, an error macro is invoked. These are described later in this - document. -* Any function that returns an error will have a `done` target. Most error - macros jump to this location on errors. -* We do most cleanup at the end of the function, after the `done` target. There - are special `DONE` flavors of error macro that we use in post-`done` cleanup - code to detect and report errors without loops. -* Almost every function ends with a `FUNC_LEAVE` macro. - -And here's an example of a public API call: - -```c -/* - * Doxygen stuff goes here - */ -herr_t -H5Xdo_api_stuff(/*parameters*/) -{ - /* variables go here */ - herr_t ret_value = SUCCEED; - - FUNC_ENTER_API(FAIL) - H5TRACE3(/*stuff*/) - - if (/*parameter check*/) - HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "badness"); - - /* VOL setup */ - - if (H5VL_call() < 0) - HGOTO_ERROR(H5E_FOO, H5E_BAR, FAIL, "badness"); - -done: - if (ret_value < 0) - /* do error cleanup */ - /* do regular cleanup stuff */ - - FUNC_LEAVE_API(ret_value); -} - -``` - -A public API call differs little from an internal call. The biggest differences: - -* Public API calls are commented using Doxygen. This is how we generate the - reference manual entries. -* The name will have the form `H5Xdo_stuff()`, with no underscores after the `H5X`. -* The function enter macro is `FUNC_ENTER_API` (or similar). Under the hood, this - one differs quite a bit from an internal function enter macro. It checks for - package initialization, for example, and acquires the global lock in thread-safe HDF5. -* There is a `TRACE` macro. This helps with API tracing and is applied by a - script invoked by `autogen.sh` (Autotools) or CMake. You probably don't need - to worry much about this. -* Parameter checking uses the regular HDF5 error scheme and invokes - `HGOTO_ERROR` macros on errors. -* In storage-related calls, there will usually be some VOL setup (HDF5 1.12.x - and later) and in lieu of a regular internal API call, there will be an `H5VL` - VOL call. -* The function exit macro will be `FUNC_LEAVE_API` (or similar). This is where - we release the global thread-safe lock, etc. - - -### Public, private, package - -HDF5 is divided into _packages_, which encapsulate related functionality. Each -has a prefix of the form `H5X(Y)`. An example is the dataset package, which has -the prefix `H5D`. Hopefully, you are familiar with this from the public API. In -addition to the public packages, we all know and love, there are many internal -packages that are not visible to the public via API calls, like `H5FL` (free -lists / memory pools) and `H5B2` (version 2 B-trees). There's also an `H5` -package that deals with very low-level things like library startup. - -API calls, types, etc. in HDF5 have three levels of visibility. From most to -least visible, these are: - -* Public -* Private -* Package - -**Public** things are in the public API. They are usually found in `H5Xpublic.h` -header files. API calls are of the form `H5Xfoo()`, with no underscores between -the package name and the rest of the function name. - -**Private** things are for use across the HDF5 library, and can be used outside the packages -that contain them. They collectively make up the "internal library API". API -calls are of the form `H5X_foo()` with one underscore between the package -name and the rest of the function name. - -**Package** things are for use inside the package and the compiler will -complain if you include them outside of the package they belong to. They -collectively make up the "internal package API". API calls are of the form -`H5X__foo()` with *two* underscores between the package name and the rest of the -function name. The concept of "friend" packages exists and you can declare this -by defining `_FRIEND` in a file. This will let you include the package -header from a package in a file that it is not a member of. Doing this is -strongly discouraged, though. Test functions are often declared in package -headers as they expose package internals and test programs can include -multiple package headers so they can check on internal package state. - -Note that the underscore scheme is primarily for API calls and does not extend -to things like types and symbols. Another thing to keep in mind is that the -difference between package and private API calls can be somewhat arbitrary. -We're hoping to improve the coherence of the internal APIs via refactoring. - - -### Function enter and leave macros - -Function enter and leave macros are added to almost all HDF5 API calls. This is -where we set up error handling (see below) and things like the thread-safety -global lock (in public API calls). There are different flavors depending on the -API call and it's very important that they are appropriate for the function they -mark up. - -The various combinations you are most likely to encounter: - -|Macro|Use| -|-----|---| -|`FUNC_ENTER_API`|Used when entering a public API call| -|`FUNC_ENTER_NOAPI`|Used when entering a private API call| -|`FUNC_ENTER_PACKAGE`|Used when entering a package API call| - -There are also `_NO_INIT` flavors of some of these macros. These are usually -small utility functions that don't initialize the library, like -`H5is_library_threadsafe()`. They are uncommon. - -You may also come across `_NO_FS` ("no function stack") flavors that don't push -themselves on the stack. These are rare. - -For the most part, you will be using the `API`, `NOAPI`, and `PACKAGE` macros. - -You may see other versions if you are working in a maintenance branch, like the -`STATIC` macros that we removed in 1.13. We've been working to reduce the -complexity and number of these macros and we don't always push that downstream -due to the scope of the changes involved. You should be able to figure out what -any new macros do based on what you've seen here, though. - -### Error macros - -Almost all HDF5 functions return an error code, usually -1 or some typedef'd -equivalent. Functions that return `void` should be avoided, even if the function -cannot fail. Instead, return an `herr_t` value and always return `SUCCEED`. - -|Type|Error Value| -|----|-----------| -|`herr_t`|`FAIL`| -|any signed integer type|-1| -|`hid_t`|`H5I_INVALID_HID`| -|`htri_t`|`FAIL`| -|`haddr_t`|`HADDR_UNDEF`| -|pointer|`NULL`| - -We've been trying to move away from using anything other than `herr_t` or `hid_t` -to return errors, as eliminating half of a variable's potential values just so -we can return a 'bad' value on errors seems unwise in a library that is -designed to scale. - -`herr_t` is a typedef'd signed integer. In the library, we only define two -values for it: `SUCCEED` and `FAIL`, which are defined to 0 and -1, respectively, -in `H5private.h`. We do not export these values, so public API calls just note -that `herr_t` values will be negative on failure and non-negative on success. - -Most of the error handling is performed using macros. The only extra setup you -will have to do is: - -1. Create a variable named `ret_value` with the same type -as the return value for the function. If the type is `herr_t` it is frequently -set to `SUCCEED` and will be set to `FAIL` on errors. In most other cases, -the value is initialized to the 'bad' value and the function's code will set -`ret_value` to a 'good' value at some point, with errors setting it back to -the 'bad' value. - -2. Create a done target (`done:`) just before you start your error cleanup. -This will be the point to which the error macros will jump. - -We check for errors on almost all internal lines of C code that could putatively -fail. The general format is this: - -```c -if (function_that_could_fail(foo, bar) < 0) - HGOTO_ERROR(H5E_, H5E_, , "tell me about badness"); -``` - -`HGOTO_ERROR` is one of a set of macros defined in `H5Eprivate.h`. This macro -pops an error on the error stack and sets the return value to ``, -then jumps to the `done:` target. - -Major and minor codes are a frequent cause of confusion. A full list of them -can be found in `H5err.txt`, which is processed into the actual error header -files at configure time by the `bin/make_err` script. The original intent was for major and minor error -codes to be strongly associated. i.e., a given minor code would *only* be used -with its associated major code. Unfortunately, this has not been the case in -practice, and the emitted text can appear nonsensical in error -stack dumps. Even worse, the major and minor error codes are used inconsistently -throughout the library, making interpreting them almost impossible for -external users. We hope to address this deficiency in the near future. - -In the meantime, the following guidelines can be helpful: - -1. Use `H5E_ARGS` as the major error category when parsing function parameters. The minor code will usually be `H5E_BADVALUE`, `H5E_BADRANGE`, or `H5E_BADTYPE`. -2. Otherwise use the same major code throughout the source file. There is almost a 1-1 correspondence between packages and major error codes. -3. Pick the minor code that seems to match the API call. You can grep through the library to find similar uses. -4. The string at the end of the `HGOTO_ERROR` macro is much more important, so make sure that is helpful - -You will still sometimes see the major error code match the package of a failing -function call. We're trying to fix those as we come across them. - -Since the `HGOTO_ERROR` macro jumps to the `done:` target, you can't use it -after the `done:` target without creating a loop. Instead, you'll need to use -the `HDONE_ERROR` macro, which will handle errors without jumping to the target. -Instead, processing will continue after pushing the error and setting the -return value, in the hopes that we can clean up as much as possible. - -At the end of the function, the `FUNC_LEAVE` macro will return `ret_value`. - -### Trace macros - -These are automatically generated for public C library API calls by the -`bin/trace` script, which scans the source code, looking for functions of the -form `H5X(Y?)()`, to which it will add or update the `H5TRACE` macros. - -`H5TRACE` macros are only added to public C library API calls. They are NOT -added to the language wrappers, tools code, high-level library, etc. - -You should never have to modify an `H5TRACE` macro. Either point `bin/trace` at -your source file or run `autogen.sh` (which runs `bin/trace` over the C files -in `src`). `bin/trace` is a Perl script, so you'll need to have that available. - - -### Memory - `H5MM` and `H5FL` - -In the C library itself, we use `H5MM` and `H5FL` calls to allocate and free -memory instead of directly using the standard C library calls. - -The `H5MM` package was originally designed so that it would be easy to swap in a -memory allocator of the developer's choosing. In practice, this has rarely -been a useful feature, and we are thinking about removing this scheme. In -the meantime, almost all memory allocations in the C library will use the -`H5MM` (or `H5FL`) package. - -In the past, we added memory allocation sanity checking to the `H5MM` calls -which added heap canaries to memory allocations and performed sanity checking -and gathered statistics. These were turned on by default in debug builds -for many years. Unfortunately, there is interplay between library-allocated -and externally-allocated memory in the filter pipeline where the heap canaries -can easily get corrupted and cause problems. We also have some API calls that -return library-allocated memory to the user, which can cause problems if they -then use `free(3)` to free it. Given these problems, we now have the sanity -checks turned off by default in all build modes. You can turn them back on via -configure/CMake options, but it's normally easier to use external tools like -valgrind or the compiler's memory debugging options. - -`H5FL` provides memory pools (*Free Lists*) that create a set of fixed-size allocations -of a certain type that the library will reuse as needed. They use `H5MM` calls -under the hood and can be useful when the library creates and frees a lot of -objects of that type. It's difficult to give a good guideline as to when to use -the `H5FL` calls and when to use the `H5MM` calls, but it's probably best to -lean towards `H5MM` unless you can identify a clear performance hit due to -memory cycling. Current library usage can be a good guide, but keep in mind that -the free lists are probably overused in the library. Another thing to keep in -mind is that the free lists can hide memory errors, like use-after-free. Some -developers always turn them off and you'll need to turn them off when running -memory checkers like valgrind. - -Using free list calls differs little from using `H5MM` calls. There are -equivalents for `malloc(3)`, `calloc(3)`, and `free(3)`: - -| C Library|`H5FL`| -|----------|------| -|`malloc`|`H5FL_MALLOC`| -|`calloc`|`H5FL_CALLOC`| -|`free`|`H5FL_FREE`| - -Since free lists provide pre-allocated memory of a fixed size, you can't -reallocate free list memory and there's no `H5FL` `realloc(3)` equivalent. - -You'll also need to add a setup macro to the top of the file. There are a few -flavors defined in `H5FLprivate.h`. Each creates global free list variables, -so there are flavors for extern, static, etc. - -|Macro|Purpose| -|-----|-------| -|`H5FL_DEFINE`|Define a free list that will be used in several files| -|`H5FL_EXTERN`|Define a free list that was defined in another file| -|`H5FL_DEFINE_STATIC`|Define a free list that will only be used in this file| - -You will also see `ARR`, `BLK`, `SEQ`, and `FAC` flavors of the macros. Their -use is beyond the scope of a guide for beginners. - -## Testing - -### Two macro schemes - -The HDF5 C library is tested via a collection of small programs in the `test/` -directory. There are a few schemes in use: - -- `testhdf5` - A larger, composite test program composed of several test files, most of which start with 't' (e.g., `tcoords.c`) -- Shell/Powershell scripts that test things like SWMR and flush/refresh behavior. These scripts run small sub-programs. -- Everything else. These are self-contained test programs that are built and run independently by the test harness. - - -The test programs do not use a standard test framework like cppunit, but instead -use HDF5-specific macros to set up the tests and report errors. There are two -sets of macros, one in `testhdf5.h` and another in `h5test.h`. -Originally, the `testhdf5` programs used the macros in `testhdf5.h` and everything -else used the macros in `h5test.h`, but over time the tests have evolved so that -all tests usually include both headers. - -This is unfortunate, because it's very important to not mix up the "test framework -macros" in each scheme. The `testhdf5.h` macros register errors by setting global -variables and normally continue with the test when they encounter errors. The -`h5test.h` macros indicate errors by jumping to an error target and returning -a `FAIL` `herr_t` value. If you combine these two macro sets, you may -accidentally create tests that fail but do not register the failure. - -We are aware that our testing scheme needs some work and we'll be working to -improve it over the next year or so. - -The command-line tools are tested using a different scheme and are discussed elsewhere. - -### `testhdf5.h` - -The macros in this file are almost exclusively used in the `testhdf5` program. -They register errors by incrementing a global error count that is inspected at -the end of each test (not each test *function*, but each *test* - e.g., after -`test_file()` in `tfile.c` runs, but not when the individual functions it -calls run). - -Test functions generally look like this: - -```c -static void -test_something() -{ - /* Variables go here */ - int out = -1; - herr_t ret; - - MESSAGE(5, ("Testing a thing\n")); - - ret = H5Xsome_api_call(&out); - CHECK(ret, FAIL, "H5Xsome_api_call()"); - VERIFY(out, 6, "incorrect value for out"); -} - -``` - -The `MESSAGE` macro just dumps the name of what we're testing when we've the -verbosity cranked up. The confusingly-named `CHECK` and `VERIFY` macros are -members of a suite of check macros in `testhdf5.h`. `CHECK` macros check to -see if a variable is **NOT** a value, `VERIFY` macros check to see if a variable -**IS** a value. There are different flavors of macro to match different types -so be sure to use the right one to avoid compiler warnings and spurious errors. -Under the hood, these macros will emit error information and increment the -global error variables. - -Tests are added to `testhdf5` in `testhdf5.c` using the `AddTest()` call. -Each test will have a driver function, usually named something like `test_()` -that invokes the test functions in the file. -Most tests will cleanup their files using a `cleanup_()` call. If you are -deleting HDF5 files, you should use `H5Fdelete()` instead of `remove(3)` so -that files can be cleaned even when they use alternative VFDs or VOL connectors. -You'll also need to add prototypes for any new test driver or cleanup functions -to `testhdf5.h`. - -Because these macros interact with global variables that are only used in the -testhdf5 program, they are useless anywhere else in the library. Even worse, it -will *look* like you are testing functionality, but errors will not be picked -up by the non-testhdf5 programs, hiding problems. - -### `h5test.h` - -These are the most commonly used macros and are used throughout the test code, -even in places that are not specifically tests. Unlike the scheme used in -the `testhdf5` program, these macros work more like the library, jumping to -an `error:` target on errors. There is no common `ret_value` variable, however. - -Test functions will usually look like this: - -```c -static herr_t -test_something() -{ - hid_t fapl_id = H5I_INVALID_HID; - hid_t fid = H5I_INVALID_HID; - char filename[1024]; - int *buf = NULL; - - TESTING("Testing some feature"); - - if ((fapl_id = h5_fileaccess()) < 0) - TEST_ERROR; - h5_fixname(FILENAME[0], fapl, filename, sizeof(filename)); - - if ((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_id)) < 0) - TEST_ERROR; - - /* Many more calls here */ - - PASSED(); - return SUCCEED; - -error: - - HDfree(buf); - - H5E_BEGIN_TRY - { - H5Fclose(fid); - } - H5E_END_TRY - - return FAIL; -} -``` - -Tests begin with a `TESTING` macro that emits some text (unlike the `testhdf5` -case, this is always dumped). Any errors will be handled by one of the -`TEST_ERROR` macros. For the most part, `TEST_ERROR` will suffice, but there -are others in `h5test.h` if you want to emit custom text, dump the HDF5 error -stack when it would not normally be triggered, etc. - -Most tests will be set up to run with arbitrary VFDs. To do this, you set the -fapl ID using the `h5_fileaccess()` function, which will check the `HDF5_TEST_DRIVER` -environment variable and set the fapl's VFD accordingly. The `h5_fixname()` -call can then be used to get a VFD-appropriate filename for the `H5Fcreate()`, -etc. call. - -In the `error` section, we clean up resources and return a 'bad' value, which -will usually either be `FAIL` or -1. - -The `main()` function of each test program will usually start out by calling -`h5_reset()`, then run each test, incrementing an error count variable if a -test fails. The exit code and text will be set based on the error count. - -### Scripts - -If you need to fire off multiple programs to test a new feature, you may have -to do this via a script. These are normally named `test_.sh.in`. The -`.in` is because the scripts are often modified and copied during the configure -step. In the past, we have tried to stick to POSIX Bourne shell scripts, but -many scripts now require bash. - -If you write a new test script, it is important to also add a PowerShell -equivalent for testing on Windows. - -It's helpful to run any new shell scripts through `shellcheck` -(https://www.shellcheck.net/) to ensure that your scripts are free from -common problems. - - -### Parallel tests (in `testpar/`) - -To be covered in a future update of this guide... - -### Adding new tests - -All new HDF5 library functionality (including bugfixes) should have a test. -Some rules of thumb: - -- If you need to run multiple programs, you'll need to create a script and some test programs. Use the macros in `h5test.h` to handle errors in your test programs. -- If a suitable test program already exists (especially if your tests will be small), add your new tests to the existing file. -- If you need to create a new test program, create one that uses the `h5test.h` macros. -- Avoid adding new tests to `testhdf5` or using the macros in `testhdf5.h`. - -Don't forget that you'll need to add your test program or script to the lists in -both the CMake and Autotools test files (`CMakeLists.txt` and `Makefile.am` in -`test/` respectively). For simple tests, you just need to add your new test to -the list of tests. - -All new tests **MUST** run under both the Autotools and CMake. Ideally, they -should also work on Windows, but we're willing to overlook this for things -that are unlikely to be useful on that platform. - -## Documentation - -We have moved the user guide and reference manual to Doxygen. All public API -calls and symbols should have Doxygen markup in the public header file. New major -features should be documented in the user guide. This Doxygen content is located in -the package's module header file (`H5Xmodule.h`). Language wrapper calls -(C++/Fortran/Java) should also have Doxygen markup, which will be located with -the wrapper source code. Images and other common Doxygen files belong in the -`doxygen` directory. - -Internal documentation for developer consumption is currently stored as Markdown -files in the `doc` directory. This may change in the future. Documentation that -helps understand the contents of a directory is often stored in a README.md -Markdown file in that directory. - -Build and install documentation is stored in text files in `release_docs`. This -is admittedly not the best place for this. History files are also kept here. - -## Command-Line Tools - -The HDF5 command-line tools are written in C and built with the library by default. -The code is organized into a central tools library (in the `tools/lib` directory) -that includes some common functionality and the individual programs, each of which -has its own directory in `tools/src`. A few of the smaller tools are aggregated -into the `tools/src/misc` directory. Only h5diff has a parallel version at this -time and the parallel-specific functionality is in the `tools/src/h5diff/ph5diff_main.c` file. -Some h5diff functionality has also made its way into the tools library. -The tools code is not as well organized as the main library, so there's more opportunity -for refactoring here. - -Also worth noting is that the command-line tools only use **public** HDF5 API -calls, even though they include `H5private.h` in order to take advantage of -the platform-independence scheme we use in the main library and some private -utility functions. - -There are also a few tools in the high-level library. The gif2h5 and h52gif tools -are poorly-written and have known security issues, so they will soon be moved -to a separate repository, leaving h5watch as the only high-level command-line tool. - -### Source code - -The source code for the tools likes more like standard C code and uses its own -set of macros, which are defined in the tools library header files. There are -no `FUNC_ENTER` macros, you do not need to define a `ret_value` variable, -and the error macros are greatly simplified. Errors are usually handled by -a `TOOLS_ERROR` macro (or `TOOLS_GOTO_ERROR` if you need to jump to a `done:` -target to handle cleanup). -One area where the tools need a lot more work is in handling errors. The tools -code frequently ignores errors, often in functions that return `void`. - -A "tools-only" consideration is the use of command-line arguments. We try to -be conservative about these, even though they really aren't in the "public API" -in the same way as API calls are. Additions and changes to the options will -probably result in some discussion. - -### Tools tests - -In most cases, a tool will be run against an input HDF5 file with a particular -set of command-line parameters, the exit code checked, and the output compared -with a standard output file. In some cases, errors are expected and standard -error files will be compared. These standard error files often contain HDF5 -error stack dumps, which can cause spurious tool test "failures" when we -make changes to the main HDF5 C library. - -Test files can be located in a few places in the `tools` directory tree. -Common input files that are used with multiple tools are kept in `tools/testfiles`. -Input files that are used with just one tool are located in `tools/test//testfiles`. -Expected output files are located with their respective HDF5 files and end in `.txt`. -Expected error files are also located with their respective HDF5 files and end in `.err`. -h5dump files will usually have `.ddl` and `.xml` output files and there will -usually be `.` files that contain help output. -The test files are generated by programs with `gentest` in their name, though -we typically check the generated HDF5 files in instead of recreating them -as a part of running the tools tests. - -The Autotools aggregate the tools tests in per-tool shell scripts in the -`tools/test/` directory. Each script starts with a few utility functions -that perform setup, compare files, clean output, etc. and the test commands -will appear at the end. CMake works similarly, but each test is set up in -the CMakeLists.txt and CMakeTests.cmake files in the same directory. - -Adding a new test will usually involve: -- Adding a new function to the appropriate generator program to create a new HDF5 file -- Adding your new test to the CMake and Autotools test scripts, as described above -- Adding appropriate output and/or error files for comparison - -You MUST add new tests to both the Autotools and CMake.

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 T-2QV6_~_p;x}A6HX~_QpRhbP! literal 0 HcmV?d00001 diff --git a/doxygen/img/tutrvds-snglimg.png b/doxygen/img/tutrvds-snglimg.png new file mode 100755 index 0000000000000000000000000000000000000000..249e56c84835fb58da850cdbd195d70a3279e691 GIT binary patch literal 243661 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