From 983dd3a124d940e59191756cc5b58c41d09b1c69 Mon Sep 17 00:00:00 2001 From: Mufeng Xu Date: Wed, 11 Sep 2024 00:29:44 -0400 Subject: [PATCH 01/10] Implemented CPU scan algorithms --- stream_compaction/cpu.cu | 50 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 48 insertions(+), 2 deletions(-) diff --git a/stream_compaction/cpu.cu b/stream_compaction/cpu.cu index 719fa11..68711b3 100644 --- a/stream_compaction/cpu.cu +++ b/stream_compaction/cpu.cu @@ -20,6 +20,12 @@ namespace StreamCompaction { void scan(int n, int *odata, const int *idata) { timer().startCpuTimer(); // TODO + // Exclusive Prefix Sum + odata[0] = 0; + for (int i = 0; i < n - 1; ++i) + { + odata[i + 1] = odata[i] + idata[i]; + } timer().endCpuTimer(); } @@ -31,8 +37,16 @@ namespace StreamCompaction { int compactWithoutScan(int n, int *odata, const int *idata) { timer().startCpuTimer(); // TODO + int j = 0; + for (int i = 0; i < n; ++ i) + { + if (idata[i] != 0) + { + odata[j++] = idata[i]; + } + } timer().endCpuTimer(); - return -1; + return j; } /** @@ -43,8 +57,40 @@ namespace StreamCompaction { int compactWithScan(int n, int *odata, const int *idata) { timer().startCpuTimer(); // TODO + // Temporary arrays + int* mask = new int[n]; + int* indices = new int[n]; + + for (int i = 0; i < n; ++i) + { + mask[i] = idata[i] != 0; + } + + // scan(n, indices, mask); + indices[0] = 0; + for (int i = 0; i < n - 1; ++i) + { + indices[i + 1] = indices[i] + mask[i]; + } + + // Scatter + for (int i = 0; i < n; ++i) + { + if (mask[i]) + { + odata[indices[i]] = idata[i]; + } + } + + // Retrieve the number of elements remaining + int elementCount = indices[n - 1]; + + // Clean up + delete[] mask; + delete[] indices; timer().endCpuTimer(); - return -1; + + return elementCount; } } } From 1e2394219698d19ad6d643523853f1e7e49a1d8d Mon Sep 17 00:00:00 2001 From: Mufeng Xu Date: Wed, 11 Sep 2024 12:07:53 -0400 Subject: [PATCH 02/10] Implemented naive GPU parallel scan & common.cu --- stream_compaction/common.cu | 14 ++++++++++++ stream_compaction/naive.cu | 44 ++++++++++++++++++++++++++++++++++++- 2 files changed, 57 insertions(+), 1 deletion(-) diff --git a/stream_compaction/common.cu b/stream_compaction/common.cu index 2ed6d63..a877305 100644 --- a/stream_compaction/common.cu +++ b/stream_compaction/common.cu @@ -1,4 +1,7 @@ #include "common.h" +#include +#include + void checkCUDAErrorFn(const char *msg, const char *file, int line) { cudaError_t err = cudaGetLastError(); @@ -24,6 +27,10 @@ namespace StreamCompaction { */ __global__ void kernMapToBoolean(int n, int *bools, const int *idata) { // TODO + int index = (blockIdx.x * blockDim.x) + threadIdx.x; + if (index >= n) { return; } + + bools[index] = idata[index] != 0; } /** @@ -33,6 +40,13 @@ namespace StreamCompaction { __global__ void kernScatter(int n, int *odata, const int *idata, const int *bools, const int *indices) { // TODO + int index = (blockIdx.x * blockDim.x) + threadIdx.x; + if (index >= n) { return; } + + if (bools[index]) + { + odata[indices[index]] = idata[index]; + } } } diff --git a/stream_compaction/naive.cu b/stream_compaction/naive.cu index 4308876..5b2121a 100644 --- a/stream_compaction/naive.cu +++ b/stream_compaction/naive.cu @@ -1,7 +1,10 @@ #include -#include #include "common.h" #include "naive.h" +#include +#include + +constexpr int blockSize = 512; namespace StreamCompaction { namespace Naive { @@ -13,12 +16,51 @@ namespace StreamCompaction { } // TODO: __global__ + __global__ void kernPartialSum(int N, int d, int* odata, const int *idata) + { + int index = (blockIdx.x * blockDim.x) + threadIdx.x; + if (index >= N) { return; } + if (index >= (1 << d)) + { + odata[index] = idata[index - (1 << d)] + idata[index]; + } + else + { + odata[index] = idata[index]; + } + } + /** * Performs prefix-sum (aka scan) on idata, storing the result into odata. */ void scan(int n, int *odata, const int *idata) { timer().startGpuTimer(); // TODO + + // Ping-pong device data buffers + int* dev_idata; + int* dev_odata; + cudaMalloc((void**)&dev_idata, n * sizeof(int)); + cudaMalloc((void**)&dev_odata, n * sizeof(int)); + + cudaMemcpy(dev_idata, idata, n * sizeof(int), cudaMemcpyHostToDevice); + cudaMemcpy(dev_odata, dev_idata, n * sizeof(int), cudaMemcpyDeviceToDevice); + + dim3 threadsPerBlock(blockSize); + dim3 numBlocks((n + blockSize - 1) / blockSize); + + for (int d = 0; d < ilog2ceil(n); ++d) + { + kernPartialSum <<>> (n, d, dev_odata, dev_idata); + checkCUDAError("Kernel launch failed."); + std::swap(dev_odata, dev_idata); + } + + odata[0] = 0; + cudaMemcpy(odata + 1, dev_idata, (n - 1) * sizeof(int), cudaMemcpyDeviceToHost); + + cudaFree(dev_idata); + cudaFree(dev_odata); timer().endGpuTimer(); } } From f6a9272c330d5227db520e98da127e05d04cf867 Mon Sep 17 00:00:00 2001 From: Mufeng Xu Date: Thu, 12 Sep 2024 02:19:40 -0400 Subject: [PATCH 03/10] Implemented work-efficient parallel scan, and stream compaction algorithm --- src/main.cpp | 13 ++-- stream_compaction/common.cu | 3 + stream_compaction/cpu.cu | 4 +- stream_compaction/efficient.cu | 118 ++++++++++++++++++++++++++++++++- stream_compaction/naive.cu | 14 ++-- 5 files changed, 136 insertions(+), 16 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 896ac2b..5418a74 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -13,7 +13,7 @@ #include #include "testing_helpers.hpp" -const int SIZE = 1 << 8; // feel free to change the size of array +const int SIZE = 1 << 18; // feel free to change the size of array const int NPOT = SIZE - 3; // Non-Power-Of-Two int *a = new int[SIZE]; int *b = new int[SIZE]; @@ -71,14 +71,14 @@ int main(int argc, char* argv[]) { printDesc("work-efficient scan, power-of-two"); StreamCompaction::Efficient::scan(SIZE, c, a); printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(SIZE, c, true); + printArray(SIZE, c, true); printCmpResult(SIZE, b, c); zeroArray(SIZE, c); printDesc("work-efficient scan, non-power-of-two"); StreamCompaction::Efficient::scan(NPOT, c, a); printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(NPOT, c, true); + printArray(NPOT, c, true); printCmpResult(NPOT, b, c); zeroArray(SIZE, c); @@ -137,17 +137,18 @@ int main(int argc, char* argv[]) { printDesc("work-efficient compact, power-of-two"); count = StreamCompaction::Efficient::compact(SIZE, c, a); printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(count, c, true); + printArray(count, c, true); printCmpLenResult(count, expectedCount, b, c); zeroArray(SIZE, c); printDesc("work-efficient compact, non-power-of-two"); count = StreamCompaction::Efficient::compact(NPOT, c, a); printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(count, c, true); + printArray(count, c, true); printCmpLenResult(count, expectedNPOT, b, c); - +#ifdef _WIN32 system("pause"); // stop Win32 console from closing on exit +#endif delete[] a; delete[] b; delete[] c; diff --git a/stream_compaction/common.cu b/stream_compaction/common.cu index a877305..141e9d8 100644 --- a/stream_compaction/common.cu +++ b/stream_compaction/common.cu @@ -1,4 +1,6 @@ #include "common.h" + +#include #include #include @@ -45,6 +47,7 @@ namespace StreamCompaction { if (bools[index]) { + assert(indices[index] < n && indices[index] >= 0); odata[indices[index]] = idata[index]; } } diff --git a/stream_compaction/cpu.cu b/stream_compaction/cpu.cu index 68711b3..9a69d02 100644 --- a/stream_compaction/cpu.cu +++ b/stream_compaction/cpu.cu @@ -38,7 +38,7 @@ namespace StreamCompaction { timer().startCpuTimer(); // TODO int j = 0; - for (int i = 0; i < n; ++ i) + for (int i = 0; i < n; ++i) { if (idata[i] != 0) { @@ -83,7 +83,7 @@ namespace StreamCompaction { } // Retrieve the number of elements remaining - int elementCount = indices[n - 1]; + int elementCount = indices[n - 1] + mask[n - 1]; // Clean up delete[] mask; diff --git a/stream_compaction/efficient.cu b/stream_compaction/efficient.cu index 2db346e..bb8a9b7 100644 --- a/stream_compaction/efficient.cu +++ b/stream_compaction/efficient.cu @@ -3,6 +3,12 @@ #include "common.h" #include "efficient.h" +#include +#include +#include + +constexpr int blockSize = 128; + namespace StreamCompaction { namespace Efficient { using StreamCompaction::Common::PerformanceTimer; @@ -12,15 +18,79 @@ namespace StreamCompaction { return timer; } + __global__ void kernReduce(int N, int d, int *data) + { + int index = (blockIdx.x * blockDim.x) + threadIdx.x; + if (index >= N) { return; } + + int k = index * (1 << (d + 1)); + + data[k + (1 << (d + 1)) - 1] += data[k + (1 << d) - 1]; + } + + __global__ void kernTraverseBack(int N, int d, int *data) + { + int index = (blockIdx.x * blockDim.x) + threadIdx.x; + if (index >= N) { return; } + + int k = index * (1 << (d + 1)); + + int t = data[k + (1 << d) - 1]; + data[k + (1 << d) - 1] = data[k + (1 << (d + 1)) - 1]; + data[k + (1 << (d + 1)) - 1] += t; + } + + void scan_gpu(int n, int* dev_data) + { + thrust::device_ptr dev_thrust_data(dev_data); + + // Up-sweep + for (int d = 0; d < ilog2ceil(n) - 1; ++d) + { + dim3 threadsPerBlock(blockSize); + dim3 blocksPerGrid(((n >> (d + 1)) + blockSize - 1) / blockSize); + kernReduce <<>> ((n >> (d + 1)), d, dev_data); + checkCUDAError("kernReduce launch failed!"); + } + + // Down-sweep + dev_thrust_data[n - 1] = 0; + + for (int d = ilog2ceil(n) - 1; d >= 0; --d) + { + int numThreads = n >> (d + 1); + if (numThreads << (d + 1) != n) { numThreads = n >> d; } + dim3 threadsPerBlock(blockSize); + dim3 blocksPerGrid((numThreads + blockSize - 1) / blockSize); + kernTraverseBack <<>> (numThreads, d, dev_data); + checkCUDAError("kernTraverseBack launch failed!"); + } + } + /** * Performs prefix-sum (aka scan) on idata, storing the result into odata. */ void scan(int n, int *odata, const int *idata) { + // Up-sweep + int *dev_data; + cudaMalloc((void**)&dev_data, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_data failed!"); + + cudaMemcpy(dev_data, idata, n * sizeof(int), cudaMemcpyHostToDevice); + checkCUDAError("cudaMemcpy idata->dev_data failed!"); + timer().startGpuTimer(); - // TODO + scan_gpu(n, dev_data); timer().endGpuTimer(); + + cudaMemcpy(odata, dev_data, n * sizeof(int), cudaMemcpyDeviceToHost); + checkCUDAError("cudaMemcpy dev_data->odata failed!"); + + // Clean up + cudaFree(dev_data); } + /** * Performs stream compaction on idata, storing the result into odata. * All zeroes are discarded. @@ -31,10 +101,52 @@ namespace StreamCompaction { * @returns The number of elements remaining after compaction. */ int compact(int n, int *odata, const int *idata) { + + int* dev_bools; + cudaMalloc((void**)&dev_bools, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_bools failed!"); + + int* dev_indices; + if (n == 1 << ilog2ceil(n)) + cudaMalloc((void**)&dev_indices, n * sizeof(int)); + else + cudaMalloc((void**)&dev_indices, n * 2 * sizeof(int)); + checkCUDAError("cudaMalloc dev_indices failed!"); + + thrust::device_ptr dev_thrust_indices(dev_indices); + thrust::device_ptr dev_thrust_bools(dev_bools); + + int* dev_idata; + cudaMalloc((void**)&dev_idata, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_idata failed!"); + + int* dev_odata; + cudaMalloc((void**)&dev_odata, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_odata failed!"); + + cudaMemcpy(dev_idata, idata, n * sizeof(int), cudaMemcpyHostToDevice); + checkCUDAError("cudaMemcpy idata->dev_idata failed!"); + + dim3 threadsPerBlock(blockSize); + dim3 blocksPerGrid((n + blockSize - 1) / blockSize); + timer().startGpuTimer(); - // TODO + Common::kernMapToBoolean <<>> (n, dev_bools, dev_idata); + checkCUDAError("kernMapToBoolean launch failed!"); + + cudaMemcpy(dev_indices, dev_bools, n * sizeof(int), cudaMemcpyDeviceToDevice); + checkCUDAError("cudaMemcpy dev_bools->dev_indices failed!"); + scan_gpu(n, dev_indices); + + int numRemaining = dev_thrust_indices[n - 1] + dev_thrust_bools[n - 1]; + + Common::kernScatter <<>> (n, dev_odata, dev_idata, dev_bools, dev_indices); + checkCUDAError("kernScatter launch failed!"); timer().endGpuTimer(); - return -1; + + cudaMemcpy(odata, dev_odata, numRemaining * sizeof(int), cudaMemcpyDeviceToHost); + + return numRemaining; } } } diff --git a/stream_compaction/naive.cu b/stream_compaction/naive.cu index 5b2121a..f6c9e03 100644 --- a/stream_compaction/naive.cu +++ b/stream_compaction/naive.cu @@ -4,7 +4,7 @@ #include #include -constexpr int blockSize = 512; +constexpr int blockSize = 128; namespace StreamCompaction { namespace Naive { @@ -34,34 +34,38 @@ namespace StreamCompaction { * Performs prefix-sum (aka scan) on idata, storing the result into odata. */ void scan(int n, int *odata, const int *idata) { - timer().startGpuTimer(); // TODO // Ping-pong device data buffers int* dev_idata; int* dev_odata; cudaMalloc((void**)&dev_idata, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_idata failed!"); cudaMalloc((void**)&dev_odata, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_odata failed!"); cudaMemcpy(dev_idata, idata, n * sizeof(int), cudaMemcpyHostToDevice); - cudaMemcpy(dev_odata, dev_idata, n * sizeof(int), cudaMemcpyDeviceToDevice); + checkCUDAError("cudaMemcpy idata->dev_idata failed!"); dim3 threadsPerBlock(blockSize); dim3 numBlocks((n + blockSize - 1) / blockSize); + timer().startGpuTimer(); for (int d = 0; d < ilog2ceil(n); ++d) { kernPartialSum <<>> (n, d, dev_odata, dev_idata); - checkCUDAError("Kernel launch failed."); + checkCUDAError("Kernel launch failed!"); std::swap(dev_odata, dev_idata); } + timer().endGpuTimer(); + // Copy to CPU and shift to right odata[0] = 0; cudaMemcpy(odata + 1, dev_idata, (n - 1) * sizeof(int), cudaMemcpyDeviceToHost); + checkCUDAError("cudaMemcpy dev_idata->odata failed!"); cudaFree(dev_idata); cudaFree(dev_odata); - timer().endGpuTimer(); } } } From 3eed0268a0317d13222684e22df87eccf63eff92 Mon Sep 17 00:00:00 2001 From: Mufeng Xu Date: Thu, 12 Sep 2024 13:31:27 -0400 Subject: [PATCH 04/10] Implemented scan with thrust::exclusive_scan --- src/main.cpp | 12 +++++++----- stream_compaction/efficient.cu | 28 ++++++++++++++-------------- stream_compaction/thrust.cu | 7 +++++++ 3 files changed, 28 insertions(+), 19 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 5418a74..b370764 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -13,7 +13,7 @@ #include #include "testing_helpers.hpp" -const int SIZE = 1 << 18; // feel free to change the size of array +const int SIZE = 1 << 28; // feel free to change the size of array const int NPOT = SIZE - 3; // Non-Power-Of-Two int *a = new int[SIZE]; int *b = new int[SIZE]; @@ -71,14 +71,14 @@ int main(int argc, char* argv[]) { printDesc("work-efficient scan, power-of-two"); StreamCompaction::Efficient::scan(SIZE, c, a); printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - printArray(SIZE, c, true); + //printArray(SIZE, c, true); printCmpResult(SIZE, b, c); zeroArray(SIZE, c); printDesc("work-efficient scan, non-power-of-two"); StreamCompaction::Efficient::scan(NPOT, c, a); printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - printArray(NPOT, c, true); + //printArray(NPOT, c, true); printCmpResult(NPOT, b, c); zeroArray(SIZE, c); @@ -137,18 +137,20 @@ int main(int argc, char* argv[]) { printDesc("work-efficient compact, power-of-two"); count = StreamCompaction::Efficient::compact(SIZE, c, a); printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - printArray(count, c, true); + //printArray(count, c, true); printCmpLenResult(count, expectedCount, b, c); zeroArray(SIZE, c); printDesc("work-efficient compact, non-power-of-two"); count = StreamCompaction::Efficient::compact(NPOT, c, a); printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - printArray(count, c, true); + //printArray(count, c, true); printCmpLenResult(count, expectedNPOT, b, c); + #ifdef _WIN32 system("pause"); // stop Win32 console from closing on exit #endif + delete[] a; delete[] b; delete[] c; diff --git a/stream_compaction/efficient.cu b/stream_compaction/efficient.cu index bb8a9b7..fa16855 100644 --- a/stream_compaction/efficient.cu +++ b/stream_compaction/efficient.cu @@ -49,7 +49,7 @@ namespace StreamCompaction { { dim3 threadsPerBlock(blockSize); dim3 blocksPerGrid(((n >> (d + 1)) + blockSize - 1) / blockSize); - kernReduce <<>> ((n >> (d + 1)), d, dev_data); + kernReduce <<>> ((n >> (d + 1)), d, dev_data); checkCUDAError("kernReduce launch failed!"); } @@ -71,16 +71,17 @@ namespace StreamCompaction { * Performs prefix-sum (aka scan) on idata, storing the result into odata. */ void scan(int n, int *odata, const int *idata) { + int nCeil = 1 << ilog2ceil(n); // Up-sweep int *dev_data; - cudaMalloc((void**)&dev_data, n * sizeof(int)); + cudaMalloc((void**)&dev_data, nCeil * sizeof(int)); checkCUDAError("cudaMalloc dev_data failed!"); cudaMemcpy(dev_data, idata, n * sizeof(int), cudaMemcpyHostToDevice); checkCUDAError("cudaMemcpy idata->dev_data failed!"); timer().startGpuTimer(); - scan_gpu(n, dev_data); + scan_gpu(nCeil, dev_data); timer().endGpuTimer(); cudaMemcpy(odata, dev_data, n * sizeof(int), cudaMemcpyDeviceToHost); @@ -101,27 +102,26 @@ namespace StreamCompaction { * @returns The number of elements remaining after compaction. */ int compact(int n, int *odata, const int *idata) { + int nCeil = 1 << ilog2ceil(n); + size_t sizeOfArrays = nCeil * sizeof(int); int* dev_bools; - cudaMalloc((void**)&dev_bools, n * sizeof(int)); + cudaMalloc((void**)&dev_bools, sizeOfArrays); checkCUDAError("cudaMalloc dev_bools failed!"); int* dev_indices; - if (n == 1 << ilog2ceil(n)) - cudaMalloc((void**)&dev_indices, n * sizeof(int)); - else - cudaMalloc((void**)&dev_indices, n * 2 * sizeof(int)); + cudaMalloc((void**)&dev_indices, sizeOfArrays); checkCUDAError("cudaMalloc dev_indices failed!"); thrust::device_ptr dev_thrust_indices(dev_indices); thrust::device_ptr dev_thrust_bools(dev_bools); int* dev_idata; - cudaMalloc((void**)&dev_idata, n * sizeof(int)); + cudaMalloc((void**)&dev_idata, sizeOfArrays); checkCUDAError("cudaMalloc dev_idata failed!"); int* dev_odata; - cudaMalloc((void**)&dev_odata, n * sizeof(int)); + cudaMalloc((void**)&dev_odata, sizeOfArrays); checkCUDAError("cudaMalloc dev_odata failed!"); cudaMemcpy(dev_idata, idata, n * sizeof(int), cudaMemcpyHostToDevice); @@ -131,16 +131,16 @@ namespace StreamCompaction { dim3 blocksPerGrid((n + blockSize - 1) / blockSize); timer().startGpuTimer(); - Common::kernMapToBoolean <<>> (n, dev_bools, dev_idata); + Common::kernMapToBoolean <<>> (nCeil, dev_bools, dev_idata); checkCUDAError("kernMapToBoolean launch failed!"); - cudaMemcpy(dev_indices, dev_bools, n * sizeof(int), cudaMemcpyDeviceToDevice); + cudaMemcpy(dev_indices, dev_bools, sizeOfArrays, cudaMemcpyDeviceToDevice); checkCUDAError("cudaMemcpy dev_bools->dev_indices failed!"); - scan_gpu(n, dev_indices); + scan_gpu(nCeil, dev_indices); int numRemaining = dev_thrust_indices[n - 1] + dev_thrust_bools[n - 1]; - Common::kernScatter <<>> (n, dev_odata, dev_idata, dev_bools, dev_indices); + Common::kernScatter <<>> (nCeil, dev_odata, dev_idata, dev_bools, dev_indices); checkCUDAError("kernScatter launch failed!"); timer().endGpuTimer(); diff --git a/stream_compaction/thrust.cu b/stream_compaction/thrust.cu index 1def45e..e940160 100644 --- a/stream_compaction/thrust.cu +++ b/stream_compaction/thrust.cu @@ -18,11 +18,18 @@ namespace StreamCompaction { * Performs prefix-sum (aka scan) on idata, storing the result into odata. */ void scan(int n, int *odata, const int *idata) { + thrust::device_vector dv_idata(idata, idata + n); + thrust::device_vector dv_odata(n); + timer().startGpuTimer(); // TODO use `thrust::exclusive_scan` // example: for device_vectors dv_in and dv_out: // thrust::exclusive_scan(dv_in.begin(), dv_in.end(), dv_out.begin()); + thrust::exclusive_scan(dv_idata.begin(), dv_idata.end(), dv_odata.begin()); timer().endGpuTimer(); + + cudaMemcpy(odata, dv_odata.data().get(), n * sizeof(int), cudaMemcpyDeviceToHost); + checkCUDAError("cudaMemcpy dv_odata->odata failed!"); } } } From 4624dda5206ba8594ba046de5f9fd5bfa279b326 Mon Sep 17 00:00:00 2001 From: Mufeng Xu Date: Mon, 16 Sep 2024 21:56:44 -0400 Subject: [PATCH 05/10] Radix sort --- src/main.cpp | 27 +++++++- stream_compaction/CMakeLists.txt | 2 + stream_compaction/common.cu | 10 ++- stream_compaction/common.h | 3 + stream_compaction/efficient.h | 1 + stream_compaction/radix.cu | 111 +++++++++++++++++++++++++++++++ stream_compaction/radix.h | 13 ++++ 7 files changed, 165 insertions(+), 2 deletions(-) create mode 100644 stream_compaction/radix.cu create mode 100644 stream_compaction/radix.h diff --git a/src/main.cpp b/src/main.cpp index b370764..3d3b744 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -12,8 +12,10 @@ #include #include #include "testing_helpers.hpp" +#include "stream_compaction/radix.h" +#include "fstream" -const int SIZE = 1 << 28; // feel free to change the size of array +const int SIZE = 1 << 18; // feel free to change the size of array const int NPOT = SIZE - 3; // Non-Power-Of-Two int *a = new int[SIZE]; int *b = new int[SIZE]; @@ -147,6 +149,29 @@ int main(int argc, char* argv[]) { //printArray(count, c, true); printCmpLenResult(count, expectedNPOT, b, c); + printf("\n"); + printf("*****************************\n"); + printf("****** RADIX SORT TESTS *****\n"); + printf("*****************************\n"); + + zeroArray(SIZE, c); + printDesc("radix sort, power-of-two"); + StreamCompaction::Radix::sort(SIZE, c, a); + printElapsedTime(StreamCompaction::Radix::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); + printArray(SIZE, c, true); + std::cout << " The array is"; + std::cout << (std::is_sorted(c, c + SIZE) ? " " : " not "); + std::cout << "sorted.\t(std::is_sorted verified)\n"; + + zeroArray(SIZE, c); + printDesc("radix sort, non-power-of-two"); + StreamCompaction::Radix::sort(NPOT, c, a); + printElapsedTime(StreamCompaction::Radix::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); + printArray(SIZE, c, true); + std::cout << " The array is"; + std::cout << (std::is_sorted(c, c + NPOT) ? " " : " not "); + std::cout << "sorted.\t(std::is_sorted verified)\n"; + #ifdef _WIN32 system("pause"); // stop Win32 console from closing on exit #endif diff --git a/stream_compaction/CMakeLists.txt b/stream_compaction/CMakeLists.txt index e0ec27c..3148c51 100644 --- a/stream_compaction/CMakeLists.txt +++ b/stream_compaction/CMakeLists.txt @@ -4,6 +4,7 @@ set(headers "naive.h" "efficient.h" "thrust.h" + "radix.h" ) set(sources @@ -12,6 +13,7 @@ set(sources "naive.cu" "efficient.cu" "thrust.cu" + "radix.cu" ) list(SORT headers) diff --git a/stream_compaction/common.cu b/stream_compaction/common.cu index 141e9d8..65c87cc 100644 --- a/stream_compaction/common.cu +++ b/stream_compaction/common.cu @@ -47,10 +47,18 @@ namespace StreamCompaction { if (bools[index]) { - assert(indices[index] < n && indices[index] >= 0); odata[indices[index]] = idata[index]; } } + __global__ void kernScatter(int n, int* odata, + const int* idata, const int* indices) { + // TODO + int index = (blockIdx.x * blockDim.x) + threadIdx.x; + if (index >= n) { return; } + + odata[indices[index]] = idata[index]; + } + } } diff --git a/stream_compaction/common.h b/stream_compaction/common.h index d2c1fed..c87ff66 100644 --- a/stream_compaction/common.h +++ b/stream_compaction/common.h @@ -37,6 +37,9 @@ namespace StreamCompaction { __global__ void kernScatter(int n, int *odata, const int *idata, const int *bools, const int *indices); + __global__ void kernScatter(int n, int* odata, + const int* idata, const int* indices); + /** * This class is used for timing the performance * Uncopyable and unmovable diff --git a/stream_compaction/efficient.h b/stream_compaction/efficient.h index 803cb4f..134ffe0 100644 --- a/stream_compaction/efficient.h +++ b/stream_compaction/efficient.h @@ -6,6 +6,7 @@ namespace StreamCompaction { namespace Efficient { StreamCompaction::Common::PerformanceTimer& timer(); + void scan_gpu(int n, int* dev_data); void scan(int n, int *odata, const int *idata); int compact(int n, int *odata, const int *idata); diff --git a/stream_compaction/radix.cu b/stream_compaction/radix.cu new file mode 100644 index 0000000..fe6729d --- /dev/null +++ b/stream_compaction/radix.cu @@ -0,0 +1,111 @@ +#include +#include +#include "common.h" +#include "efficient.h" +#include "radix.h" + +#include +#include + +#define getBit(num, k) ((num) & (1 << (k))) >> (k) + +constexpr int blockSize = 128; + +namespace StreamCompaction +{ + namespace Radix + { + using StreamCompaction::Common::PerformanceTimer; + PerformanceTimer& timer() + { + static PerformanceTimer timer; + return timer; + } + + __global__ void kernGetBitMask(int N, int k, const int* data, int* b, int* e) + { + int index = (blockIdx.x * blockDim.x) + threadIdx.x; + if (index >= N) { return; } + + int bit = getBit(data[index], k); + b[index] = bit; + e[index] = bit ^ 1; + } + + __global__ void kernGetIdx(int N, int totalFalses, const int* b, const int* f, int* d) + { + int index = (blockIdx.x * blockDim.x) + threadIdx.x; + if (index >= N) { return; } + + d[index] = b[index] ? index - f[index] + totalFalses : f[index]; + } + + void sort(int n, int* odata, const int* idata) + { + int digits = 31; + int nCeil = 1 << ilog2ceil(n); + + int* dev_idata; + cudaMalloc((void**)&dev_idata, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_data failed!"); + + int* dev_odata; + cudaMalloc((void**)&dev_odata, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_data failed!"); + + int* dev_b; + cudaMalloc((void**)&dev_b, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_b failed!"); + + int* dev_e; + cudaMalloc((void**)&dev_e, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_e failed!"); + + int* dev_f; + cudaMalloc((void**)&dev_f, nCeil * sizeof(int)); + checkCUDAError("cudaMalloc dev_f failed!"); + + int* dev_d; + cudaMalloc((void**)&dev_d, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_d failed!"); + + thrust::device_ptr dev_thrust_f(dev_f); + thrust::device_ptr dev_thrust_e(dev_e); + + cudaMemcpy(dev_idata, idata, n * sizeof(int), cudaMemcpyHostToDevice); + checkCUDAError("cudaMemcpy idata->dev_idata failed!"); + + timer().startGpuTimer(); + for (int k = 0; k < digits; ++k) + { + // k-th pass + dim3 threadsPerBlock(blockSize); + dim3 blocksPerGrid((n + blockSize - 1) / blockSize); + kernGetBitMask <<>> (n, k, dev_idata, dev_b, dev_e); + + cudaMemcpy(dev_f, dev_e, n * sizeof(int), cudaMemcpyDeviceToDevice); + checkCUDAError("cudaMemcpy dev_e->dev_f failed!"); + Efficient::scan_gpu(nCeil, dev_f); + + int totalFalses = dev_thrust_e[n - 1] + dev_thrust_f[n - 1]; + + kernGetIdx <<>> (n, totalFalses, dev_b, dev_f, dev_d); + + Common::kernScatter <<>> (n, dev_odata, dev_idata, dev_d); + + std::swap(dev_odata, dev_idata); + } + timer().endGpuTimer(); + + cudaMemcpy(odata, dev_idata, n * sizeof(int), cudaMemcpyDeviceToHost); + checkCUDAError("cudaMemcpy dev_idata->odata failed!"); + + cudaFree(dev_idata); + cudaFree(dev_odata); + cudaFree(dev_b); + cudaFree(dev_e); + cudaFree(dev_f); + cudaFree(dev_d); + } + } +} \ No newline at end of file diff --git a/stream_compaction/radix.h b/stream_compaction/radix.h new file mode 100644 index 0000000..e6c834f --- /dev/null +++ b/stream_compaction/radix.h @@ -0,0 +1,13 @@ +#pragma once + +#include "common.h" + +namespace StreamCompaction +{ + namespace Radix + { + StreamCompaction::Common::PerformanceTimer& timer(); + + void sort(int n, int* odata, const int* idata); + } +} \ No newline at end of file From b574019fd8e1d0f73753889cedbc923356302826 Mon Sep 17 00:00:00 2001 From: Mufeng Xu Date: Mon, 16 Sep 2024 21:56:44 -0400 Subject: [PATCH 06/10] Radix sort --- src/main.cpp | 27 +++++++- stream_compaction/CMakeLists.txt | 2 + stream_compaction/common.cu | 10 ++- stream_compaction/common.h | 3 + stream_compaction/efficient.h | 1 + stream_compaction/radix.cu | 111 +++++++++++++++++++++++++++++++ stream_compaction/radix.h | 13 ++++ 7 files changed, 165 insertions(+), 2 deletions(-) create mode 100644 stream_compaction/radix.cu create mode 100644 stream_compaction/radix.h diff --git a/src/main.cpp b/src/main.cpp index b370764..819bc55 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -12,8 +12,10 @@ #include #include #include "testing_helpers.hpp" +#include "stream_compaction/radix.h" +#include "fstream" -const int SIZE = 1 << 28; // feel free to change the size of array +const int SIZE = 1 << 24; // feel free to change the size of array const int NPOT = SIZE - 3; // Non-Power-Of-Two int *a = new int[SIZE]; int *b = new int[SIZE]; @@ -147,6 +149,29 @@ int main(int argc, char* argv[]) { //printArray(count, c, true); printCmpLenResult(count, expectedNPOT, b, c); + printf("\n"); + printf("*****************************\n"); + printf("****** RADIX SORT TESTS *****\n"); + printf("*****************************\n"); + + zeroArray(SIZE, c); + printDesc("radix sort, power-of-two"); + StreamCompaction::Radix::sort(SIZE, c, a); + printElapsedTime(StreamCompaction::Radix::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); + printArray(SIZE, c, true); + std::cout << " The array is"; + std::cout << (std::is_sorted(c, c + SIZE) ? " " : " not "); + std::cout << "sorted.\t(std::is_sorted verified)\n"; + + zeroArray(SIZE, c); + printDesc("radix sort, non-power-of-two"); + StreamCompaction::Radix::sort(NPOT, c, a); + printElapsedTime(StreamCompaction::Radix::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); + printArray(NPOT, c, true); + std::cout << " The array is"; + std::cout << (std::is_sorted(c, c + NPOT) ? " " : " not "); + std::cout << "sorted.\t(std::is_sorted verified)\n"; + #ifdef _WIN32 system("pause"); // stop Win32 console from closing on exit #endif diff --git a/stream_compaction/CMakeLists.txt b/stream_compaction/CMakeLists.txt index e0ec27c..3148c51 100644 --- a/stream_compaction/CMakeLists.txt +++ b/stream_compaction/CMakeLists.txt @@ -4,6 +4,7 @@ set(headers "naive.h" "efficient.h" "thrust.h" + "radix.h" ) set(sources @@ -12,6 +13,7 @@ set(sources "naive.cu" "efficient.cu" "thrust.cu" + "radix.cu" ) list(SORT headers) diff --git a/stream_compaction/common.cu b/stream_compaction/common.cu index 141e9d8..65c87cc 100644 --- a/stream_compaction/common.cu +++ b/stream_compaction/common.cu @@ -47,10 +47,18 @@ namespace StreamCompaction { if (bools[index]) { - assert(indices[index] < n && indices[index] >= 0); odata[indices[index]] = idata[index]; } } + __global__ void kernScatter(int n, int* odata, + const int* idata, const int* indices) { + // TODO + int index = (blockIdx.x * blockDim.x) + threadIdx.x; + if (index >= n) { return; } + + odata[indices[index]] = idata[index]; + } + } } diff --git a/stream_compaction/common.h b/stream_compaction/common.h index d2c1fed..c87ff66 100644 --- a/stream_compaction/common.h +++ b/stream_compaction/common.h @@ -37,6 +37,9 @@ namespace StreamCompaction { __global__ void kernScatter(int n, int *odata, const int *idata, const int *bools, const int *indices); + __global__ void kernScatter(int n, int* odata, + const int* idata, const int* indices); + /** * This class is used for timing the performance * Uncopyable and unmovable diff --git a/stream_compaction/efficient.h b/stream_compaction/efficient.h index 803cb4f..134ffe0 100644 --- a/stream_compaction/efficient.h +++ b/stream_compaction/efficient.h @@ -6,6 +6,7 @@ namespace StreamCompaction { namespace Efficient { StreamCompaction::Common::PerformanceTimer& timer(); + void scan_gpu(int n, int* dev_data); void scan(int n, int *odata, const int *idata); int compact(int n, int *odata, const int *idata); diff --git a/stream_compaction/radix.cu b/stream_compaction/radix.cu new file mode 100644 index 0000000..fe6729d --- /dev/null +++ b/stream_compaction/radix.cu @@ -0,0 +1,111 @@ +#include +#include +#include "common.h" +#include "efficient.h" +#include "radix.h" + +#include +#include + +#define getBit(num, k) ((num) & (1 << (k))) >> (k) + +constexpr int blockSize = 128; + +namespace StreamCompaction +{ + namespace Radix + { + using StreamCompaction::Common::PerformanceTimer; + PerformanceTimer& timer() + { + static PerformanceTimer timer; + return timer; + } + + __global__ void kernGetBitMask(int N, int k, const int* data, int* b, int* e) + { + int index = (blockIdx.x * blockDim.x) + threadIdx.x; + if (index >= N) { return; } + + int bit = getBit(data[index], k); + b[index] = bit; + e[index] = bit ^ 1; + } + + __global__ void kernGetIdx(int N, int totalFalses, const int* b, const int* f, int* d) + { + int index = (blockIdx.x * blockDim.x) + threadIdx.x; + if (index >= N) { return; } + + d[index] = b[index] ? index - f[index] + totalFalses : f[index]; + } + + void sort(int n, int* odata, const int* idata) + { + int digits = 31; + int nCeil = 1 << ilog2ceil(n); + + int* dev_idata; + cudaMalloc((void**)&dev_idata, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_data failed!"); + + int* dev_odata; + cudaMalloc((void**)&dev_odata, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_data failed!"); + + int* dev_b; + cudaMalloc((void**)&dev_b, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_b failed!"); + + int* dev_e; + cudaMalloc((void**)&dev_e, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_e failed!"); + + int* dev_f; + cudaMalloc((void**)&dev_f, nCeil * sizeof(int)); + checkCUDAError("cudaMalloc dev_f failed!"); + + int* dev_d; + cudaMalloc((void**)&dev_d, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_d failed!"); + + thrust::device_ptr dev_thrust_f(dev_f); + thrust::device_ptr dev_thrust_e(dev_e); + + cudaMemcpy(dev_idata, idata, n * sizeof(int), cudaMemcpyHostToDevice); + checkCUDAError("cudaMemcpy idata->dev_idata failed!"); + + timer().startGpuTimer(); + for (int k = 0; k < digits; ++k) + { + // k-th pass + dim3 threadsPerBlock(blockSize); + dim3 blocksPerGrid((n + blockSize - 1) / blockSize); + kernGetBitMask <<>> (n, k, dev_idata, dev_b, dev_e); + + cudaMemcpy(dev_f, dev_e, n * sizeof(int), cudaMemcpyDeviceToDevice); + checkCUDAError("cudaMemcpy dev_e->dev_f failed!"); + Efficient::scan_gpu(nCeil, dev_f); + + int totalFalses = dev_thrust_e[n - 1] + dev_thrust_f[n - 1]; + + kernGetIdx <<>> (n, totalFalses, dev_b, dev_f, dev_d); + + Common::kernScatter <<>> (n, dev_odata, dev_idata, dev_d); + + std::swap(dev_odata, dev_idata); + } + timer().endGpuTimer(); + + cudaMemcpy(odata, dev_idata, n * sizeof(int), cudaMemcpyDeviceToHost); + checkCUDAError("cudaMemcpy dev_idata->odata failed!"); + + cudaFree(dev_idata); + cudaFree(dev_odata); + cudaFree(dev_b); + cudaFree(dev_e); + cudaFree(dev_f); + cudaFree(dev_d); + } + } +} \ No newline at end of file diff --git a/stream_compaction/radix.h b/stream_compaction/radix.h new file mode 100644 index 0000000..e6c834f --- /dev/null +++ b/stream_compaction/radix.h @@ -0,0 +1,13 @@ +#pragma once + +#include "common.h" + +namespace StreamCompaction +{ + namespace Radix + { + StreamCompaction::Common::PerformanceTimer& timer(); + + void sort(int n, int* odata, const int* idata); + } +} \ No newline at end of file From 95f7f97c1dc0f3023a47002d2d474f4ee72009e1 Mon Sep 17 00:00:00 2001 From: Mufeng Xu Date: Tue, 17 Sep 2024 13:15:54 -0400 Subject: [PATCH 07/10] Benchmarking GPU algorithms && updata README.md --- .gitignore | 5 +- README.md | 35 ++- ...chmark-compaction-power-of-2(linear-y).png | Bin 0 -> 35536 bytes img/benchmark-compaction-power-of-2.png | Bin 0 -> 50018 bytes img/benchmark-non-power-of-2.png | Bin 0 -> 57264 bytes img/benchmark-power-of-2(linear-y).png | Bin 0 -> 35891 bytes img/benchmark-power-of-2.png | Bin 0 -> 56430 bytes img/benchmark-radix-sort.png | Bin 0 -> 42267 bytes src/main.cpp | 233 +++++++++++++++++- stream_compaction/cpu.cu | 17 +- stream_compaction/cpu.h | 2 + stream_compaction/efficient.cu | 2 +- stream_compaction/naive.cu | 2 +- stream_compaction/radix.cu | 2 +- 14 files changed, 276 insertions(+), 22 deletions(-) create mode 100644 img/benchmark-compaction-power-of-2(linear-y).png create mode 100644 img/benchmark-compaction-power-of-2.png create mode 100644 img/benchmark-non-power-of-2.png create mode 100644 img/benchmark-power-of-2(linear-y).png create mode 100644 img/benchmark-power-of-2.png create mode 100644 img/benchmark-radix-sort.png diff --git a/.gitignore b/.gitignore index a59ec56..b1f7699 100644 --- a/.gitignore +++ b/.gitignore @@ -25,7 +25,8 @@ build .LSOverride # Icon must end with two \r -Icon +Icon + # Thumbnails ._* @@ -560,3 +561,5 @@ xcuserdata *.xccheckout *.moved-aside *.xcuserstate +*.m +*.asv \ No newline at end of file diff --git a/README.md b/README.md index 0e38ddb..4f23d7a 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,35 @@ CUDA Stream Compaction **University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 2** -* (TODO) YOUR NAME HERE - * (TODO) [LinkedIn](), [personal website](), [twitter](), etc. -* Tested on: (TODO) Windows 22, i7-2222 @ 2.22GHz 22GB, GTX 222 222MB (Moore 2222 Lab) +* Mufeng Xu + * [LinkedIn](https://www.linkedin.com/in/mufeng-xu/) +* Tested on: Windows 11, i9-13900H @ 2.6GHz 32GB, RTX 4080 Laptop 12282MB (Personal Computer) -### (TODO: Your README) +> *GPU parallel algorithms have significantly better performance when the array sizes are large!* +> +>![](img/benchmark-power-of-2(linear-y).png) +>![](img/benchmark-compaction-power-of-2(linear-y).png) -Include analysis, etc. (Remember, this is public, so don't put -anything here that you don't want to share with the world.) +In this project, I implemented the following features: +- CPU Scan & Stream Compaction +- Naive GPU Scan Algorithm +- Work-Efficient GPU Scan & Stream Compaction +- Improved the performance of GPU scans with some index calculation tweaks. +- GPU Scan with `Thrust` +- GPU **Radix Sort**, and compared it with `std::stable_sort`. +## Performance Benchmarks + +### Scan Algorithms + +![](img/benchmark-power-of-2.png) + +![](img/benchmark-non-power-of-2.png) + +### Stream Compaction + +![](img/benchmark-compaction-power-of-2.png) + +### Radix Sort + +![](img/benchmark-radix-sort.png) \ No newline at end of file diff --git a/img/benchmark-compaction-power-of-2(linear-y).png b/img/benchmark-compaction-power-of-2(linear-y).png new file mode 100644 index 0000000000000000000000000000000000000000..1ac6335147f3274bc509838cb796b03d657e9e3a GIT binary patch literal 35536 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 Ny0VVaLq)5r{|m81b-(}s literal 0 HcmV?d00001 diff --git a/img/benchmark-compaction-power-of-2.png b/img/benchmark-compaction-power-of-2.png new file mode 100644 index 0000000000000000000000000000000000000000..1360a5fb861a44b5fb411951e7933dd308b5cfc4 GIT binary patch literal 50018 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 z zd-g0a92b%B6dbK1i|qJj9Ut;_aeU87hsth?!SRg{vbeZ7 zDgaGc88X@7PcN)OrSj6!4MnYARD$O;Q^xE^bko84>{~8hIv*&hUZaf8%MQWOi#uS9 z*gH`&(KWrxm)cM>%ELHqZ1^HXIpmJ%pI=yIc-;!g%@bV3>P#G^RI9?IhsJDnTf{go zg$!OpQ)fFvn(>gRArXKpY-V;AY-5?=F0=&;PE&gZ z{ZsYJJu39^jJQwdu>Tc$;H3$xI*pi?+6Lh0=JLl`y*VEtq!Q2md3l@qS zxN0DaL_>w&l!G3G#fIZy3&z@J?VIjmk?X%tSt8Jv2Cc>~+P%xQUBvUYb65A1xl>gP z&ncXq|9Cxm(HM*&uvH5FwYITwIjjOd5Zgy%xE*kWIKzj-zQEX6byrH7D+q&WK+URu zQFB)K^BBi3Qh>yKTaWx(5*4|}x?Dvm$PSHbxwG%FUc`Y{K_V?XQ!c@N{l=F_A*1##rPDCe?o~||#~u|29KSgwUh2YhV4v9Xr0A1k zG1AwMh>RQo14+`#25h@sAIKO2n=BZR*Orz>)8r{hmqrRGp#${b`ZCmZ5Gpmm)N;devlg^&Jzt=$f!jcmkJGg(uDL+T; zyD?G6$6u{gYK6Ahk_&uo!5D>u86QmTNlwjzpE(l;1GR*_~QJ)Km`vL_x{Wm z1&3>p0W!hg0@nGx^(o3kK;gb`-@f(s26h;MpyhaI;I>qB;h#LrE!1r;IK;o{=88OY zgoXmzw~6cSNzkt1SJANmh*zMxi%qM^%jm_6K>Yn) zfa>wb19wsRoRWh>#agn)?d1C_#&3r3c9;^6c5=9c2H(h#>B7DgQ<d@0-icxDA zOh$A5F1l%wJb#QKr*DiS*<2fo``!DEr*6GtuHPc)dB^k7=29`Kw&R*rH$a~UGdtK* zO!6`_O~B*`-TFZJ&_jek-y6p)hlkX3@#X99pjRT68Z0B(3EZzJpPuz`j9MER;f;nG zGq?AFJt5lg$W1Bxr6>|iGAQ$I7H6(H`EB(|hdd4E06)K$&Q9H-G3i(?#V<0$!^1C2 zE$UK(FCgAN`UkN@n>h3i&xCDP{r45U=piwjWV7prwb~29KnJg9DFxZA$&O`rGw9D&Q|zIaGVtalwnH9OW?>U%#?>l|Sg# zsI=H4-)t9-b3(U9FMfD$+4HYjn&+6MV)*E7%yIF(P`-%F(&Ki`Y~pgIHn9w7V=F6p ztmh%GqZp0WpIQNi%PO{yQfK7#)vSp#ztzreY28zXJ?5|wq4vOz4`>Uxop(*DeM&Hl z2(X??S_uAAK96AlJ{_pBzY@jz?J_QR{R+%2y43XPE>n@SagHQRYk}BxU2Gij=0JU~(N%&oB z2SHV5>mrgsK1hZ&HNvq6ZS*Rsdo6h)X0Rw)8HAZF^y+|OP>ISOzJ!1@KQ}iwFV7Hq zv-8V%G=>U!Y;0^W*$r8jK#Hw7*;ND2Ss5#=smjWi)_Rb_pL?i3{0tgA(8B>~rFFOp^YGdr8$4QT1XZFwSbf%!h5(ybQAm=;YOf40Ln~Okf*S`=`0tS(M2Q z{I_yc;mFtK=2K8RP~$tIAD^}E{Z>{MpjluPYypGsj_`X78|ui(XW>g6+FM(-2_2lG zEGDrLh%FHyD5~0-R$pyHO|?fpNFV(T!@>Q68eEWP@6Gum5Dv0cg%_D`Nf~+{j1Y$U*n~!cQK^~?f%trx zI*Ui$RaP}p9x1q%y?rq)lyyD%?yus`K&fX`xqhi&=>`=RoNVAz%PlIRrKJV&nS1IB z0&yea^NwOupb90oeVEexcQI4p(_ACW?5Q<>Ha&+}s%MDvKZvC6+=0p$tMAtN>!X0WM~a(Wa=h6Vcr^MTd1h}rg5;p+8cVxd@`zAu5DmQxamaJCFJuqNw5T&Gjyc;1s5%DNA!WV0a zAvuL`%F@qbY@VWaA16?WGPG3#cDsR9p6$ybsP~ZmZVU&(w}}XT`SB99Tk*vUL+zfA zZAgSc6cDUxQfTI)*KV$`=ve-cRZyOXJiZrHzF2cGJsW2RdHk-3ZDVKmq&9PU#`E^s z{!C{x89-2l#n!UZfe20rk;O)-l3KucI%V8uuTG7e1_R8fX$!}g**nh0pP+?Q3K?=yLawD z(7}d;bjWnX#Kg}#F%Vk!|EYl#{tw7z!j;il4FmRPkYC}StrhE0s#r+kx=B=kVRqC_ z99$K#wi@FcGzb z_b>=Jd2!U{Rj0Kj@H&Fc;o6NGDDtTUwjF?9)DevQO;<4x8-;&q_Pl`0c<4l!piY7C z^b+*AC|ZslZJ{V&`?7-XMhFwPn->4P9F(?M-^{TeRDfUe9lEbrNo#;fWe=1#}8vm2v9Ive;Xj0Ixc)%YH6&Vc`Fil>hYk^L{-BJ?t&t zh41TNa5F=A9D-`G6z_W*RG{8+Dj5*)wl&yyMiKC*niOdNN2GSQe*l9|>0M$qwLAfx zB-@we{dbpL7+3K#VOIv!o&EiNu;3p6byx%2yrJU4UT8(C0RU$^tbV#X;h2INQLI_ZL70B{kB?XWoO3+-}?h+gZ;_=1_SAe;I{|3 z3kY-__TI#CKcS+Up2s8Naj<~x!EgzHiptEV_!N{8wRoKx8E|gs40xdHmETkUGv(6L z(8>j+gS**Y%qfR3BNY@{;)00@jvPRfP)b1BX$#je;obvvCjnl9`fbaPPe2sf?FHXE z;siJBEeMT{B2_qikxD^P>fG;h3oZWS@3N9q6;BKE1ID-b=80#HNG%z2=NmH}9i8u!6hP1F ztX@YXXs8&@{ay;_Z8O=9WMX0O=<7)1fNKnyT@3kZK$`!1T-cEwb=^U)nGT(6xx28~ zBq``~p%sHl`)A|Vv#gz0c^niJP5s?wazIBS?+_3W;Nm{7oJ_7vNDu%IQuKeBPypZj zwWXd#xqAAQ^AXk#E{t~@Ol8NWWUSW}#GhC$s1PpPgsRL(C&x=C$2k%r@Ig(-l%&i- zXa385YGc%row7STqt9F#8!Ddsx=Oic#(5m6bf-#*iDQ_`roee&&4jAwc!E0ZYz))| zNXV((rJr10d#SLJc+_~!v0&YLUfA^}BIdW$R9T-)y?pG)^GVz(LTUc1Bij$qrvgLiMO2H-@eUdSiGuN+2EIqyQP_uz zfxAw(Hq}lNHY+nLks}bUU{!&e_%=1X{(2eY#OGK+*e;Ytw?TxqPsaP`A)WytOWREQ zb6!6u5G2fiKjJ1=`gAT=GHAbf6f6SvH?TN6?=0z->t8@HkeX@09_9$26IBNU*+{1c zb(TX+V>;U-(H;=~`2WfM&2P{efWT7De#r?07Bpsjx|FyGk2K2?eY<>X%EaGp zYC_3$RW4`+e^fa54M;s{vr6fx{f&=6(SxKm!;Q_t0ObJM`B5}BaKpX1e{XKakp&e*NXUCW2*O6MHw6vxBaoYLxIyRbyZ|+&ntf-V zr)t1P7_5I2{3F0@vu^#$GRcZSQJEpQyU^<8nM~inw!2gA&2Z!}C4_2N88=%|r{t{n9rHBNoYu`w2Hasj@8CZb{TZ%P5viiux)c zeplNaz~cWOVecK!_1nIWKZ|4~lt|g5vdPGnGBOHTiKrwinc0z%$|hM^QD%{m5R$S= zvJ!8j5@jS53h_H$b>H9n^SQs@$K%%@z3+!xuh(;2*Lj`iaUREUlAt%>F@qtdNZQbi zMZg$>#QW1sRDk(Ll_Ar_gzJ++8fbM+rZ~%7xPNs0$_e1A4ZstIp=E)Y(18O7N;V5@zk!rN zX4oqmG)V+@b!}Q=%kI|{DY}30sdlOVgMr?zH3r7U6D>kQ+FYVM+RLsytCHoE^ubb# zaNRZj^yyP5R?t!MTkJni>Hzf5dULZXc##zGP|*^Z3}6kXBO5qRrYrm>t;xwGr8QtE zRB`kUL|RjOe>jWAo8qKY)7t74bS57~D?EKW>c}};c>1>aE~FVyH z$((a_cR8KrNwtUB!f3!w4DLmS zu#NjAxg&f5(1rWt>+$jN``SYcs{Xg;9p5i|ii|pDI?c8p*mrQ0e8r7Wq4$lx*yO^| zs+;VTy`uT4YG?1hxt^koHTv|rO~u?wDdiR{k6fc?4yj(d^NZX85?yr2c$&c`-!CR+ z``vEnV$|IWXxsq9wsUkubBts!_=RpW*N@!kJK;yXEy;-26qBa)G1du!ciNU)4xhHZ zqqn5J>E+@BHU*gwolVjvMv7Vrjt820pPzNgHdOF(x)v3DP&0IVTM>i~#8Uv)2Mm))>8Eco93G^Yh!E?EETZSl z_1hmcBV*?z#N0PF>~!tYD~B<1Zb)*J18Z3s=O zON`HldE7z=UO!}g`6AN5#bV}yx05>l_NPf7rWec>cRFM;!_RzV%dItf_I+L^-9;O? z(k3>j&7i&VdCm*$V$cC{P@gyrONxqKgl_IrQpe}>Ha3&v{tT0;)OSx1Rt_J!mL>On zBYIy`pC_A8y=$BkVZmF-vy&;mnXz?JaxKdG<5r?YLM2XrOZu)maS9VBXEjgD>m=zi zJ#kQA38~K9%xg+OW@Zg}T$S7BdpS9_pRSS&h9u5WdkE|Z$4TBYItTS`YXVgA9~sp` z+^;$~?o532s)H|X(|BlC(c@h&SIxQO=jq-%a(*?Su?{~vMy8@wvQ0|o?vv3iBN5rL zTb%PEZm{0t-WFgSd%ib9b7Jd0 z`Q62EA5((<&M22&j%N;vI(O5t)Qvv%-?_;B@CUW{4P(Y4>=^izHD?9iF^|QhfkdF2{AENj*dDHBxPj6(2;6x{-?hm%2Xd8pXKG{`CqH>hrGNrQ zD35h0zq;1(?X@m_m(YbstLrb$EF8-`x6ujv&c?#~xN`pcNx7V60+gkd{IOgBnTl#nZU>$`6@ACuc}@Sy-4!MA>J>#J zvtgf)9fo4e1g-M*&c%;)N((P1H&%b_hb$bnn>UN|Xpj9c9$;;-FRtHPYqsQW>*Qoy z*K+3JcIr(Y1E=gm^}ca-wA)tyh#Wlsa3--ruy~94`s;JaPYxTOJmc_zyMQUyN9e?b z>rsa$UuyEnXS`&%TAg2PdT~g>e|9kDpitakTO4hH1v7v{y_X|%Q_Kyc4`@Mal2PXFB>`^8wtw2*iiVgwmqe?(|Lk@ z@|P>YL!|u{%4}SE=2d;kZ*BD#(lFJG&f>dw)yh2mpm~-0$JTxDu?rgMWse?R^7K^p znA|?WFv5n{3>yV&rVp^qAeqEi(tQe=!K1KYyNwhiA+1n^&(KA&*gDFD@^4N6SVa`jT7WZLDK571#*Y z)T}^m4843ETK!I;;d;kZDy)kbuIng_#~DYOO}@#K*p(Mq`Guys#J*Uuhr1!bRA#KM zu+K341j9O6%)Zh2kLvkJyav|ywyxO@9T_{uG}npyI4!u;bL}t@*xt=xACL18&PnaV zV*B>lwZ`!Q6xu{onLn7fm8ony{m>NhaC7Kr&?AJkFq(Z;RosocY@q@d9MfQ$^Vp$Z0j~~D5?M)bF5lfHS{nBke zd)lh~yAfs9ak=1IELV4`WE+}4@)Vv>?lBd4u(yTH>RdD19^0EYv@crjKe42{G%^+Y zC2>S+8~e+y+xPvimNdIWUiDn907>joY3ZHc7q9LPKg`{wcXilHE9&Bf%W>`DtEYGw z7mDxSWHVEK<anrt2Q zfp-2K7E$+)n9*)lwtK|>&yT$?56m-eyKLFs-tMQAu~@$|LZkhm>lS0nB<|@WR6B^4 zv3a22FiWi`#BASWLVR?>tgCx0S^s!TM2h+5h+O|?nU$&cn@huIJOgg!D)u;UN}k$q zcOxsod7o`T*sC{x4$CXD>9OMRFUe&oq`WGBt|wdl>|owR)={J>x5pnpp_$wNIdRh~ zO7-+qeLSa~PP}t1Zu@UEe%1?C|Jpu_7FWa{RF%LTOO>&%ubzG2Nn~9 z#hw`76$au&g+}kI{EWWi^+URzR^Q!2dZvz0y@jvK@72}1)p_knl0lkr@u}ZPJm0V| zsj_wU-*FwgO?4_kb!Vi@aiy=<7Tav`)mF4gl;dL4qhxA*|<~g(a;uEODmK2)rh2b;DALc83UJ@6hyrL}Uj)jWb zd{O20L)a@WYx&IH{kumW4Mks2c)zBG(p3xHOv#3_h*a+uz@RO3=sWN6z(kw%bQ1-n;YmapJZLH+()v)ZPLiX+}{PaF7#wS zgP3gnq~PI07wDv6zC_c@ZocRndKw|HTKlmay(|XP&(m zJl&p;=>NVXlkzNYJ$JtV%TuqOGd;|Ci?)}iHO?Jt#?>I}5;^t63tbzuY(Uh~hX(=j z>6$le?yypZ;|HR$jI=be3Mnb6-E<@`#JA?tly($5i|*9vwT49D9OrV9MR@L zR@vd?D;@J{kHOByj9zB5n z`y597Gxr=WUO~EsD&pwT0H?+}h~1Du3ovIPHEh2vyMOOqTL=Pi=B3sCLW=wR%p7uA zh}(gRCB;YckOzD+LfJ*A%xNTPz!Hz=9`%P- zGH?T#obNIAXpM1qhBF)E3}e^%Mv5*RUG>PxyDckOBOOD#p4U;ydiUdL!9@h2r|%53 z)6l2zf7CZ~bA&$qmO9^Y8f!vji*D?3rM?(5-fIcdl;SZvwjo=#L7fz8uy;EF&0=P) zXWs@P*KaT9B#(sard#8q>|bmWs&NVa+7uyoQk6P>v%`ZtbKmCBj#6)9<3~G0{^Tn% zu5E-${bgGxyN{wBm-l(67X6zGKm_(Zo)P3X?>R+#S9HU)`H@afm!G@IOf2Ir#u^_B z`7z)kv73^B38ti&*qdEv)S@qjGezZSZyXn(&gh}fB)Za)xH4KMY5%_RD8xTl0CbCIcurukknoT z3;tlEHnuGH-8wR@pZHwtNF^82TI$jBE;6_J%^q*pDzlx~ZkEPq$-tqjm6q3`!SZ7f z@jHi2HngZNM>2uA(EBEBLd8;E+e;&Mz6%m5DJf>waU=T+=FhM)^Ia2|+O*!iUPiYcp*j|;k=DR-OkO4)Z9HhwzX=XZ|*w|92V9xSV9|~zI*qW=C|5D*ct(n z!%q7L(-&f6_2G&6*kx3bS!hz^-u?2hqfvPkPQ_N+d~-kFyFU41$kcdmJL9a$@5O$TGnZ^eMnd!1ZSA#p9>n z{L|A`ftTXAII>egCdb6aM8cb@^})tm_HvGC6w$Lf#$H*H;lp{Fg?k9wvflV8o}G`* z9P`lf>&_P~JpR${*Ee$gbN+{e^h%UB6Cqhn`x=h&W`9g|F$kKi7hss&P@Yb5BDY=s zF@e+KUy14E@mD)xRfdaqUo?gl*&6PoySp3aI9mub+rzeUM8Rp@?+x2o$j~lcHIpisMHY68@I97lyzG;LH>Rf#nmB%(?H9FV)*MPi?r>{nR`s|N(;i`v)ZUHhu6bD4!-@W*O?S!RnJRkbtj>8(#)3J`XlJXm^T zR!z+pFU5&9;obW(^rB_6Anq1WN>s%wLZ)9venLeOj4P^=oE2|t_{Y^~zkSwFUfH@ML zuyF!ZHszSziB7JdlvHm|PfuT;3_5@Al4wXcg3B=@<7?ByO*xPl7L%};L)=aQWY*;# zD|A0h+1O@7FUv&q@ky#4waAEFvBIw2u_N$$WKf^(^3Om9v41Y9aFAxZyVA;`Z=&Hp zte3F7`N{3pNA(->yxcix`;U~=ss%+XI|rVg6Z;=0XeGrIyh`B*x`mQbua2akhgky9 z*Vra$w)#|&A7P|MPjl$3l^(eGw?Z?LvnUx5GR(2-M8UQU`-5638Zq>1fe z9avK#Z5eq+bJjxBtWkqGT=YrF(PGfXXFCa>8Dko~tL@PFxCzVo`B1h@O|G!Z03z z$b=cuajILDm6g%a$IhJLmQ8p$hMQo6jUE`{>KoPV_ntS*IVVeCjR<%a^Yf@9-&V1! zsjV+6|F(L^r@;A!R@K1EE|q=y4g#Y5(Ml<2sfgc?8+VP|R<#k%$W6CdW0zvps6Hio zaz)3@{HUjpCR0Vc)#Jo=jnS}fHabe7Z2{4dzVY_~Xl z>4jv@`o3Z5`~dQM|mGwA=Z> zZo<~q76VGeQ`^U#58S#XS)O5YO+;qVQ8b(NlX&sVsjk+a#+@>;IxKt79F^fQv+86z z8>_YGEV@hQKK6Pk;GA6VyRzB{tun(RW%FC>(*XBd&Vs*TlL_vV6!rDZUWkOP0&tQ_KNW)-F2C zE@P{3Gqc-`TN#3q?^$qGL{6`7w7+ZBbn~50v-p)cG1+vay-WGS?+3mH-#vk*CbCas z_IrTQ=4WSrehXMH)Z2?WA(uhdJSwa`ErBzkk3Hcvi&R9@*G1Gq=Y0F(^mlf>50T8~ zE?hKh%A;+5JXyMUO@E6CB8RPf(%ZBLUm|nMSeT;KgR*u|T?z=;rS5;=X^9sL6Rnkk z{b>%NNIs^!$N$E2;<>A z(Qc<8aCasqC$&-@A-DJO_TE6Gw$o8je|M<3cvzLMZKI8o)iHBS2Q$M8FK|B=HVRncUpZ@R(o56R#RH`7YcfAbTOfNt+{=lwU;CYNM4=Xq z>zLsYe@|C54qPj9-}=5Rm!Zj54nb0iM$EBDP3z~Mm)fPtDT&f>k@QyT=2Nt^SHj5| zR5QPlPeDfm*#bWe1>jXsfzs0ndPYW9lpdJ6^7_#;pxJO@V+enNRtm;I@F(j(DldQa z`t{p}StFzjJyyMUA4;JDBQo^`9$br--aT3nM;m)sL)NIvtHPM$;-SE62-cxpLa!bq z1?CuYL~=xtzIk9sU^7875RHO)Nvr+FpV_Ux*v99-ov^UL9#(Kf&$IFB22#ufKmL*H zm=>G02_fd?)bg#Whd#aI_m!<2!&j73g1aT0dJ_Mk=X`ockUt9@l^$xY!?vDjWYvtywF12{L`mprV zhC6}-cFwV!s(CV`losh3IE~+DYQCi_2cX#&yMmDixKOb1)gGq30v9jKd@5iN8S;1WM*`tEvl8cAs;w{|8_kDA?y(5R2v=;Ikd=`#Ze|Ua< z87i+%aB(g}TAD=Rp;#DLLX`rAzdPQ-RYV`IpMD}~!Y_Ja{q-0#Q+s)H zV|j1|1UdjuPtZ~eZP`;1txv_X)jwRanxeJ`tNscMCia!{H2NL7sp$<~? zfG^SU+}9~mf_wJlIxHol3>9alXYT4N=iQ!mVeA~@E33z!WGu88UKPyyCJr!5Y zvP$km-Flid`(f`{Lxl+Hdz=1^<}Mtafu|7I2E@}3&O~N;dC$nm$iRS{xcI}e%4IAH zew`%JP&F9;45Fvq*~vgOMROFVes!V0!?43*f-%Ek@4F0O5*r9~zJlKQemEtK{@3@a z-R8X4=qEY9@{^jB_YrC@U&?dr1=+kV>IzM1I~^jntTyjHuJ&?w`5tcjdx-+(U3{)trf zh+y~MXt$6tXmi(M;RZ6-1@67VOCj*m`-X zZlhmix=f8K;BjJPv*z(h>XC?e#_1l$uh;vTRP&Di&5BZ!lFaJ{n*zK)kBw~z1OlDw z^cc!jk~2PDvj~iZ4elg6Gn|Rbc|vCGdvKbkfGp>0Q2Q-f3E?kFaWn+#3L=J4(y23l zwP)kbb}sG^AJ(r&8Sn_vYku?mxizwfo)@dDt1vLqvlx<}$yi_ALrg=ojIGXVTybI_9Ufj=zr$@|Yy>u>U(=t5q?euxAs3VHEG>tXfiYT+v)oZAB zw1$wh&%ZurAnhqL6-w4IHZj>uK;i^je|ql}42K}mj@xPwHSMI#LToi|JV0@aFHqzy z1~fR|et@Hz_81jwZmC$z#U}l_JFYkARoSwJ$O{A3*Lo;A4ySepVVuIu`z=t!Lgxu@ z(?{@$<>AR57#MIFZL;Ik3t=HDnR^O)HlCP_7Z50()NI`JLEz-j^Q-ie{>Yv%6Hh(Z z6V}m~U4ZT+T7hJNP+4FCAN-TG&ZjE!)JZclA~P$C6sXXANvrOFD5oC!X?T^s>g!`Ba5^FF+s(pqjcUi_#78F~ zvgsF@vb@CtalHYl`{r2eCY9pCy_r-sn{iDb*g*SqA7u4~Lypoo?u_m1CeXXOS*(+; zklbzqPhczvcR{@nTU92DUsZ>@*tDZH<_pR zsT1zaUBUZ48{tK)JFm{7>66?h<1VQE5u2Ua+@k-M;;1dOF6H z)Zoir54U4?##GkdaXm(%mr0i!>;OD=3yX&!b)nV=|MT!WG z-!22S-*E^MF`B#paP(3<_yt!FFH@{n-Z^qf&BT$HeLy)wK_DEuwQA07# zLj1$|hO-JyXU9g9l33B)kbRMsUhwEtO9Ik8fe*FH+U1M%fM6Oiw6JC)E z$r;+bg>TJIuL{jHNt~o%=KpcV>RDKJk)>wovbSQwxRGI_zy+&;u;978hCHkP)A4%I zDplHH<>t0umQBoxNO+Z!oV-Eh+&MnkFP!;?;Lqq^KRgdCB2@LXz5NaO&zb2#|J8<1 zyMO+4XM#kRK$=#9;n6Iz_Ck8qYx?E#Y6q-aVxXjn+bu6Ei-9UPcf&vV(g!CJ<6hFP z3w(RHkS;)HbLLX0&yEupsQTVXXuJBL8<1p?|K4p&KAYX&p!>q-ZM*+1lX_b+$8uhCsYAWuy6T@b=Bdu*S zad27@;GV{Q?Uhj8ctN1%NhVw&K0CfXsE2-IiLjb_dmlxr&<+PAU5Fsu+d`3$%}fu$ z+>9O*KDKY?jnzb%v550#a$*A5up7v+DO=gHoZ?%x!C(-%X@lbPXVu}j_Edm=+jiT; z_y|q!)A~Vk#JDQXOmEXBBZ8CGBb$dC{1Xx39aWY2X#M~J0<&3MQgZsWKLBwT;JsMB z)zZE;|AH1fnt9?At;0q5#{$}=O3^drS{ZKn#8*1Nh{eH3>rqgaH_&+7()e(Yn1nth z;kTcz;+sTm()SPaEYYkH)D&Xu6@R)-)ia#u!2cg?DJV-xO~pVbkenA0iGXF#fYb{z zH7o7btQkG_QZqEbAH?!4(D$_%wA*p)DJZgZ7Z9z;6ySSzgx*(_&-S)e0No*1A>2kv zde0p<^fWeV8|v<<|O`(L8+_WY7QUi!uG^5aC^pYFTj z^wCp~EsC0XL$8`QC7EI6k4=Izwb;)LdNIIt^1k0gLdeHyUAc1V2VgQ9i1!xeTh;(Z{wmJ z9mi;lQKA|zWwgx^v#sV_A$rAGzsSSOb4iZcJqqWM8A5dd$MVVP_KU+$s&J0S#W4~; zzhp;)t5#7%e~r`mDStE3O_gPEqSEqd7EG;={((!~7#q zdJDil6nfh!$w~7M`}%U_clW&9xAny7GLJ~x;&e9bjEC$oR&X-LspknG3@c^awTd*M z72K2wI_d@K1J-x>Ogp0JCsTb?kk9^|nuXbvq?s`&){rD_;N;^|nV#lWjKsho?X3J zYm_BPL!bjQxjn3?oO-ICL6x#R(F(Mn+IcM*KtoVqf^;jJQY*}dSyS4c>eUTWk0P{B zj(=us-S{0)B>MG{m+9RiPYrDCx zC*M@)GT2Yi&1IF9drW3V>Mf0pDF{4+dmxKNH6CJZmMW!nS7u3km-}i{lVl02F7XWo2k!_7$BVBk-cvLCPYm zp!Q0#T3|Il`%dtu(06alJQ9k3`A%P z{rsMQfdJc;+}vD9J2E=fQIRYCd{5?+t(Kz7WVRtNuzs?BY=l{>tRz1{`Y3x>^JJY}1_X!As z_S=xeHWRe8erO6O`^tk{?Kmx7TZg{1*S@(_sXv^W>|lNUq?7|SDWb*r;F9gzpFYj3 zs!EnK+PfWP#Cu-nP1$9| zTfb8y-(U3V;n0Q%Jymz*Ti(k#Yo*nZ=FildlanY94S^(Nx_ZYmK*?+HcobDcSnC|- z4_`(%<8dMo_cxRar1PJKZlR-Cpu>MUrZTwt!|tcJDji(^zL@{ z3C7cT|NINbr4+ZYyv>cL`G3=9WQPuB9gS(#{@8VEgUb7!;CJ2!Hcw(+dbEw)>NW_+fAei0OJZJQU^Ur@9 z&DhGm^!V(?(bKL9roo|dA%7V&VKXnf+g$}Co3mYLseosQ{wbvok}?5OKCqQgVpU$f zR!`P`MSS!-*Zv&`u3InSr+w3J*q`;x4< zmi5Ps-yJZNLFHR$&S3O5{$SB9+hcOvs+3v76x)Oj?bhkSp0KIF?FGx6%EfuMoE z$6)iB5BaM+Yjiv-^-nuCNBe&H1IDroxoWUI%VSkkHxgCd{IOG=&)4%~Ctr0Ct^{?| zb)D@#5t51@zflt0C(@cVo$6yg;p+6yDa!WxTNSu`6fN}s-&xmzpip<}U15{#31*?b z{d64NWosyU+t5Ln7ZANc3_^HvQM-g zwhlqLRN6VG)K1A2vKP-c@&oJ1rn|!5-L6|-@y?PIM3F%}ZOW=X$Yka(dD%ki2 zJVl?=LA@UD?qw~wWUe$MJr7(zFFALx9ckg%^V2WU4nA@zG$Z=f06kjL_0?;$gV|;h zyILM3sNUcH$~K&Ydb2OZmJH_h|C7`ueFms~~C zl0>~tsK=t`l8pITZGsZ9(8xil;WR~l^RwOB!Fj5JXbn5OV^F=;ialeYQSr$2(IODC z|4H|Bi4-Cm+S+EX{Uz#QqHXbsy?7Wl&&X*!LS60EDjtCjEKt0|P*%<2kjE*#ZlUd5 zA@to=L7{TF?LE|Xhfv{29NZh%dp3(nm2%-gl9h*rr9*dSoEf;l4^4H>D(I~E$$1UN zN|R5$UUi-9(;|y%2oq_HmR^uXufX0KPTq{&&Lm(MzO2VxHv>QvOOEsEwR zjJghtP6(;L$mVA$c+++^#}27Sda7|dg;$#$E*=Rj)Gvs<=x zZE8iQH7K)AVGH# zl@2MOm$Dz>eVV^X;^1^G3UrhM93`YDv!I@2m8E>z{;s0m{-anr4Qsmz`sc%BfdGM| zY1FV~@jl1{^Am0@&>V5{*Ec*-|HV*=-;|Q8M-U6F5C4)6NKenkLugl z5#c=UW{p)g_c9=7A@srsVl_A&teGt~>fDzM6QUp|O1JILcnRslmJFwOi8$@a2L?fD zUJ&E!pupS()qzIH?Y|*Kz%p0WgiBg=6-?Vn;J>$cvHQnXc3k;%lw#Rt{@a8|WcMqXg zO$(wj{&w@GC+EI(hm$mkDt}SR#w-orn(jP>NM56!L5_Tb<}DkL3VUqkH&rzKlOkvB zb2Z!B&Yj;2&B;=K&kfsJd0j{ayfyjqm*1RwyrSu(HG9BpR1Hts*D9zt*dRM}+5IUK5BKv2PMmEg@$UNp2@%8;rWbNoGQ*7zhrgfx{RxgXPf}vqsasTj|vQju$9pCCj>KUkw<2X}2y2xKPAuLdan;ca!V z$v^X&eVoX)jb&^6sBFO6Dk{CKjxT*(U8h^LbSL;b%K z-hbsMcY{Us_@6Qe@!MNCg&M}(zld_%%mgJfy=r+QdH9Kv!O4Uc=^&uF*mkBap#YYW z#Tw2~7t|#D`zQ~~a(<8Xp%;x4k7uuEf`nn^kPZLJVP{+$J=D=VndTU>C(Ps?`3q;ff$GK#_spRFZSd_`sf@ zS`1XrS`Ks3kuGe~MXaGqs$kH5W!l%h`I&jo(*&`eEi&|n@d`$*g6_&2(p-fm;o+uW zjDN=k=jAq%YcrP&76i9EWg^}`MR?C*-?B~Ue&Y^Ww!@3Hzra-||NF@w@X2@nCOjle ztt!E%jm!iL3G7xog5T8a%9t@*7?}yK*@r`?M3UC?$;1H!1Yjx|FaKV1EiJ!kN(g>U zgW^HdPkE~qJ={p`R{Zc_+kHo2bLZw%6RkgK&o}Y7@V_4=s8cfF0kt|x*e8C!TmjA% zniTUh(?ETsl3)Zt41Lh)JKCmBy$pY`^}n~(ceay_I7Bk+m~Gq&y(GF)t*>9#UHZye z^;+tYLOj#auA;w{F9c!#q{tTse3q~=nY_EB#qp6f5r}72MtaJ%yP~WrF2IizqZuK3 zAOg{Z0}kK}fR1?j?<)6|_tAAA{P$%26xv;6hZ-cJbahT^OJ>M1{X6}6e0o2gs}dIa zBgh}|hYS$r7&=gxJFlwvT&naojw~Jana_;ZFZ3tiB8Wh(td@NQ<(Y5DuB={=-b!8e zRzB1Jw=@dH6vjz!c$#{#4ibh91bkZH;<`Lt)&W9DKJyN(G8AU#GcLSm^#|1UJozB? ze>aYZr!u3Ymrq;n{NWiuh%UBGlcDH7Im3LVIy=)6b;g;qXOF?0;QP3)s}GPwIP=w1 zRh>J3er0+2!HF^o0yw}rSk`~!al%4Eu5NB9;mhp0`7z#XQYmLfz zn6xxMl`;COAPnKp*Xe0cUN9!CBSX34^Y;Wx$duRSq64P?sqAQIIQXkt=M?v!l9ww$ zMSbwH`n})jR7?a$#r@GA&1^ny0D9lKb80V79(O!L{g1EaM^^ zbes2M)G=}gX(+b$@bc>Ak|x%KjMHK-u|dSc?HCsC4XCeE@|?BbZgM zU(*qw)ZROq<}>wHIDvc$KssK}`p;(NmI(kK7-zSYK#Q%Qohf@w$?#)e?JZlS2{r*z z+K+=*zm~;z-S6g~Dx4IQo<8xSw~wFan1lvM`ociYsx8OPkCVTt-eMHy2_a)MGgc2U z@9iNg?U?|*7Q>=*<_n-208fuC^j%}@jB)IBRo4{8Y2ItK8spSE6V8%?nOyhEHlZEb z6@4adZe{aoJHj#b(S4Vp=)t?jJ=_O@Xj&WQumio%mRHAbU!(AU*qL|b%0Yng9tC=P zfBdM9vxQG7sblf{dCc*Lrb3{I$f9#AciB?^-0#)wb-smZ;L_T=7v5DE)a`6O%bVyU zF%q%Abe*PJX`7EShtyw!ofx~qJv#cXxVHhm7<>B3H-7l3`@JRRs%?LzIXNxAfr5g| zu&?5d82HPG1t3(XRcE2M>ty|Y=L4K3=?oKB5+#6IvSTFLBv7?1KPA$@__kwkg-w#Qi)*_8*BW%^ zNd|H4vn0L>T4Yg!8X}39#QL_U2QzDqrAQtb+dT2&)UVtZ@9GuXCx0IgxgW`)%uc{F z1@$?Q8vp{pVlCgWZSU4EyTZ<+dpxLVuKj?!2151)v^lxaddtq9n!H>r@}{qE9a}e# zPm7@6xzih?W)hg?4jjO8KE_EOv*)(F=YzVsQ)9B|mtm$F*iu8Z65QO++S|V-P+{bq zp|v&dLU2j{^!xYk;g{lZ;TieDVgEUq_A?JJp>GL^0>=3b4i2LC1ca72scIw~C zORNH+ycN3^y`NMMe1w z@BnfhNXzJt(#%T1i+1SH;*;C~p~Bmj4w{<}VxS*sR-<(*qw6`mWZXxb)?Gw8IyyT3 zS`R|y*s+UPPi@5&FyU}>!_d?uEqNkR8_iAEs^a>!>gC)t1#ee~U=0lpoOyn&rKJT? zx4EflF^#-%VdNhY;dN$6+s(APC#c#QbOHCU**#f$d95`@J)xF@As&6dEbnntomBNz z7;4S~M@ff0{8?x$(nkA^69+kQY$;k!MPcf2-XF%(P;7q~E)D zbyWz<3@Um@>64b00XT<26KGR@fu{)*<;UhCsqL_lsYAzDaJ2KG$(o(`B#oi(@<##H z9uxy0=)SShrXYaNp(zG#&QVW2N-loXniSO>ID^w~dImajzD@g32oG#{3F*Q+d*M)2 zR1~OV9CGe?DT$WV?o`C>w6vPpw}7qiRydofL%HSTl`|d+QJ( z(Xxl}7^!iEsDgpFoW<2R?O^xphoz54!-htNKmyti(o#|$A2w?YyfwK;8SB#)YK++C z9u`dBl@AsHkQvXpieHvwDnQjOyuM0?Md!+jYz_p2fkZE~(l`aetvd`DCJ*f2{~c2_ zF<=<2zb~q^Xx5#=uv;9g78Vxhy!7|W*&cR(1|Bo7? z>EXlA(Nk&hz^REx7ZE`#Dk?hJhMwn;CG6Hbhgyzws zPT(rx!L;lzHm@Q%FO&NBpB`Z-DY}()EAJbE(GbI>0(FNcAr~j-dl)JZF=(rvJUR9C ztFEH580il^0T;eKu6Gg1FoqL;%0#AuI;_ssw*<#pCG`vLawsXGC=6$j3LOk>qb+zd znH}%_>_)Xoy~@iuTc$rK#2=)W`d;X1DbqF&lePs@i+jbz>kXSZ%75v(xQKfU+HAR1 ziave$iQuuRDF-K~;c@L9qNfzVG{Vk8+ISfgtdWRf{ea{GZ`foE6`Mav>ag)BYdavc z!rYlq(Yl9)x|sk!<@nTj_=9_Ud4V=X_B8WgFk<$fM)4q!F-lN|QKRGHi2XVnc145k{A04|%JIPn#>H^ECg zVPpYz*~z5_0U;rGcX!9{d|3FPfiYg^-M=5qcsJ1JajiIHkUeKnByXpFfv%Oj#J0q= zwDu3qXh=Npi*5W6!*P(8aRV_CG4SS%iegrN{scIGXu~m4lB3b5ygGXb2@hH`;OlM< zaDFa{Mh;g_phbyta|%gyT+tT>T;>$i^Z5#U@>~Ztp$HTb6&*o~XkIN;_2KD83No@_ z>_m@QB@%sb7P3MCOF!h~Xd(Lu=Ay8FN^Y&8mU zext1fS3sUEgZOOlG zbma3Aas&6-%^EtvQl_;Wy&-8Ao2Zsb8$z#8a#3K`ycwF?ICT*wVKs`^1hX=d4+KsF z^r2%7(xYY<7ugZHz%K(~{>j^HZ|KjCC6ubqx*V=E)IPl9Q5z zK;M98FQO=#tFK?agmZWYrcQjBnV}bj&^MIT<;eeT$cynWWDp0({$ zhFM0StVJ@L<#*Nynp9s$>jOkuae<^AS9`7OT0skh9hwlvvVQC0 z2qzwE&NQyVyDUr{2($2@wO!XC>4c%_o&Vh@IGQYdf%UA+U_z@k{3KH`brAuk#&27w z>fD!3o@AZz>FJ^;yWIPD`S>u-*Yi@NP1lG6gg)rHIl1-4fMqc~?Fj#av5fMpEG~I@ z=>Iwu-2-e(6U&y3LLz?u(+y<2`WjX0mGD1`C)B{G@b3N*+OW-e(i^?yXpbXE)B-9U zUhWGFEdLWM&YbW{nvG_eOhA^|tFg9-fVFv)q=_wz}BVGBUG$mG-M<+ zh!vR2aUhg`X&MAle{=S0DAzk_wiTt5ghgiTBx1#D$i$*!6MyjvkV$$qr?)lQPY-K;bnbPjaRDJCq-qDeZR&v3Glr`6GsnO$o z0sa8NN4msP(^b1XH!4^^+q1ZKk{|gysnt^Z2bfYsYu*VHwew@7yPB0L*l&7Z;qnuV+`+0Wk zqnMPb&@DKaCqEyAJs})wHEO?MqRNQZ=oZ({NQ~>f=7P+Ni;G8K)zK2mgF6Oc<=fHUy%gVICf6X|ctz@X0hw@34l(9zH%Sj#xqb)jK*`TJsAFe9f444vJb5 zoF9S3E`A#cz~aGn&`*wG#ZwUx7WSXIUkM9Zq@0K1NQNk+e6V#YvAbwEw3jN@{%KS)%{wI7+jPh~ z)+*8AzK>^R`ph5t^dI6E6RmC8R#3xY9INl11?&0Kh+?u12pNygyto0skAi?!jN=wX zO8BXT!4*W)o5{)EU*2$uB&KF$C|f-Z#Llif@o5c{vG5;c6-tnbAPYtUifvQ>`|Cwi zHQ&eEX|`@P*}EMw?ZVj|jD?zqKIN{|XUJ3Idb z)lXhR*BfsDIr;eK&t!p+^}>LPlnXk%6(aQZZU@aCxgNMLpIWiIEMW=V7`9b*_iHet zU^N1_0$uiMuem$L#TPMEDlw6nfHof$ivomCy!Oba8o@~+xjnbvdHDL7k||Qa&g-k$ zS4p~uA2*VmxQ)%PIjTn2B@}Fc}_D?b%vwQtV_pwiz|93K8 z6{{!zGoL%Mai6MB%vYx_YU^iuGJmM-E}EC_=GW>)MnwErSimr|;qh!_m_|x$sHno@ z5Hg{1Fgvede@HGU7|wV2>VibPloH*Qc9dNb2^Q9+#K zr2m1v0nr4>e-7A@VS1)Q*7Yx;^;8zx!ZH1htp`&0j!<2C2JySzR#Hs*uSERAt^Zdd zevAS34XAA&{bJ-;&hXZnBJ)R@fp&vmQ?J?hVB+#&J5=R8W zdT-c&XXSdljIr`El9GDSC|F~+e@9ln@k%BhK^Vv7JoxDr6kyb%|BL1;UxKM_&FF=b zx8An$yxNT}@+o+f%`2Y~$h9Z|KWBd4HQ|&Vw8db{QBY9eQB1w}2QPcW`+qLh8`b^9 zp$RA?{>9b%-oCzNrX-KF7!PkOa@cZ10!`BB8FgJ=S-cRcdT@c6ud>>8jM^g}7Sdp6 z{xeW_W>f+i3`A<+z9;!MJ@H?WCN22CjBU7$8El0MeP>&n0Q_13lHI#!gUS~?z?|>C zQw&1Scbf*^rFje!j=ajQo}=HPr$C^Jx^V+F4J`&gOWNwe-yO*|KD`DuuI$l$4J()^ z9F3QX1p3TFl3C1)GjRK|2J6*aM243)r#&&I$qa>cmYjr_kI&4zhm8#lS5nAHF>-D$ z>y(6j&tBB8h+tr*UuBvh4FMpI96o3`h0!@W|?9L?}6tR8}amWv^s}C^U#1+as%FOJ$ap_xe7+ z@%g>)``7z<&*%B{_!!66cii`NU-xxicbN$R++||`+ zXKa<{nOY`C&K=j1w83xo<^1JGgwhNTzojycZB`SEJG*qMz_eOowxmb$Qj`6m{NlmV zK}XL=32tfqna=&=4-enbmO3uG@Z-bBq*s0pPPu=^U&!rU2={MUX{mf-pBw%)X<>hI zy1J3mvb2kf3+ki3x~YQMO3X4VD)tTx+%KbrU~BGHOa70WFAi)ZU8x5s;Ns#^s@%d7 zBH$Tk?2TBlyVmrT9^8s7q=O6sRuvZICoyy+ez?8+KCEQ8asJV zF#9UUJu`W@uQy(PQ-1GtWL9sjFv&`5*_&0i@=$eS();{upRxlhG@IYqvn}^O-k9p! zu~#YF*vE8RFmJeJKGPxJP9gGSk9%muRUImmSfc0E07;){-f_G2*b=+dbl0Kd#>e!& z&NuUvsSV^Sc`opAd#}M)S&we2Pgfba3ky_X3l|DW<{Xv{0F}e_9R622wOC_i2pT|| zg;TB(YvrBNmT~bxN$6swrV|ZSAYggPBM(Gd>|WD;GwlNs8=fIKE4n}`Hcta2e^Bcb z2#yT~dgunck$<3?l7afwy>j(u-Y?YVNL?%;vgb#hBW!6)#m2=|_~b87(7o96D?iC~ zoR%fs`KcQo$R#Veqx_G2m$!8OfVpefIFktB`zj5O&@y-1F{1|*egJbpkjP#4!GvnjJY>Wu(ld+)ja0Cd~_@L?`5*M7- zFzCp1`I*$lUR(O58b{SdB}_Oy2cY}toVaR6(= z_^GPBu8vPg=mkz8_G6*nlfhYO`3c31P=&m#EYt?!Fw*wdlZD zSy}=CMny+Y`5SJ#i%-ypOtRrYT%vn`SzTNR@bl%5AEQB}z}lYVnG)^Juz^HU`Z#qh zh{}dTVk3KSO>{~!9iWU}4-S5bBp}>9gnkk_B7QJwqm-kN6s8)Pn232ff_#NNYD>$p zsxjCAd0n_b%xmCoHn6eLlLwiA<}jr(f^X3Y15FsQvXrX8uSNGe^Of!!EY-nsJmjwC zG1P=6)9!F6^YZjmaesHk_D?vX@a))u;PP>Ln%Ikzb7XoFdtJI-BY|+K_{zn&BbB3D znzf~4hK-CZAvy(_IXRVp=y*sv+=w?v{|$?7Y;2O7$8PUbloAjKVk-edkB(+=Fau!n zOmC6+vYD^K-`jNeNZ%-#>6B{A%D;G2*llfqak5vcth@<|Mx5}eyi-xzr7S10lg*(Y z>%Yj?>Ce#q1U13!?$^8d(9{pn>I1mB`I0(b@;N)!))|NfCWe0_u+@}ZPDf#x2>VY zX58=o?iqkAY?raB05;Q;!-7*_=?g(hi2!cK_30bov@N&$0doBY6`L5TdqAbhP2Mn+%{-1Jm03oeBQ zzh>YoViPd4Mr6`CcI!JVPwEtpnS-qmP9v#KS z`7s@pnpKVtP!?j9`v6U*UF#5^d?)qL^ak!g>jnM;(=#*u?cwSd&Y#CHfc~F02UR+#rrT%=&AJ(*$9`o zb}F1~d=ecoz>QINbCtR|{3WpN*OZ5QKl+Zh*+#G)l!u4*-rb&-bi4+-AIQjgF8@5Q zu1-qS=VkMQWdb@UZCza%CkYDt;Ta8l#s8=al+nb9D6t&Xsaq`fTJxB7jc*K7KBg+X zKOrF-A+9J6`#mZy)}MYX*Ed{&odEz4Wy?92cr!Knyiev={gLJ{Jk#Zq|GFVp#&$F^ z%=q+k=c=&cPjAD=&N;_(8*3}X7Ckih=2egRye(un5DV>m@Vg9DYv|(#2_H+#%Hkv~ zObiSTy8YE&%?Kt|o%h|`MW8&)o-Z#idqm;9aB^_K%Nj}(^cw@!)yr%iy9csG#l?wK zZUK%%Y4gz3+0jwd^AWMG6UK(%B~Zn6t-s74$VB@v$8VRBmDOpnj)6ftKpoElk`WTRHZ+TkAb{~_y>C}D?%o%K z$0GT$fb)H?J%pbZk@p_EEo_2ko-bJLr-KLOa1zDx?3FbxY#fS zbYJjPPkVwsf50+_!PvK0^!I(H2;m|l{dT^G`^Y>TNM1LSEc3DwJhv_~uAqOb|*x~^IoqnuL z(>i>ntq|=hYs?JcKyo%&fk$2}@G9ZjwF{+PVthQ>k4J}}Pkj6c-%;RG%ugZzOvU8X zKPV|Nq!hLiv1-Af2@4%+K{KP?2Ztkv|EAyG3kz#TU4FQzbA(Oqh5jE?sYcWYL{M1$ zXt8vNQ1!Ptkjdl;2N%+AQ5`x`O2cH}tnsU%IIb^+#b}mAY7%YY@4AX_(L+=!6^G*{ zxe?@r;7+U=U}9p*{;|+C`v9U=?p1CP0&)VA!EG()Mt6^u4&S5twd?wx3Aq5y2u%u9nEqc5=4JIk zEmT%os++7zY@XFFuYUa48PpVrBk(;vZsPP+D6eMbic2T0FqqO=R5Qe*ji+>x37xHijYe^c=m^=^ z*uZn{vjfPFF3Sl@3mU_0^I!u{mdqiAh)^3)c9@GNG?exa=)vI&o+1Yx@$5(CgxcZ_QWZ0E zmF;R`Z!48Q5_PJLhDO#ektR_jGs9t*gs0}tzXwn7Tk->dd%btxXQ(*2rwcY6AFMt=WgF2CsUynQ`sX(h|4> zWNI{U!*ATM72Suw$3x8@O9?wUs(R4*Lx4lk11yWdNk%?$DwKS4Xp+O3J1-~ayq6aM zSZw@=0$%>Hr#Z@ah_RZ`9S!k0;_+4q5zv~6rw zAJJ6%v9YK-Dk-TjFYg>Wkc{oUy~&^su;|h#aO~5kr14o-~0FUMejHR-0??dzi=@y$NOEO_ig6&)&d1cPK~hM8hY5$l_o8RFQ}jOJrj7= z&d$ixR8zXArw80eY#rR3NNo*^FX_+WbWquxj7-eT%)Gpo(Ve`@f}BfI(Qtbr_wv0v z3)jA4p9OoA3She%{)ZBE3JKDqAuzKd;l;g8@+2CEAfsTHC5#RJw}hKHZxtr z)$dYfp+*2lfIh0KtTea~ottEo1j!IY89u(g!XhHF+`*eUIep(fqw5Zdd;_9oIRE!a zY=HmZL!nUo{QSUFOocGXY!jB1y--H|^2ObLfsH&eGJ^SgydbgCAbxHO2M3mxw1Byh znU53dr)4~NfVW34S$5B!$T^ven5X`k^D_OC&D@D~u9am)S94s=6j(nDQsPd1H&Yoj z#1?X(j&FVeCr(70O0>Rtvot@CR2ri%Y6$`qB}aV>C4q$OXUt-|_m{+{;WHATxQJ-9#;};aPgF#sC&31F{ zRQ+!N<({5P_|}=}>D+)^*&JouI+*GQr@l4p1&RhJitJ>V!(VkGK6Q8Bx_T?_$8(B`vI0Vo(ed_ZLEe269UD77J6nJP6A&0E6orv-aOA85E zlD}qU?}qfbnk`Qir=u7S19E#dal#LNt1rJar?g1lqZ8*vxCSmCQwQXsv0~&P5vT!|C=B7P= z{=BCrwoe(;>)3&vWqs1f2yT7Zdv7|cZNVZUsBCNS=lcTeFf>G%1SH;l-QZjyamjeabhzo2}M56u%`JS|~Shrj!?;mvaDt6hm1}o#5qJy%3|NdFC z%9(oL+;fhOz+oN+!MDfvC@83cnL%G}2RAp-*MZezQlBz^mAJ)&}(6 zl5<*hYehzZRdm(&@$lu*-Qwca*t7`B1*|`C9$-p?a}vH|VssRqT0%HOIGs9A(|YDL zmu2BJU~=NbOcnDkru3`qOrxjEEn-!af(A?M*cCjQqkN3|B=a`6o@zoYPJ*-y!a6ux z8R_VVD=R-Kd$fUYr_l#c@~|{wXYTw~gyUGhe*IJ5CGDxxN_QrJ zO$0iSBRE*K$E= z+ebW@;E&Qd!GjDRQKT!4)hJI!ZblW6W{swxjG9_syxMmd;kcs^#a;L zZAK2z{;->2XHL(_(W;s3E#ir5o=u}WI!lv<&I^=@G)e?sHYkRr;g!^#fjc$jg^u8&cbchj*FM7t_6k!_|3D6W!V-{}ZJz zj~Q@mHFasE(UQ?n0O+Q9L|iTwW6i6-9!cQcO#*rrrZFL?@c%|}*Zbl$V)RcnMaRU* zgC2t{3coanAgupMsIvRKtAYRtBG{liVhMe;9nt z$EYaWRKi|~;JeksuWF3p|0Gck>EY6aZNQm398O4i#`5_ZVhz#(8KaGgLLrlh#)wIw@^eiXsmPIUe*GHZ*cGW5FE_W# z&=VM$lho^Yy>WaH_`qdG*1qMP`#w~hczZ;3l;9adF3!$RF0Tgo`TfKhMKuV+L7Bc- zAVBPGBBp52dPJ{LO-&7DJ62HQy}4K%kn*A3ISaqKn3!$;Z4l@~e}fa8BZGD)Y9&m3 zz|%MqvNZJDo8P-L@}Vh=*P;{75@D4>h3_h4z=5uxfxiF*?CpiiCLr;_?*U?ha*%_a z9l;d-1W)h~$;p+5)gB{F>ORL}&2%_T(I${`6U-%~q{bIkU>vu|gc=wwPVm&An1hxX z92^w#u6Cett0v>6Cn;rG3~MM8(XEDIxQ2eJt7t4c?&$!3YwPBQNt_kGTI{?>Kt!O& z;uxV`>^UthFOMBm5EsYiY_SZlYXs5$)vcW(l^{3*nkN=;_w|3XCZ+6nCPXGpigjHV z2kqw6USEHeHUTmC6oea#O8C>z=Z&(^D#La!1GWDB z;3!b4TRR{ij1EUyliHf!qn7oEL83+tg-eZ>fh0M#7`O>u($LyGFb83Zu@K?P7^4j# z4J$A+i;jwdgbOJZfC7B3VDDGhpN>ZBAsIu3hNm0iP8>{jHEiIMHiOFdW!vUhmz9JQQ@1B{l zG4wq#;E$Jjz}QUE=N$)S2`aj$tqnsho5AHQE!A9JRrTZyP0PvIkA#aig6s#k2Qbs~ z{(cKDHFBzqs;V{g;b?!ma={uGBn@-}aJz%py3ICl2?jJ!ZUVW(GuLF^ZyVq9H*b!6 zMe`jBE?r2cQ)dmPM?hHX*&~LXq0q~e_`^8(BzoUXO?a~ZydZ*Y$h|0QvGfj%-*LSZ zPw4q`x*;vVwc7%hPznXGQ&30LJXzIW6}lIQPMT{E*tf8EeCJ{#(y5db%Z3dgjZ=2! zus$d#sBvuPZ;C+!4^4%k@d^4X+^lDcN$M*&yjZAcU0fuMtu~PXXf+ulIZe9bp==;G z;sF)P5;?A=#kXp~3O@@ly$%?m5fVZvW%!jr8zc#8WpGL*TV7v=gp3-2ZCbBg%RqGj ztKp&2iaCp*&9m38yHMo61 zA2?o6L%pMnF)367s8bpFETz2L(~e-_Ns^))Oh0Q!{bq~;Ura0rNsnqlVeXD55U5XV zlLv*HeH3jP>``|?k8AnKNdtpTd>M})Ujz;@bc63$XJ6k6T0CHhF{YBjIqWl$2rZZP ztxozYLx0e~Se3&T2Q>tsJfel`+&mB8DB79m)Zk3G(Z2XZYI*=JKgDu@TZ%(K$}TR+ zvqmTut*u>8pFT)Kt$qb}q%UFC52qr$Q`5Z^XztIthq95XDnMK+$jKq1c!KTD#?~+) zq-gc8aPqM}1^#$4DgZJIo9JOyK{o?EioI;pNpsDfB7^U%o?f0-5j; L-NS|CQ&;~BJe)Wd literal 0 HcmV?d00001 diff --git a/img/benchmark-non-power-of-2.png b/img/benchmark-non-power-of-2.png new file mode 100644 index 0000000000000000000000000000000000000000..97738ea70d8246d135ad7d289a38d13badd687e8 GIT binary patch literal 57264 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%0AFf@!?{Rh(pM43acjn6?C%UQ|f6E-_TnA07 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%0DJN)um4c} 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 G>;D2PPoPEs literal 0 HcmV?d00001 diff --git a/img/benchmark-power-of-2(linear-y).png b/img/benchmark-power-of-2(linear-y).png new file mode 100644 index 0000000000000000000000000000000000000000..6a932b8c370e56011de1fa85818846307f353260 GIT binary patch literal 35891 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 R1t~3|bzEPqMD@(I{{z|aJ-+|| literal 0 HcmV?d00001 diff --git a/img/benchmark-power-of-2.png b/img/benchmark-power-of-2.png new file mode 100644 index 0000000000000000000000000000000000000000..c64da83b72508635b8ccb4eac4c071f163069d33 GIT binary patch literal 56430 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 O7;BGBwiVSB+M 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 MQ#t*ZXzcs{0NnU#UH||9 literal 0 HcmV?d00001 diff --git a/img/benchmark-radix-sort.png b/img/benchmark-radix-sort.png new file mode 100644 index 0000000000000000000000000000000000000000..a377ec78db09e3d8b550e79ce6494470ade356b4 GIT binary patch literal 42267 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%0DY#_tw(;z+Tf_EJ9 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 t0^c!RLsV*l7>Vl6<`WhFKm1^6P3S)I +#include #include #include #include #include +#include #include "testing_helpers.hpp" -#include "stream_compaction/radix.h" -#include "fstream" +#define BENCHMARK 0 +#if BENCHMARK + +void benchmark_powerOfTwo(int repeat) +{ + std::cout << "**********************************\n"; + std::cout << "***** power-of-2 (repeat=" << std::setw(2) << repeat << ") *****\n"; + std::cout << "**********************************\n"; + std::cout << std::setw(2) << " p\t"; + std::cout << std::setw(12) << "CPU\t"; + std::cout << std::setw(12) << "GPU Naive\t"; + std::cout << std::setw(12) << "GPU Work-Eff\t"; + std::cout << std::setw(12) << "GPU Thrust\n"; + // Test on different sizes + for (int p = 8; p < 29; ++p) + { + const int SIZE = 1 << p; + int* a = new int[SIZE]; + int* b = new int[SIZE]; + + float elapsedTimes[4] = {0.f, 0.f, 0.f, 0.f}; + + genArray(SIZE - 1, a, 50); // Leave a 0 at the end to test that edge case + a[SIZE - 1] = 0; + + for (int i = 0; i < repeat; ++i) + { + zeroArray(SIZE, b); + StreamCompaction::CPU::scan(SIZE, b, a); + elapsedTimes[0] += StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(); + + zeroArray(SIZE, b); + StreamCompaction::Naive::scan(SIZE, b, a); + elapsedTimes[1] += StreamCompaction::Naive::timer().getGpuElapsedTimeForPreviousOperation(); + + zeroArray(SIZE, b); + StreamCompaction::Efficient::scan(SIZE, b, a); + elapsedTimes[2] += StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(); + + zeroArray(SIZE, b); + StreamCompaction::Thrust::scan(SIZE, b, a); + elapsedTimes[3] += StreamCompaction::Thrust::timer().getGpuElapsedTimeForPreviousOperation(); + } + + std::cout << std::setw(2) << p << "\t"; + std::cout << std::setw(11) << elapsedTimes[0] / repeat << "\t"; + std::cout << std::setw(11) << elapsedTimes[1] / repeat << "\t"; + std::cout << std::setw(11) << elapsedTimes[2] / repeat << "\t"; + std::cout << std::setw(11) << elapsedTimes[3] / repeat << "\n"; + + delete[] a; + delete[] b; + } +} + +void benchmark_nonPowerOfTwo(int repeat) +{ + std::cout << "**************************\n"; + std::cout << "***** non-power-of-2 *****\n"; + std::cout << "**************************\n"; + std::cout << std::setw(2) << " p\t"; + std::cout << std::setw(12) << "CPU\t"; + std::cout << std::setw(12) << "GPU Naive\t"; + std::cout << std::setw(12) << "GPU Work-Eff\t"; + std::cout << std::setw(12) << "GPU Thrust\n"; + // Test on different sizes + for (int p = 8; p < 29; ++p) + { + const int SIZE = 1 << p; + const int NPOT = SIZE - 3; + int* a = new int[NPOT]; + int* b = new int[NPOT]; + + float elapsedTimes[4] = { 0.f, 0.f, 0.f, 0.f }; + + genArray(NPOT - 1, a, 50); // Leave a 0 at the end to test that edge case + a[NPOT - 1] = 0; + + for (int i = 0; i < repeat; ++i) + { + zeroArray(NPOT, b); + StreamCompaction::CPU::scan(NPOT, b, a); + elapsedTimes[0] += StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(); + + zeroArray(NPOT, b); + StreamCompaction::Naive::scan(NPOT, b, a); + elapsedTimes[1] += StreamCompaction::Naive::timer().getGpuElapsedTimeForPreviousOperation(); + + zeroArray(NPOT, b); + StreamCompaction::Efficient::scan(NPOT, b, a); + elapsedTimes[2] += StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(); + + zeroArray(NPOT, b); + StreamCompaction::Thrust::scan(NPOT, b, a); + elapsedTimes[3] += StreamCompaction::Thrust::timer().getGpuElapsedTimeForPreviousOperation(); + } + + std::cout << std::setw(2) << p << "\t"; + std::cout << std::setw(11) << elapsedTimes[0] / repeat << "\t"; + std::cout << std::setw(11) << elapsedTimes[1] / repeat << "\t"; + std::cout << std::setw(11) << elapsedTimes[2] / repeat << "\t"; + std::cout << std::setw(11) << elapsedTimes[3] / repeat << "\n"; + + delete[] a; + delete[] b; + } +} + +void benchmark_stream_compaction(int repeat) +{ + std::cout << "**********************************\n"; + std::cout << "***** power-of-2 (repeat=" << std::setw(2) << repeat << ") *****\n"; + std::cout << "**********************************\n"; + std::cout << std::setw(2) << " p\t"; + std::cout << std::setw(12) << "CPU Compaction w/o. Scan\t"; + std::cout << std::setw(12) << "CPU Compaction w/. Scan\t"; + std::cout << std::setw(12) << "GPU Compaction with Work-Eff Scan\t"; + // Test on different sizes + for (int p = 8; p < 26; ++p) + { + const int SIZE = 1 << p; + int* a = new int[SIZE]; + int* b = new int[SIZE]; + + float elapsedTimes[3] = { 0.f, 0.f, 0.f}; + + genArray(SIZE - 1, a, 50); // Leave a 0 at the end to test that edge case + a[SIZE - 1] = 0; + + for (int i = 0; i < repeat; ++i) + { + zeroArray(SIZE, b); + StreamCompaction::CPU::compactWithoutScan(SIZE, b, a); + elapsedTimes[0] += StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(); + + zeroArray(SIZE, b); + StreamCompaction::CPU::compactWithScan(SIZE, b, a); + elapsedTimes[1] += StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(); + + zeroArray(SIZE, b); + StreamCompaction::Efficient::compact(SIZE, b, a); + elapsedTimes[2] += StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(); + } + + std::cout << std::setw(2) << p << "\t"; + std::cout << std::setw(11) << elapsedTimes[0] / repeat << "\t"; + std::cout << std::setw(11) << elapsedTimes[1] / repeat << "\t"; + std::cout << std::setw(11) << elapsedTimes[2] / repeat << "\n"; + + delete[] a; + delete[] b; + } +} + +void benchmark_radix_sort(int repeat) +{ + std::cout << "***************************\n"; + std::cout << "******* stable sort *******\n"; + std::cout << "***************************\n"; + std::cout << std::setw(2) << " p\t"; + std::cout << std::setw(16) << "std::stable_sort\t"; + std::cout << std::setw(12) << "Radix::sort\n"; + // Test on different sizes + for (int p = 8; p < 29; ++p) + { + const int SIZE = 1 << p; + int* a = new int[SIZE]; + int* b = new int[SIZE]; + + float elapsedTimes[2] = { 0.f, 0.f }; + + genArray(SIZE - 1, a, 50); // Leave a 0 at the end to test that edge case + a[SIZE - 1] = 0; + + for (int i = 0; i < repeat; ++i) + { + zeroArray(SIZE, b); + StreamCompaction::CPU::sort(SIZE, b, a); + elapsedTimes[0] += StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(); + + zeroArray(SIZE, b); + StreamCompaction::Radix::sort(SIZE, b, a); + elapsedTimes[1] += StreamCompaction::Radix::timer().getGpuElapsedTimeForPreviousOperation(); + } + + std::cout << std::setw(2) << p << "\t"; + std::cout << std::setw(15) << elapsedTimes[0] / repeat << "\t"; + std::cout << std::setw(15) << elapsedTimes[1] / repeat << "\n"; + + delete[] a; + delete[] b; + } +} + +int main(int argc, char * argv[]) +{ + benchmark_powerOfTwo(10); + benchmark_nonPowerOfTwo(10); + benchmark_stream_compaction(10); + benchmark_radix_sort(10); + + return 0; +} +#else const int SIZE = 1 << 24; // feel free to change the size of array const int NPOT = SIZE - 3; // Non-Power-Of-Two int *a = new int[SIZE]; @@ -154,23 +358,31 @@ int main(int argc, char* argv[]) { printf("****** RADIX SORT TESTS *****\n"); printf("*****************************\n"); + zeroArray(SIZE, b); + printDesc("std::stable_sort, power-of-two"); + StreamCompaction::CPU::sort(SIZE, b, a); + printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); + printArray(SIZE, b, true); + zeroArray(SIZE, c); printDesc("radix sort, power-of-two"); StreamCompaction::Radix::sort(SIZE, c, a); printElapsedTime(StreamCompaction::Radix::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - printArray(SIZE, c, true); - std::cout << " The array is"; - std::cout << (std::is_sorted(c, c + SIZE) ? " " : " not "); - std::cout << "sorted.\t(std::is_sorted verified)\n"; + //printArray(SIZE, c, true); + printCmpResult(SIZE, b, c); + + zeroArray(SIZE, b); + printDesc("std::stable_sort, non-power-of-two"); + StreamCompaction::CPU::sort(NPOT, b, a); + printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); + printArray(NPOT, b, true); zeroArray(SIZE, c); printDesc("radix sort, non-power-of-two"); StreamCompaction::Radix::sort(NPOT, c, a); printElapsedTime(StreamCompaction::Radix::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - printArray(NPOT, c, true); - std::cout << " The array is"; - std::cout << (std::is_sorted(c, c + NPOT) ? " " : " not "); - std::cout << "sorted.\t(std::is_sorted verified)\n"; + //printArray(NPOT, c, true); + printCmpResult(SIZE, b, c); #ifdef _WIN32 system("pause"); // stop Win32 console from closing on exit @@ -180,3 +392,4 @@ int main(int argc, char* argv[]) { delete[] b; delete[] c; } +#endif diff --git a/stream_compaction/cpu.cu b/stream_compaction/cpu.cu index 9a69d02..6ffd7aa 100644 --- a/stream_compaction/cpu.cu +++ b/stream_compaction/cpu.cu @@ -55,12 +55,13 @@ namespace StreamCompaction { * @returns the number of elements remaining after compaction. */ int compactWithScan(int n, int *odata, const int *idata) { - timer().startCpuTimer(); // TODO // Temporary arrays int* mask = new int[n]; int* indices = new int[n]; + timer().startCpuTimer(); + for (int i = 0; i < n; ++i) { mask[i] = idata[i] != 0; @@ -82,15 +83,27 @@ namespace StreamCompaction { } } + timer().endCpuTimer(); + // Retrieve the number of elements remaining int elementCount = indices[n - 1] + mask[n - 1]; // Clean up delete[] mask; delete[] indices; - timer().endCpuTimer(); return elementCount; } + + void sort(int n, int *odata, const int *idata) + { + memcpy(odata, idata, n * sizeof(int)); + + timer().startCpuTimer(); + + std::stable_sort(odata, odata + n); + + timer().endCpuTimer(); + } } } diff --git a/stream_compaction/cpu.h b/stream_compaction/cpu.h index 873c047..222b77a 100644 --- a/stream_compaction/cpu.h +++ b/stream_compaction/cpu.h @@ -11,5 +11,7 @@ namespace StreamCompaction { int compactWithoutScan(int n, int *odata, const int *idata); int compactWithScan(int n, int *odata, const int *idata); + + void sort(int n, int* odata, const int* idata); } } diff --git a/stream_compaction/efficient.cu b/stream_compaction/efficient.cu index fa16855..68e7aed 100644 --- a/stream_compaction/efficient.cu +++ b/stream_compaction/efficient.cu @@ -7,7 +7,7 @@ #include #include -constexpr int blockSize = 128; +constexpr int blockSize = 512; // Optimized for SIZE = 1 << 26 namespace StreamCompaction { namespace Efficient { diff --git a/stream_compaction/naive.cu b/stream_compaction/naive.cu index f6c9e03..fe83936 100644 --- a/stream_compaction/naive.cu +++ b/stream_compaction/naive.cu @@ -4,7 +4,7 @@ #include #include -constexpr int blockSize = 128; +constexpr int blockSize = 1024; // Optimized for SIZE = 1 << 26 namespace StreamCompaction { namespace Naive { diff --git a/stream_compaction/radix.cu b/stream_compaction/radix.cu index fe6729d..c669ac3 100644 --- a/stream_compaction/radix.cu +++ b/stream_compaction/radix.cu @@ -9,7 +9,7 @@ #define getBit(num, k) ((num) & (1 << (k))) >> (k) -constexpr int blockSize = 128; +constexpr int blockSize = 256; namespace StreamCompaction { From d8dd063320d7e233d5aabca838a49e2c1f3ab2da Mon Sep 17 00:00:00 2001 From: Mufeng Xu Date: Tue, 17 Sep 2024 22:48:18 -0400 Subject: [PATCH 08/10] Update benchmarks and analysis --- README.md | 136 +++++++++++++++++++++++++++++++++- img/benchmark-radix-sort.png | Bin 42267 -> 57694 bytes img/screenshot-radix-sort.png | Bin 0 -> 69084 bytes src/main.cpp | 107 +++++++++++++++++--------- stream_compaction/radix.cu | 8 +- stream_compaction/radix.h | 1 + stream_compaction/thrust.cu | 22 ++++++ stream_compaction/thrust.h | 1 + 8 files changed, 236 insertions(+), 39 deletions(-) create mode 100644 img/screenshot-radix-sort.png diff --git a/README.md b/README.md index 4f23d7a..58fde35 100644 --- a/README.md +++ b/README.md @@ -16,22 +16,150 @@ In this project, I implemented the following features: - CPU Scan & Stream Compaction - Naive GPU Scan Algorithm - Work-Efficient GPU Scan & Stream Compaction -- Improved the performance of GPU scans with some index calculation tweaks. -- GPU Scan with `Thrust` -- GPU **Radix Sort**, and compared it with `std::stable_sort`. +- GPU Scan and Compaction with `Thrust` +- [Extra Credit +5] Improved the performance of GPU scans with some index calculation tweaks. +- [Extra Credit +10] GPU **Radix Sort**, and compared it with `std::stable_sort`. +- Benchmarking the implementations, repeat tests to get more reliable results. ## Performance Benchmarks +For each implementation, I tested different block sizes for array `SIZE = 1 << 26` and chose optimized one for them. +For naive implementation, the block size is `1024`, and for the work-efficient, it is `512`. + ### Scan Algorithms ![](img/benchmark-power-of-2.png) ![](img/benchmark-non-power-of-2.png) +From the benchmarks we can find that when the array size is larger than $2^{18}$, +GPU algorithms perform better than the CPU implementations. +When the array size is smaller than $2^{17}$, +the GPU algorithms' performance are bottlenecked, +possibly because of memory overhead. +As the array size increases, the benefits of massive parallelization become apparent. +Additionally, the Work-Efficient algorithm is roughly twice as fast as the Naive implementation. +Notably, the Thrust implementation outperforms my implementation by a significant margin. + +I believe this automatically meets the requirement of Part 5 extra credits, +since I'm avoided calling redundant threads, +making the GPU algorithms perform better than the CPU when the array size is large. + ### Stream Compaction ![](img/benchmark-compaction-power-of-2.png) +For smaller array sizes (up to $2^{17}$), the CPU without Scan implementation outperforms the GPU Work-Efficient algorithm due to lower overhead and the inefficiency of GPU parallelization for small datasets. However, as the array size increases beyond $2^{18}$, the GPU Work-Efficient method starts to leverage its parallel processing capabilities, eventually surpassing the CPU w/o. Scan around $2^{20}$. For larger arrays, the GPU algorithm demonstrates significantly better scalability, with a slower growth in elapsed time compared to the CPU, making it the superior choice for handling large datasets. + +I also implemented the stream compaction with `thrust::remove_if`. +But after benchmarking, I found it performs exactly like the CPU algorithms. +And my observation is supported by Nsight Profiling, which warns "No kernels were profiled", +and that means `thrust::remove_if` runs on the CPU. + ### Radix Sort -![](img/benchmark-radix-sort.png) \ No newline at end of file +![](img/benchmark-radix-sort.png) + +For smaller datasets, std::stable_sort provides better performance. +However, as the array size increases, Radix Sort proves to be more efficient, maintaining lower elapsed times and scaling much better with large datasets compared to std::stable_sort, which becomes significantly slower. + +The fewer bits the numbers in the array have, the faster Radix Sort will perform. In this test case, the numbers range from 0 to 50, requiring a minimum of 6 bits. If the maximum number (or its bit approximation) in an array is known, Radix Sort can be optimized proportionally, allowing for more efficient sorting. + +Radix Sort is implemented in `radix.h` and `radix.cu`. The interfaces for calling the Radix sort are +```c++ +void StreamCompaction::Radix::sort(int n, int bits, int* odata, const int* idata); +void StreamCompaction::Radix::sort(int n, int* odata, const int* idata); // bits = 31 +``` + +And it is tested in `main.cpp`, `#define BENCHMARK 1` to run the automatic benchmarks. +Here is the output for Radix Sort Benchmarks: + +![](img/screenshot-radix-sort.png) + + +## Test Program Output + +The console output with array `SIZE = 1 << 24`: + +``` +**************** +** SCAN TESTS ** +**************** + [ 47 34 40 37 0 23 36 44 21 48 49 48 26 ... 20 0 ] +==== cpu scan, power-of-two ==== + elapsed time: 29.0478ms (std::chrono Measured) + [ 0 47 81 121 158 158 181 217 261 282 330 379 427 ... 410811186 410811206 ] +==== cpu scan, non-power-of-two ==== + elapsed time: 28.7367ms (std::chrono Measured) + [ 0 47 81 121 158 158 181 217 261 282 330 379 427 ... 410811143 410811179 ] + passed +==== naive scan, power-of-two ==== + elapsed time: 8.26326ms (CUDA Measured) + passed +==== naive scan, non-power-of-two ==== + elapsed time: 8.32848ms (CUDA Measured) + passed +==== work-efficient scan, power-of-two ==== + elapsed time: 4.50995ms (CUDA Measured) + passed +==== work-efficient scan, non-power-of-two ==== + elapsed time: 3.71853ms (CUDA Measured) + passed +==== thrust scan, power-of-two ==== + elapsed time: 1.42131ms (CUDA Measured) + passed +==== thrust scan, non-power-of-two ==== + elapsed time: 1.31478ms (CUDA Measured) + passed + +***************************** +** STREAM COMPACTION TESTS ** +***************************** + [ 1 0 0 1 0 1 2 2 3 2 1 2 2 ... 0 0 ] +==== cpu compact without scan, power-of-two ==== + elapsed time: 33.4106ms (std::chrono Measured) + [ 1 1 1 2 2 3 2 1 2 2 3 2 3 ... 2 3 ] + passed +==== cpu compact without scan, non-power-of-two ==== + elapsed time: 34.1384ms (std::chrono Measured) + [ 1 1 1 2 2 3 2 1 2 2 3 2 3 ... 2 2 ] + passed +==== cpu compact with scan ==== + elapsed time: 94.494ms (std::chrono Measured) + [ 1 1 1 2 2 3 2 1 2 2 3 2 3 ... 2 3 ] + passed +==== work-efficient compact, power-of-two ==== + elapsed time: 5.81114ms (CUDA Measured) + passed +==== work-efficient compact, non-power-of-two ==== + elapsed time: 5.72454ms (CUDA Measured) + passed +==== thrust::remove_if compact, power-of-two ==== + elapsed time: 35.2823ms (CUDA Measured) + passed +==== thrust::remove_if compact, non-power-of-two ==== + elapsed time: 37.1602ms (CUDA Measured) + passed + +***************************** +****** RADIX SORT TESTS ***** +***************************** + [ 1 32 4 32 15 0 49 17 14 0 1 42 15 ... 16 0 ] +==== std::stable_sort, power-of-two, 6 bits ==== + elapsed time: 502.405ms (std::chrono Measured) + [ 0 0 0 0 0 0 0 0 0 0 0 0 0 ... 49 49 ] +==== radix sort, power-of-two, 6 bits ==== + elapsed time: 34.2919ms (CUDA Measured) + passed +==== std::stable_sort, non-power-of-two, 6 bits ==== + elapsed time: 508.689ms (std::chrono Measured) + [ 0 0 0 0 0 0 0 0 0 0 0 0 0 ... 49 49 ] +==== radix sort, non-power-of-two, 6 bits ==== + elapsed time: 34.576ms (CUDA Measured) + passed +``` + +## Modifications To Project Structures + +- Added `radix.h` and `radix.cu` to `stream_compaction/` +- Added the entries of the above files to `stream_compaction/CMakeLists.txt` \ No newline at end of file diff --git a/img/benchmark-radix-sort.png b/img/benchmark-radix-sort.png index a377ec78db09e3d8b550e79ce6494470ade356b4..bcba5f0cf8c797d44d4df6e8cbd1cb787b4e6ade 100644 GIT binary patch literal 57694 zcmb@uc{r7A`!BvoBGWRINSUcbg$$W8SH{wyGLs<^BJ)s|DG8}eAyFzNC1su>WGt1) zJcP)UdHj7=&;Gvq*?a%K$Fcv|>p0%`@$_V^bzk>&o#$sd?=XE`O@_^!n+XI0!_gyZ zCkTWMJOl!zAq^$|WDDCCVf=&E>B!kD1Oj6v`F|95MHsi^4>!3U)luIxOv^&K^HB5V zmEHIw0atZHSA)yeuI}b87YI7aC$*JT_VS#xy}+Ym?rMAHvWxwdy*x)9Eyd&wJGbHQ z^O66)s>=m)SG&uOJSXigT_7Bg7B#rwBr3jNT#`pz{E)={LkDH{RqgmqAn*{5swtoJ zxIdQUZgf&}eqDI1LX47=O+WnzP3n_S63^DX3jq%w(ok1vu)VU_aBx9YnMaD{?lv|p zeb(n@Y|6YmYF;fwHRWrDQG57^##ZcaSJ&c%=e<)d?WL>OGqn0qOqZaBcP#{pZIX%MDz6|Na=TlluSir{MNhN3!0LVlkI4sFS-Q%~ z=o;Vgo8c{lg#`Y_vJlb|ESpLIXzH2SQjh!j(PsbCi-oYU(c8(Df$*vpE|0?q&TOg(^=>~u=MQNv)R#B|K;EB6uus}w;xSb@YcA+6(1ABpSV#d z=B%M%-qqjjxW4&2dk%A+&N5nDnzbhpBQ(-J+1|T%Z{lfM=9!near=1{6q4!&`ABiv z)*c=USb{DC_fGB@UwdwX7q=lF)e=EMB4?x}gSG1M8Hl9KyA`Pjso%aBy;tcNL%4)XYdraLQvMEp2IO>2k?paNXb@5fN^A4}DWp|B0^RprD}m`1p5@oh~jezaIPc z`iqO-tQDIo`Mu%r#0JK#&6~6nBuBo#vK&Z==GVm5;UkTA7791VRrlxS=I-9Lt9itA z2^U6-t#Sd3lCqLfq_=OS z_T1f*dg1)}?UB_n8lD-Ci7H%-AypQ%hA}>=lKfO|{ZoBN+|)>gqwd z8BNIw%WXL}19bNG_QuA>ckkT!^5x6PQ>Wa=J8FBKsBWgnUePchzy5rP*iMsrWvH>Y zFO->|latdaQ8k3I_v2H8j2nq=JSCSdcNVBSUYQyG6c-nlmnUC-}cwr}5lCd=q(M$6YPUu-4Yu`c^eijI_A9BNE5JYita;@<5m?bLI4%a$#i z5mGq5uV0J1Xl)JO!o?-;I;@XBK6vn;prD|zaK?=ro1-llxn%ZxOqw}-EHA&d!t3{^ zK{_EJ;n1N&3=9mW{;LPS&5dNFtj)CO{k_tW;o%;--(zFXGBazf1tW>kk<$D2>7}de zRW&fUf^A+&Y=3t-1?##-b@%RFd{F7?-1)8Hf}bn;s=~3rwB~qoHRjqw+bW;pU#m7b zIyx?xeNI1$Iu#ZcHu~)at7jO2p4#$vd+vf=%gD@Kkuz`Kydm0bT&sO z`H_=k(`4`aHU}xk4}&fl+VOl2$Bd0vQFbUJJDZ#JAH=7o@}_>Qs@mASz;5cp+w3sj zkxzNh+S;1*MOQPlrn=5-|AJ3RY%F`$(IZEC{w&H}9V=7U(yIIU)7l~BNxJ?nE8(wI zRq6vayepNGl9C0o+p^D@+e&h(gleQ=A33zWzJPbsy0^Esv2m-kF3J1&nKSG}%L^C2 zc6EtOwxO7ekB?JER7D)^E7#D_=;O50xFfTibn81lpx4cxm6er(;d9*W$(6!GIAY{- z<4x=eNKH*$F5PRGT~=Rzb3wyHN1O^UtnCqW`FjSDq=9wo~-t4xd1tPk*$K16b_*X=8fN@UK8 z3l9De#wvU}Cgy!b1rDmyV3M4>lSH4~4&H&m!Ce3KwM#$VUa+=iDLpzjH+TH_@x{f( zB*hca+c-JV1y~|z_g$^KCwjT7Xt$_nRpcF&RD8j0?|2I|Xi!fN#MgIp81+?eE9Cc4 zT<<9l%=_@|o0PQlJZ?;))TN4p?QuTL5 zM@MT5{XtzP4LMKtC|_%0T#t$N(>~^uEpT&}^PJp{SC!HMFJAoaua4xP|Ik(J9X4LW zcsk>8rGh_)1|`9)tenz|skSSiq{Pp~Mf_7-gY^(@FjntiW#pl?&b~j33#~yasV7gL zW@!j*+fB>3HKl2Nb-sHeReh4&nS??az?I2294fZJAC**0uiS4gEDpr@*=Fda+_Ddy zaJ8|qabcGk;68f4@b=H>U%!4OA9CCL&f)Uq>KxZJjR-!m>I2I(sc7&0oPF+&wYLS; zB=q$3u5CJ^&4LQd+;BfB>CAIO=iZ8qMglwK+StsMgoLPDiHuvPt{9#?NwR0#vL#+y zC`&*{mPYtx3p3yN)bvq5!hv^^J_}CMk%G)Rk6ym?$8XEOIAvgPs>?ZZLh+0)X};yjq=-0u`Isl>6nI-P2h)^sS# z+kFk8f+Z9+{Z8fAH&Sw@9}pa0tdn9P1T+n)M#(jA+O}<*p`jtxYAZW?e*#L#^3u}n zANo(f(6S1B`SuOF`=GG!5N^W8jT;B3_im+|_|AF2q7uC%)Js@c*nH^dHcicHokXdi zkdXeqZ1eYM1;P;?O5|7R^XJcJW@b?RtS(&W^_{M*t=+`PMMFa~JUm<`b{$(gDQSmu z??d%)AfL9bE?ufRR-$fjeUv*h>Z!cX!hR{Kw~rrNqt5Q#YX9eF1Il9gA#AqL0Sz^Q zvvzh*1Ijrhtclf?^~76I{Z2B2gM&1@=m`o63J*DMwK4~PCk7DtiWqtqw)Ck=ii=ll zVinTnc^G!;)Tvs|C^ml5;fj6*=RPW4ZB5OPCudHac%7ZSOH3^5*|T$R9k4;ZJUQNy zp=bKW_EY-Nn98%PKYi(`T>@5s_#y+dgmmwR3R^^?63e-`xe0D>{r1govWMchz{^S9 zWchfNRHyt7RPbZ|_QvWJp)5x;`0p)HZ#(3=%aiMnoSbRl)fZZiYa%u#`|CweJ>aG! zgP-p|eyp$jX`)G$uxad3@+9{qTne8BJMT%rYKJ!QzRUKTg8+&RPMuPhpYzDPxE)8~ambXJp8H9`Gm`6;n`9h>D8-cz3xvp0hDUiJM3)Gu!WE3Dhv1 zyLt2GW5=bICu|@1@ z&lR|i0Q^=R^uvP19k7hkew>=xi?s~%a&wzS6|&q!=WoF3Nb%~6dce9#hW;+f(yK|1 z?XlNtV}$zy@7>#4bYLg@rAwE>xaO$_nmcuQE9q9mX=OG~BdY;w!$TSw!|XB8Nz6%>j; zemq7Zdgc>Nk7(EL+Oy}j@9AqMRF7{tz0!K$_J;v6!ZnVpCB_^ESg?B9t4Zo|o{asyM(@#7Fx*DJxaXoaa?8(!oyc1pQ z@AL)Ba6!%qyZ9bl9Q=3}Xs54zI|oNEcb!dBvT?E3U7s7@8>IlxNKv?dC20i(185piDbmdd2_I(-jGiRJ6<6}Bc)6+@Z?TONt zu{l+~MDA2b(9QVK)>fP`mSC06!TT8qekx+SbRTzTbtHFx2azWA?c2BM>10Iu$D=54 z6VuPZ!B>XQ$)z`^qU*LySBn|X^bE_NQ!ie;SP-SDycJPdskSw2s3|2zw5L20e4%V- zV439k?$21MWYNHKo~^2$@;le;GqfHH)C@n3Cd{a!n=EZRl(cipmY_&(MIW@>8%O+u zV(;APNr}*m+)2AhZ?9j+* zg?#?}87peH5`6#u{Rn}3`%HDmZn(R+oY2>A25XSI#HsQmJA1P1+6Ee4#*qI0{v5M% z$}3m?fUKpqh}96K^IS(hd(V%5ZEd~WU9vh+y6$-S@)>>oDA6+)W20P1uA5B;>1k-n z=u~-mc^87>Kz0)k+TRNasa~2Lef2}<(Fy0DbYH5@P`aXJlR^c%u@^z7>pp&zmzU3u zk-Xd`Z?{)XLxYU4u>haaG)dcNdrisAjn~06fmv&eVP$FbB}l{89Xk{}r>!hRBOk~G zmTuCdY@Qe%-R1p&o0pgA8;;`SZqA6gnGplASS9}0)tzKzM-n675?2~5mmsVYIEuCNPS(0Z~SvU(e6ep#cJy6 zy`0p6%Jp}museBKR6{$8c01fyI4(T5fyG(t%FlXUF#)5^MXLG&Ysx|CnAs1 z7SaeZZHOl08f~E#9Oxd6&^$?(gkW8rqaJJGH>n7K!uta^)@+{gFy5tE&ekC2M8_sTroHrU0OYt`^{YtYG(IQ>e8IlcGvW z)<7vExnw_&v}^;UNH}O8YH@~Dqs3MdAFZmYdinB%()vow_avK(7ZVZ_(L}l zYQ9{$x|NMBJu9oxI!8oANvT3TAikAM37dHQEVVx^jR{5btu zGAHd}|9)1*l1k7Ji<=HLoJ@@?KLluZwAZ9WK zvK&5i&><+jlMX#XSLl5oB5w43H;O$fDjH~vkj^h_ABB+jwRLs&moLA2{rcCM$q^3n zp(~|RSFZw!a+SDY`m>yeac3lsWSPaQn%$!58LwWwg4nQ>F~9a9-D*hRt3rr9nIrB>G0XO&!{`RD@%Xo*Z1=BUqoYYivU0ue;pBK!{mAl^35{j8*4DnaW zLOz!GE?*A}44ap*fZF3S_;Jf_)?UgoZ_2+?V9$o&DvQqiD?4Xrf(OSq)6}S7SHj8;$?^nkmb5YasJmma+HjuT#!dV#<$B z0G=!@Pn6nRxKL|NK_JLd-J_u(5F2vsTXE2&F0~7+3Ibq3#-K?(VEKV45(dp?$BrFR zQc|kH^vX2Y=LfdYi-=^Vs)qcP(ptZNN7;J%;zcJ~4n!j`MXQ=9&p$tR?^>DPR|cSX zMTQHzX?WOnXXMcEaHtM*eZs-;S}Uw*zlE-@uDbfh$m;DfPCbwjH*(VLzwq(Ssm#;8 z{Z--YOgrV{YOQdnpcwIx)Q(joFsm?eD{3D*#wl(^lMm1z`r@d+oS2vx`YHn*T_VKW z89iw3`Hx>_G!qC>23z+U1{@i6yd6t}ihmFXa@svSF>!lh!_Pm9V6il*tirm`ucZ=S zJb4mI#PO?OXXKQm;XQfoTtZUP3uw?rYgO!~U%r0rmAZKGB2DUrx_i9_Ak&n^F|jnA z9UV2|_;2Ci;p!JZXpsioiobt1Bt-$h#nuh}S?m+&)x4Ja$(B;x;hEOE_k%8Wk_lkT zeij6R4^=?mMnZsX_UNDKK`o;@V`h+`>3FRyEO1!vqEG;2lbUbskb?|^#!ggeY-|J> z2T`atslrMv`uJH}3td(G?jUvb_SLcP&O?nmn3$MIMCN-Wh1<|ues>lBsH@Y;bFV1> z*x0B+17-M5Y^=1jw6~|{CtJyicvga(;m403aaDK$GSj4jcjHioG!1D*-MN3?!O`&+ zae8u62IcGU@#)+?N1OIHb~LFZ5>=Zbr2PQ~r)&a&sO;@6rxL1?N<7HI^&BnN^4$pF z!iR(CIBGNy`&{ykgkqjzbt6|-R){M2pu9Zqc}G%IY3VvP9Z?0c?t+U{qE4zlQH7p5 zaQ&s`YyWjW=ZmzPL<9vlE^FI=d!COTG}`)7up_O8$6fwirFD*=R)t<*+$zhik4|zP zeWH8z9J_9YLdL^Wvx7ijF7lpd<*0#5*sJAt4U!2c+nbnFoy3A$q_=U56a$ths5$ny^i3kw(-9UYxbeVqB_ z%iPddckD1ec{2Uw%gdK8MfmbqTK0>ce;Xy57#~kN^LaO3?=E-Wx^+uePtSjD?5vkp zL13WjrAwmBmST+PDmbkmwd5l6;6Yhc)gyzWx1)QnPQJ!XM`=CF{u(4}7H0 zW?quSUUWK#PY=~IPrpdO?MI;mEp~HtEf6St@W2d}3;6sHkPwIv8Y;62^h2vxhM$d0 zOid$&<8h7zwOE{5scwjOFb0;FtzI4RqaZ|?E?o_Rww7O2Q9(&QmN&v>>W=_o{q{eq ztBX^tsHjN8yE&+Dd|c6e+-PMM+(FeaQT)Q@EbIcYlqTW!o=_LXl*@ot#MjUOyk>?W zX%JOFh$}Okns1W`PJGlNN=n>`oo_FlKY5aEuB*PjUd=?1IFR-H`Az;uL>2$F#SE*X z9`@jzE z%uKDhEF5C=d1mtNA9xrXO#KP&)-5hKMVrR^WXa3mvz(!iB19dHGiPG6B~SsMJ=+s~ zhL$S-FH#!ZZSWYJ#dXhaS=o4vH1m|(wN{(i3cciHHv271_MY&;jr7^(Q!(_XO2?6c z(43O*zg_}k>-B{?F!X(^r@nsu3SKS~_Jkfx?c~Xm+qQ47n>?W;jv51D9I8p@8-8V$ zkoTS-&k)v~CGV0CJS9%W`>Lu7)wgzZ`>*>-e?=n_4hR&yXON-0I@@Zx;L%y&=25{- zSlR+>0!7$wb;)hMlkG5Nx6hvjl3c`cx07-_2vAf#vw}u#tZyfGK8eOW*``Kp{enBj6RMB&TJFzD8HvR<4P|6x{Ah3QOF)6eaZk3L zTwm*6r=y|axq-Hi7oQH?KKG|4YkIYT)NQ)|cmGG5Az(Cp;8Uq}HkC=u4Pu{5{=hL* zqUp>_yz^Vg--RH4n0E8#U-k^e4dLwjAj0>LjD!)rmS*hWM#aRiD&9> zx)EH<1DAS(55rM}B^IZcYJS-7nlG`;Tz zHvhPJ;|4mGf!?ej6Q{tu;CS1|z+iO79dcJ4)>amaC+odW2RiuTf@)Lt-Q!K+^je9Z zPoQpF)2R&%{`KqPiuxzIrXrhzGYj*cFYSnHK4}jhg1$~p2z{H3ZfP~J^(A41`dymjQtQQU+;9Cdht_PEEC6rYlnAQ1^m~)DEmpyP_7=(*}wssL(2389%gn=QVWUHVkRQpkT+6TSs zQJenf`v(lDQrixnnQ74;uXvN2`)S0rcb8A4uj_xZ0M10&ZfVDkBhPL4NzhNde#g}f za&Fr;<5&7XdBFL?1;HQ{3Wn(i6uf{48JU@MoQF3!8yOe`vhO;qYHEi~L(N#GLUT7Z zHZ5|8Q?^xQWo3F(wdREjkFH&#u#MWp;KH{-vgR&*GmjGIfEu-JSu~hvnhXm6Hkq?#-WH$qr%EQWy^Q`N-o}mb+kE&+js&g_j zHD$tQFXok$?3A2&5j;8Rv{D$hw23$%#=k01Qw*;rJ-xD`!lI|_T5*e|vhp>2ap3#O zr$t5b02sJ~UB^F%9FAJ9=EW*SQp-kDaPH@>p0La)qrX@5r}nMfL}55k5K7?c6AV%xyE%ZE!2Gt;6IGqH8ucH;?ZcIa}arO1_p-FezEVRXeSvmaWcJ$roUQ!jYb+ z_1O1)LPYV~GI=)@fQ`A_xK=RzQ6%z}!QHhtRbmgHAWA`A3?9)Qv)bL%fg^UKrAD5E z2UKdr9`3pnIQXXNYoX<2dEln?#U}q@*F$%YtxnhNBjbS4z`#HN7!LYifD7#2EDk8o zcaJ3g1rwV94ieXIIaUWb$_i;YxNKEOgJ_nbO<)UJX=3tll`g3!jx zmlN>Xhg}OYGwm;3dQl@+;4#$)ne@rYU-)w=hwsp+zBFiFBi;xN-GA`lqZ3a-P3&8< zE;%>|=;jv`e5kILlaYa=z_4A4rkkC7ImEI|7c0%_OqUwbz}qRCy8Xl&8 zG~(xSS5GcyaopFa`04iFFva)p-;GNBl8!xEgUAE~2OX4C?&|ZjG)rix;LS(?z*553 zd}UcZH_@$RT^|QK^~L#jw;8~Lx=Q^^U%b%C+m%H}0ow*Tov?ram!glMp56qC6Y6a; z3<^lcKtHeAKvDpdK2%ojkB3?0-rm-Ra7%!0M$BC@Z3KD&Zjgfn3T>&h)c@+$xfK63 zsG0)fvX%n!HxMQvkw^>6%X&$Na#K^wyStS{MSr8GRaBsf-3SlQee>q@i*sc4!E46$ z+VZcn&w5YEcFNrgY0V*59{tVf8YUmIA6)fL^k78oO>Ep-Gmij4} z55P)PlW24O_Vw%WU2Jf69tw^h5)dE}A7^IPS?7dN58zU)cFH%UC`}ya<$gw8;!{Il zm`=O4kDGj|mrEnLsj}5}W%T4_zG1jW!&`LvdlHZP`Sa(YuY)e(Gzkd_O?wmpszmIN zJN@7+Hf(HNl7tQ8@&4iA?>WZ1cI^VBa_B1J;Qi9v92FNAx??Y6i0Yeo5Q77z7eI+D zEcmj6$$T3{$?oDsp*5|uXXD}HAI=dQsc&rj>5>lusiuYKfph-{X1WIp=k{z7^2Ol_ zXr$PrrF%gCj8I>ell*D-=buJq5FOdRJrP2DL%f70Krw7^QPJx=w+EIVrio@Rg3Rar zmX4&4y_b}fgisS~uX}sXoffeqGm&ts}AcuCqi zI<*l1*}(3aY+>r!=fD8wfb+ zM-SmK4i};^eVon|KgHdTpFeL8yVBg;8QAG)jL_4}Okp9R+e7t46_^Xc?67pH#MeLD zN|N*~EFKmY7tc%!jNZqhsXTf1?8g26H&371H9t@mcO_SunJYkKUA^4NUB3Kh&z@yu zWCXrDxyKFNH$yimLC)RL+4DY2J=-e{0viNv@63Hg} zn3h&pKa5idn%Z&uuXU7t_zq=d6=FvcwJ?h_-FR{fv#Zv9;Yb z$Vy%f0;N;-(nf3vd1Ja+^VD0VYbz&DADGJxMuXN@5kwO}Netto=DmUe~O+$ZHS66qhTU@x{Ha~96 z83DPJ6oE)bUVc9FD^p0|pfw9@ufn66hH}~*xVgE3r#rMwO;f&a+w~_6={tby^7&h2 zDkUIw&ca-6qN3@AR*HH?nOMa*Ka=?3z!lq`x)A#2farJK)$>$EV`nu&pYTAr9{c@! zaPq=Eq^@vn-@bjTDC{NkUV#&Pw`S($eTR%4taGKWfak}=@bIp^dnFGZtjZ+u!E&UH z(0Jcuz$L$P0&NMu^KFggFK8YflbkS~XalIMAuNyRA7 zN%+=%Y}b85^%zdMh-yLyV@v`!vB z;5yu_9=0#?H5F`C zOH2Oz50I14bCs1fgbV+TGiXw;U#E0)bDK`Q{V4s#3sHpm%FUiUdD7FWRQFi(*tzrP zVcY!v_3K7BC?4EQsOBt7qPusaWj}$Wkw<-d!nmRhT?QgK?LBhMVq%Lczr6#27FO06 zARMFTSy@6|M_Uc{W!Q@}_?y8g1HhGUpM28?G@^!3%Kf5!{vwX=R?jV-d&^(ZSI^GQ zKA@0{iX0ssRaWi3NW;WbU7GkLrMY$D*P{MNk~_2FdFd=gpSm2k{zIJ43hX|1b{Zc) zejrBe*s&WaDcmZyNF|DIgZ6(oot=4UaSs?}z@N2A(>35@pq0F(oB2G4s)*T$pLs=5W6de$b?; z`tae{{!Fsc-^)9`cd?dcmsL(1N`SMoGi7X9Ax&YV{J&dUN>MoR9?f9vF9ka4c2Ta^ zPUj8kdtbsiwf%+8P!eCuqP)2K2M*m1PKmnku${W?{{M+`^h0RH2$}`*K8+uV96>j4H|~Cc?`UgPVFiW zA6I|+@&y+tzmtjm?B3Id50?$4`0GA8fjps*b{v#Z4N0_to&O7Tyo!1UGl*FQcN_na zY*u8U2pAT5Okt~$3Qz0n+d4QvDjN8>x;$@M;2PE(_`hRALB3kN3%cA6E-v6m{2uIw zf5FvYCwHjHHI0oXMIHxKLXSPd=IW!B@B2{OYfDevj}8gvSx;O0&d&obGF+yn-4q+B z5e+?arnSBOT(2w@q#vJ>^77$Bapyj@ht^1&p@qTv);W3!Q!v+e<%eCC{N{W(yS6*g`3u>?vPa@ezv^ z>7d@nxwO0t|4LI`9o5cns*2q(5?~D5Zegmw_4!#=4i0=3rAzIotGU3x2??C$27s!k z5qNtt;F6Dh1H^X5z<`dPUf>rTLs+)eLw`(5{UXv0`H-YT>ncUAKwJAJ-VV}wAPq~(X3 zs3WAHps=xd*i&hmk#p12(|`WRA-s(^+=rVS{2dN3HbK9z*@42|xF-te>R*pUQ9{7}*@qBz8L35oCvi1 zy6aY~060N0$$}Aa|}B=i=(hHe?2z z3hv?9cwZJ`3luqWvNXd6a0_{deIg=twYBJw5wI)5!~aZ9mWkYKYilzSYwhezvb}uq z;vppMkheDiUJ)$H)U9o5a(8xSe)8t+TWj%nPz)3g=wn|&Q0xG%+H^HFHz5FVx=rn(KAt`z#{)NX6^{OoR&w?8Z?d z=kN;(4)F~NsXTf6_FH4)t@pj4mc{w`i@3J7TzhuKpw>Eka!rKbccm*owQ+jmS5(E?ODHYr>}QW3zqX+r-!veS+9`X0OC*0H1 zVf4qFxbY!d;shIsa*h|2{@EvI0y?XQJBq{|R9qV`X(6neLmn-r|HM*)>{{rvUkv+*r>Khuu zPCi742AeQ;pQ%tI>WsuT`f0W#8I7CU4x~^eZxIm{6-@L(2_w<6rn7zf{P}t;#Owd@ z#o5(G6>vO=Dyq^q7~Os;Dl03ann8a@==(4YDjXjPUkk~b$m&9D9!Tvfq3?UawLQGN zV6Jx+xP@2u12BZu83WWK|Dp&}5-0;!%6NCFlDN3IqN2%z`0LjzKz&eoOID`qAYu#Q zR}ih-v}xb@xAj&5RtkC7{|x3hCgpfTY>!AE>lr6 z7%XbmTd?|(RB~@}ZDjP)P3}F#F}1~;nByN`YZ~f*a@E`0+h}HfK4T^P?%l6QEI|=R zr$}kC$!S9c_Bf!Wqw_n~)KB^0XGyA!8+l0>t_TxzxO52;0YaC89o`NO&-3$T4{+il zq%XCTBwiqx_LH2+*dmF{G${W=&3*g!z0U3Hvp|_4H3QKFEg#d<(5$^AT9ka|Ln{I8}WF!tH=-9c-Lc-!k~!X98TsU zV=F5wklVHFbUJopGzGIHE(|fXMOTJy9U0Q2UIWB=_N>wLqT1pdfvc?z>m7q7`MY z-%)_!e3MJ|_I<4+AfH@l&9uzvuY|_GK*5I{rlZTMm(hZO0H>NW^9RJmvC^Y&IL?}@ zsgY7rQu4NM0z8P@zfD{3{Q8B!piTc%TT@^E=0jE1S}@l0?s^F1#)oBz@0WGidG3KZ zV0z|QOn9n$p4aR%FwdH@mnMF7tJUuRr9Z}f=cngfI`&@p$GFey-;FlQE^QmumRnyN zt1)M(ar0vgYo+Adq%sVK6DB5INz{i^^o@;uF~P!NqO+>_9RmuuH)xE9i|Ye3Ucdfa zR`y`i9k&gh&19hztc}cfQeVgCPJc|B$ymp14|PjZequSqQy+ohk&)Uk_aI_>u6=B_ zJK)dctLe6q4*b30pF!AZ-~98ZKlaaLi292D@}>BP@eqp3{}{8jNEtHPK0Cbr!E!eD z;XDn%Es7H%pbMeVPP6^SMpOJ7tpCx5ht2mSo-OTQU7kL$);m(X`>`J3AD$GDEU;^F z5!Wk{cs5CT)#I9=3i&+B*N71S z)T+^JVPgZTt;-gM5bz)3gdw4$M%P=CALi!H&i(#@Gd}PUHvtv-<9)}I)5TgciFfWG zbNto7P8UULDe9y3>B-+iBYNlO>K7b>4i=T|yhpRl0LX2y77HI8;6T(UFB@E!IuOxU zgU8zWa3jSI$;yU#ujWvxsH!46g|vA8Kei8=%QE$KFGck}uxmoMjvC}V2M9=QWnyv)4QfWSENtsBX>DoeVojq{p zoou+Q&f);)uc)aF!p7sbFzHjJw6+kq>+QRDWQG$Q42uP^+AO(y%qnng0dG#misgIF z{zB&3*T)Bd6Y0!m{5_z*5E7|*WCo6f2{i+dl{T<))Dr~|$iMOC8&6;!Mh6DIhmt~d z4j`)3d%m%{I>aMLLgh)ObSSS92SpHO?iiSuA|oSH5ZI(A^Ui^5O>=`42@m#@)#&?= zSIYk+$Ji(ID~&$Z`9G=7xSXN5)kKlc;%l^5)NQBZnwr8gG7DsDm6`dqtYK2$#Kgq! z-w~~na)%CK!pEtnjDn6X91Z%~Jpdw_R9HW@_U`j~2Wa(zk3Dj1e=`E}Z6mf>08{Kx zq0n3|l_&Br%W{zU9HbIG)(?bNZKk1FK!W<|$vu9fSI(W|{DfgVkKyK2$XLI=JVgeW z|A(`i8|oz@0s{m1kL2KDUJ0~hkTXPeh~wv!l~Ykys+LkN34vskx{k0c`qtwc1D!w{ zhZ=}Dx|%>d)Nmi4qQJln;9A+{s!mQ$$YlhUem%PPLX7A~q4R>0kVQiyB9aiIWd2oxeE{(pBzAOUq}X@)D&R2K zrtjkPBQ(JOQypKgb~%0e9*BjCEk>IVEdgGHOtSre1qsTwgTr3tXX+nXTK=Gj0C*Ya zy9|O+0&3wvLd3)?Ov-z1jFy&mYJNWDklRHhFz|cl&b6ERui_IE?%q9RWb_>L`r=pc zp-hBEVO_Fs-RkA-jZiVIyE`&Ykbm*#{SOlo&f!eKO~9QbZCCPHfRa6_w7$qRM-tLY z_Q9kBE$<2p6S6)W7G^FUj~)FcC&wFc`y^dqB@R#q^B~|Pup7V^9GBS1qu8!Bw09f! z8g9O`S&@eo$+1ocp7_Tyfx7kuq{2eEAeHz(`*N%sI5AYEQd3|5{Mob3?|NPG|A$JR z1-1UKN)DP}ufXPMe*1L z(bdLg2orUE4#vhikktJ1hyNm`GH(($)6$kJ0RO#ibLe}HzJddrS7P0Gf26OE&uE=I z0IHAW&p&bI%$c)iJpqQX$S^nn=MYl?(&Q7hx3wJ}9hHdJeqDnlp;h9D-VBGkp}xN6 zpg2=9;?H$g&6)U^I2We>@vtDrFEk&Nzigo^XJVTzJ>w{C4TWwzVrQIb?nAw@Y^-Wy;;Wu>IM{)M-{&_3qa zD!9y)Gc1-froOrG?d)0}NApL(5rf#Aj7cr)oJ|azY7YMI#Ws45L=+Y4#vu}M-q4VZ zon5Qns^>yEa&HKuBNe5gu8yvOi3^Spo9Hw2%qrk8B>yy|LK-404fo!g>G}>%w~_4@ z@<Gj;Xkzbjb7`fa-=?>WVA}|v!6@s>8*~Zvt2c;nRbXk1w|DZ9h!0OZ9r*4^ z3l4?e{I!*?M4fKg=HG-y6jsAuLZh6jpYA{pbZmc8DrbyuZE3b?3B{Vayz&$~^jj9l z2yj1HN4R~c49}lmUR)d;8e$D&ak+AZgI?qC;Q*)&jZaKYpAOb*Yj5WxId+%m7$qkq zi8f9H@#6#*6&FMAKXvBJy9;$&d!-PE!S^&bH>WJ5`7=FDRFTP-O%~vvn8q2YsjEZE z^G>fH6f0uzGj`qlU5Y%Lsh{$`de+bT80ok+ofJ_NF#kk-6`ke|Kwt^IT zII|CI76(m=0bNR7eG8^K^O}P3o*{}2P=Q8=IA_E&PCmzA8FW)c=p$z(azH zf>%a{jhR^wTpbU2lM^Ry=XDIq@4O5l1@u-HGifL)2#xUbFQ_#;{Z|%%A8c-80)pCH zvM%XQo(yB45OY0NCr+FIa&&T{ z$a((W3UYN7IsH89gt?vF?m1I376`FR$y7Zz=lH4h_}p|IAP9crGG>Iixc2(Y`A+bS zIb)^}5lSb8TNh!`R;&B_`+qDoJbSjY*gIAu4ILhlda1=-$Cce zo|;{OK|)e9j&u#RIlK9MG*TNd6($D}*eI*{G12e+Fy)XT>d}A&Ru&jBDJjU8e;jmCmom#~Lydz!fA4cbo&oxV zOjY1a1@?X|V~Q16(Ph4&Agi28XAh4&fZDQ%z`(EnlIeJxI1A!EQ?-2ZN+XRQDv2>` zsHwqhW~~B>D<~|4o``o|8~(KZcmrJP9&B?^J2dGwgh*gFD6;(6)I&8cL#>5*7fk5z zuU?hk?Tu&-hpdZ0^nMk>p1T(@x5LVJ#8Ri@DZFg5Pxn#ZeP$x9?B%y;YS>bkND|u( zje7FWA6EB%6xw2f->EAXBr^Xz4)`+jQj!7VYkKgfTwGp5E6qYX#m8f28m#N0qhqq7 zZvmdNfD{U2i84)Rk!Q}EH?C+lz8Rdu2eyiyV`F9}$Nf>3=5x1_hy{PC)#vIRLz@Tz zMpI`OB-YF~Jd9g=b7AmqHT5r7@D5+$U;XL+vW9@k{m56r^VFlVwXwGLTN=rbDQ@|9 z8j%YGT9@AkJ^ zkKg+(r%4{T!yISOyp>V%h$-V~GqVTisf#*gSR^LdNPwh0x%Y|~!< zDe~K-#&HXg{5qV)9GARch>yPKluj30CwOMhu3bmCA8f#VBXCpwlO}m1H^ok7ytYj@ zn|Pdummimgd;@gBfDW6deDX~14>?m0g!s zV?|!df0!*>PWx~2Tla03`_nMK3MOD=2_*(kLbyWx7=;FNT2RvN3q5=A;IOfA=lAb< znO9L8p(!A0bK}NG@}THo_pjamn0h)zeF@e5a8o8dijdDg;>X6~s9!-2jG)J^TvP`S zG~wU1=!x}eQCw#$9sO|FSQcL~Ik#fU@UCcm$+v}9Ev@mogF%QjglX}M-8QKi=sL0d zbFui>!@SRq?d5reg>?Q)Y@4eZ8Y0TgYRvZY@=}C(ozjgZPdVeM3TK-zt8JyrYI^3( z(C^=(`4JdAFf-#(EO8yVjo|yZ7s7{_%ViO};}kexK*{O1(7Oq^Rjgw}N>hmTxWcvn zX?J;PzE4iKshN+otEN*Ive7K@pSez5dst|GtqRb+;85%zlfaG^-Jd}XiZNHkU+yZA zbeM}@o{B86Bl4nm#U14n6uf|h1~Rm8rwryJUY^SZ>nPERH7fRU11NxInfdgoc}^QZ zE@m}1GcgGdwN0=9>_g7G*Ua;my*eU+Lz4&0f}*Ab}1Ac}yHkZyt`?P%@CkC>>lyL8Do_af|o zyJ=}@;DC^$-o2Cdn~x@7y92FqV=7r?mxKf>FA@N&o$lQTI*}8we`aSd*^OA~=^*P3 zpGaG~9_|keAIO#2?ngQbk1+g)*WQ~}1@0Q&Bl0}AJomQr(lRm}0qnPt6b%(tnY74B zPTuLP9d%WF->Q{g?9FicfsOczHDpnaDGrI3e!8<`ex4QZ^)SNgv$GVB*qv;RJL61Pv$ge3r?{Nd*33 zg&w1+YWegD4-&zyqT$6M1fc=QAtOQt2L}hWi`yWNnV2NYy>OI){{E>{SFvCbuTm423c$tz-7b#S%HEcZ)^thmUD zytSI=HTT-3U$+hX9YsRHg}scKKLARwPH+XB9F}+PyZA`A+Ym1Y#a?=#+SYJZVP+#aW$B|qdg+tRy1X@_FA z+`XqKe<27D9Zku!$m3N}(S6+vIJ(8Dsn<@S5vuDSy^l#f5 zu3qnEuIGr+s!E@`2x>qU!n~r&Fvv5fz~l{qC23L7YthlnF}qLk#X~p(tI*nqe0qTP z1qqRVL}z9d)DTiDjUN%FX5==XN6RQ3<~dE3)I$9}3@MD4H?E zl_iip;(Bdgr6jLl`_qPKKbuNmyeEHM_|<8R0^hm2$xD;UV!RT@D%Nuz`;fze9S#Pe zd5f$3AZCE+srh+$%4%zAZB7bXXM+hct3bUF5^KT(a%>jiTOp|cT@TOO!ocK@*B8Q_ zw!^(brU2s2HDi*@Y1$0M>KH2^^vX8KP>4Vy*}*a13PMC~Rm|CJuhur811I zRo%E<_G;IWz?ZItmvsdGV-b2(r~F@2W)@}-F+ybZ`4VIncvXRt$x%4}^);NMUhPD* zGOP=R*p`riMyM|y$=A5JZ7b_-h0A$DqpSWsmpNFe#iQk-4H+e9N2s-rAF1=yR@ix2 zJgT{0M_`t?aZ9a1>B({3dymqE9(G?&@OqPd&CYP=WZZjg$IpjH<>Ut%tP|;p)bwou zucns!4bIT9<+tUIwtFb8%S76@_7s?C%M}%8&Cjl-KNdUt+6s@8fWSx@0OW^<0PNqr zdn9~c$$rj=QrMSdA`g=jndpxBFA%-ZgiXPKeU;X2Qhf2ugUT5jCFj0Mh@efNtMI%L z6w5q0nZ5ktoeDoo6&UzsoG1OiX)5!`aIY1TZH+cD8G$2?Ea z+Dwl+XbU4}@yV%7jWpgzcQ5%c%Gk2ahHkv~@xV(+T!Iaqz$e1{x;=+>G)^S@&b48l z1~`IOQ1DS&n(E8e(z$l~fzz?!;dL-rdi-?8A%PO~_4N-YS>Osmx&haWoBaAJ!!nY+ zZY=$%8FYbav3>jc@L=nR>*b;;YBzsT8JW0Wo)hhEevo}%-x&ZXElAFM@PI%-fRg+W zzAU3OZcNuK}iRq2mk-@ms6bvilJW}v5_zT@MY+G2a^+;a>BGDZ8@lVld-z5a@q z8W$JLc(t;Op6Z96(q}5V=ZdcjC^Lruz5&v|UYzyq{yO3cMZniYY*N`~ub9}qWB(sr zZylCZyX^~48fk-0MFa_Hq(P*l1nKUS5&;P*K~N+`N(4lty9J~~1f)wELAsHa{Klhu z?Q{0I_QxMy@4MD3^LggH=Y5aytC2zM^--;87z#Ia;$5*_8)7du1_lNWjxN{8CX+*y zz5(1)DOr$2aCEm}imw^YA~4c-)%MQ^7SEguk4B{h(sFZQc=NaxGs@nkv~a5lAu`Pp z32f2X+-x;!(hth!}RXBvi#g%^rQNh0z~!r>*K(%JS81pWnwF zyKcaWL&%OEU;@QCnFuYvJi%2ylM9nHOeM4OLQLP;la3M|u27C{|7NtHZcc~@wh6-0 z`svm{W-2e=hImnsCThydzd#?pw)Rti`bR@E!CL!!6Gy^&xhF;;5^SGF5hTajV(!Zj z@`nbHF&RM=#JfzO)&BEm!-o&gMhRT1-<>>pMoH1r_?jXiK=bd7=b{Uopu|Mdl4hH- z{c|EG&u?DCH)*EFq4o{XL-tLs29ZedT^owE(Bwko&05t?b=oRT1D=ye;r7kh@ILW!Z$nUUt{VU$K&K&_6#z{jJ1AgGs5} zyg)UyK^5Jn#$>s2T6p;EaFMomc#c1g9c~(kn+DmsJ;$bEFFuOM$Eydw>~{a>yogx= z$60s3N=;T$t44y%an{)HJd1j%KKw@`{O!5Z+RR}ltQgedA%){m&D?0XZEDiUP3ZGA zI7?}CtDM8iM3bPiF&DnH7$rMdpy<`Z_ZL3cAF_-@1rRn!av(_)AT_zlOJaFexl1^3 zhlCBDDty?zc!SB(r(bXliYe8K!31ZD;#b}ytav5Q)v4!oCfA`<-nfh4Q^EX-u z*Nv=x_`nkUmk=_~is&k&QH#?U?e8s)%DEe_0Z&E8d`~@D@H8HmzM#C9vn(k0gS`3i zuIW*3nA^vhL_`2 zN5U)0zn__EsqI%+M{A^f;&Q7iS)O!eaOE&dEoTAt74~BI)`T`#w^wBnEkAuW`Kg)_ z>uqt(_)5Dg4cXtT^ft=8EiA5C!Qk<`!_4vP)wM}=hkesV@n+OV=tX4cNWW(0O~GB| z!!iq(?j)BX3UbV?Z$i)8g#HYT0nSKqaXO@}bOt@3(QG_uzULLCbJ8iiR-w%^CfJ>l z4tW}^rEMk4zA8JDq~?CdVr?4O0#Av=e(t*?$^nOtQx`*u|M+?_%q5g#Wt7gQ?)w%d_x}6MLrheERY&aFc3PP<%k?c1%;l2mj%KC~+!@`% zA4K26LoJ&mP3JN?B>OB^g;VW*LY$Vl3u|J8IluF35!C<5MDy*HxO@1Z=A3QQ;8V(h zwEPPdKf;$K-3KpwV8IuU>bg`Tq+r(iaz75;pQX%x#k}yf=4=9yB`vHTcy>l6OFlTI z=^WxR?K+3ZuLJQ{EQyqI*LW=|CuBMzcpWwfXb6h%?#l@NgfoBgZpcpNW zTFhV-dk^#Pu2`x&_{JTH`WlgbRDyk@puG5Wq*l+?bhv7lA5X@`!%g;?x5bB_Q|B_z7M^0WbOiJ#6;Z{gLYQ8D{^4uVfiC2f<-%G^7Sg<-5{Jvh2Ao?Xd z9{x*@%$vwJO#0CC>Iz33QaW98Xma~Y#r`hw(u*!`9sUj_UL-!@U#2>$?0SR?v-~+j zX+GEW8nR&e3qLyA`a~NhO~q|5$^I{aC-oF%V$1uyk!t43$!yIrNC-MxiwpYu3s!@NVsG|8lA#*O@k~3S zdak9X!>ke#<(xY+`K8H~w83ql;e@WrtU6p<+yCDcVedY4xG73Oy0sE?QOVl$QniI9 zvkG$+x`-Hc+ukLQqNyCE2(F2m%<5BKTaPLV!xk08mRmS?Fp;g3VYIc1xzWUbclDtR zp&flO{p)JUU{4fXJB6>F%H1(#1~Z?I{An;)PgUEST{K%uK-B}w?5K_SQsd5D>JQQK3O ze?ehQ18Ez!Y{9nCD0aF^`;M`qBR-Lmj>#lQxPJa9(60t}G%Cb{DjXZNcFiIOpN{(H z779<|(Zr~?yM8!+ufT?LN3iFoKx@c84VlgX$fZG~4UIH7^HRK4av&J(-Lf@lQ)uc)4*bJ_r>ZizUaA| z60_N>01qrSpw2+hoLd48yb3@rLCR0>ck&37z~H0ALh6i)29^PG0qhDilS@DsfW`NF zLmce5iOE`eBfcx@>l4E@oUikLX)%}%vg(rx)r1;~o>vqOaEhK#V?*I&0s^L|TTM97 zJ3=&x1(dq-Dk@~JT2N(R-ViWqaL?;iSvos9j(hyhb|4iBqw&7PDIZ+1P;Teo;I>b- zMf+U`<5f6!)y=yWcnAk$4k zV2N-6F7hmOaD^Zr{UIR3Kx}T-9ZW%jSX;_w{c-ouQ0(A+_#aUy1%#|{Uco!xuWCpZ z^L7V172yIE6pGYe?Hk#8lhb?c{d3EgONcOZz*R#Cd;5t2_X&Y2cIoAuxy0vRjodon0Kw+b< z_p>@KSK677>OfjF)b2o^XYE63t?2Ksmj^qp-VKH(j}tMmwyt_Oe5=lg7y;$>wi*;| zO`9FlxRV~RKPPne%MJGPDZ2>y*rAgoMiDNHopXJi7{_9hUk@Qob- z-$DTEFVZcOWgz)fQ`7IWQnD9_%}dz54OD9Wx79o`gC~cfvB=vK^RDI*(;TG&ORrgRgE?jJjfBGA+jo7 zA+U&UGAyIl-63x{TLdBW+>eCk5+Mt_n&OIZ0R>xI^Rwv6FPt6$X+&u|>wNqc)t2~+ z%j=6KgOil*PvX_G@(*+#Zi@E}rEgNALNueJ(JXg!^sZ`v(D zunx4oUO^?qW&x@#=DHLmf1QfgsuLUt$*?EvF#18d0w9rqGL1lZ6=1DwmtG!`6hXKN zw5=AkpFSmwZGdm3+Qkx9(tRQx@C}Q<8~bd*LpgAftC@a;1cO%<^~WxA;9M}(4?ni* zG%EqwbN-a$Uq8M_jd51~)T4Bn^%ICruF?wTJO3#oyS;nzn2V2%sv$D>yk{=X7!($N ztM$f{$Hjmq0fxj2@&kZ|K|>CVHr{h7;GY4Lg{Y;K6;={lP(J%YxB?)tpTX-4sdjz# z7hAXgqXp>e6BF7lG^~Zd8NiqzyBz{$sv#5z96q{OX1}1o*rTZl)SVQ6!Pu>`{)!6gCjO2b>lg? z5m)jYoEl$&(6Fn}16fj`;nrj$9ebz$c>ZMN$`oT~u~~kdBv_UuKi$KNX~KQ!0+BVRb~oKM6C6O05} z`hudFncAiLq{#1d)%a{X9!QqG89`K>3JVK3<>+Dc!R`QRMvw+1)WmiK>$m+FH#GI8 z6dt+wUyG@j`EE#t8LXBTeYU$B<7Puzr>lDh+FV0kGRsFo6mLn#&Ns4;6|zq^i8?Gy znmJYR-#<|b)GHt&Bm@JuxZl}lqasus65=fQ4#FgZ$!(%&%YObdkXP~W9%t} zZ30Z799B~M}X z)E!?xd#pP+s7m8t>Ap**1G+~<@>?douq!UIzcDES0UzL~*=Z)0SaS&Ahkt{`459BX z?Tc115U_}tO5{BiHq;RpExjW_{qsM2b?V$l2zZZTKk z4psZE7)W>@+|$wP`+B0hkqL{x4Ah1ITw)-)p*D~Qf`HjOdtjN5O1UUP0D{?)Rpc}^ zz;*^K7b+P9hBQpf|wd)ltM&v$Ay@bx_$c)Z59{ zU@fCp*V5BqR?)s8w?q>%)(~^ItD@8*So|pwlqbPu>d5=q_VXEuc+17PhlvFL>CGty zVS>Ow+Md^G%zbeb2MCJR*A4-a&Jd@BWET|pY*a7aGWt9cBexF}Y6xTppf^T>EMcvz z=WRXY(1EWAeuQXW_+n?H2X-9bSNWjSQ<= zmgo{kcI410Pi9pYkE*+3mLI;N=46J5U=bXLhpYzDg|@nMe<6?XDqN_3LYh&zTaX6? z056)qr~?i%m+?w5@`nuZ1yqy+cz_UpP#g?Yff*6>Vh$bJ+9-6O-HV*^BUw#JC>G|; zx36A>30tmi&C@lpC3f>L^o|GegUJZwF!j6riqJG+BK>n9jVpus9N;y^!3m+GTLd5z z(;v84d*Edu7J3&;77zwBt(rEIWI;p5i{svZjx6JJTBx2OCWEY-u?`3lBG*idd6CdX zXy7F_o)>;T)F9m{Vo4g>`jz&OnFl&ppkZ9y-Ou*NosOOPsCYnsR?1S^HVtr(HnUEb zL;{qS(4!+1bX9>}cSn??`@d(a3*&x4dtYsT_wgw9Ko%}#xAp20M=^qmsmtUQ1)CxG z&W@j6)=Tf>6A+*Zm)(9)G`u(u2Y*W<8wWIMdb*Q5g2c%UjZ&Ezq&*V&h)2VdINqr^ z=27k4kEb5(^&d>d?*=aH+0c@+$#@4~A&`Za$$5Mt=M88c7%giDR3OkT6OaAfTmwraPw(B6(k@RgFh}BJS5* ztI_tP`@BHlck5L&0rA+`{f(;lGr1MfHY_Cg4?(PyuK%PIrS+O&}ep5gcv*}Pm znhRsx%miDjg<_f#a4d|*!Pa0x1<~PX@o=wpd5WcZxjS^12Iap#Rr^ReO!#pxvN>CG zh1Gp|HIx=}W-|Y3+qCh^%lG~u#S9KN_V6`Ii{yQEDeL^MGI}n_Zj$E1XY<=`XFl-B zBaS=+6&RF`;M9bp3N~tZPY!`G0SX}O3JRd9xk~fx@;V38ecT6CScyb?&Y3&pC;M?+ zv{`aWifqHv_)4wS5`RGTGqF9$b|F(lhV3r#H;WEVw&$}B&iyy*uzmnlx$^6m3%r&9 zQSYDIKr_JS0_G=sIH2Hy3(kU2^-_fg_f&P^hr#;HfWGtf$Rhw&5EBk%?ZFeQho17i z*_xHCE_$S`qXv2x31g}H9}TJIc=r2>Ru~ITRi%|aQEx543df2wD!NTU03tA`8mxq- z;TD6-6pq4E_z*|Xi9oDujs{5T51vk7z{0|(K(*|2YF3n^OY*5!zXgf2qF+Esrp4zs zb3bFqRV!XAD37=y?E&McwnlN$h^yb-46B4l%3DpvBz1wZ5HOMPz!or6T_O}X4YGdw z$r^rus|N-igH{URg77yK_VPkgo;3C~r=l1m#y?~f!7efZux>p|e5l)}U^NIUFR8)A zErV1ojxE+$3tjTdGU;WR6PYP@4l=vM@7a z>U5rE29H?fTJ-L|jchtMXw^75ogjV*UQ;L&XTSB;KO6FyQ4dN8cn(cVo*6+WfrWJK z=Xxg3;8ZxLyh2qA9ixX=DXL#&$P+!mBY5~1u=u2<$09FQSfmDJv|InR9r5djsy=74 z4B7>*q_rMr4{JT8qJ9wg2n|~@?aeXRnm4@GH-h_XRI?!3)-n`wf4%D7u2GX-t-FJf z5gh{7O!#?QkK%Nv=#=w@z`6#5dB9kP-UtT&VKzoQ2`D2K%iugVfVe&et<@$LF6`WAUQ1c$jlF%%>Tb|+h8`*0=Hg$2LU-~983EQfnFq+0G^bRk@yi$W@SOV`o%`dAInFtf@ zbgCaskcTusdh+BPx~wiYNpRaGt60~x+VE9E+}z3rym&!KqZm(#%DX~&BEV(GTdh9H z-EgVHwCE=t=-cS|yO{~ROGZbaN!~4+{BG8!nMYejjG$hO$|DUEr#>AMv_@1p1@@80 zi^9ax%Sl3@orVz-1zIujdIj!4{YQ#!%V$*(L08wOQ0REkGA?tj?DSV?U3}45;fFfe z<*KT$8zqmB_wq!Guda;>MWm_QS}s~(P5#Wx&|HbdWG_(a6NjJ)c=BkCAlof3ne6T^ zgxXhI4rUNVw_8Ad0YXAcTQIQfAvy(HXeSjVV5Jy|?xk6-%NEwL!jEcXuk9Pvm6c4t z0w_BuNS$y~Np4k1yCi0U1giNa))m%gN`%QZE)U>qVWef{R>7&5{fEtPuYh|MlGs>d zb3rn0!w2Sq2pXYMKeS`4MH5qOfbI7sQ|`#92aoS@SZnTwaORPPJvwtt^zTXytipgo zGON$#aC2@83*E>hn@33M;Ab9fE?z?&6T#W(ns8v~8?F6~7W zr&b}I|Gc#$53qS+#5{wI=?nFA4EGaUDhwPR$ZRG=i=oiz7(s0u-g3=WsozHwdSgPcxCDO@_XoN&`~!W@_A9xHhk|xi7P;Tf{NQ! zn6?62;Uh{!SQ(Xf(0c>^vsPaqFLgsn`!i%Raw$@v2rR!o=f zfuae-SD>&NjA6_hS^;@U!iH|K$sOogz{LXs@kBoYXc;<{O*Vz>CaHf8(zuJ$;UYDm z$pxXa6Z`IqzePUL#SB*G`-=OU36J3^=1qObXcq(511qZ?l!2+hAp?j+kHC1Y#or!~ z`)3CQC|Ko<1)v`XRvyri-K}CcKP66gW0nc;B&!UAp?C(mw#7T*LY4Cd3>(0y&Z>T@Ty< z$cY56*=kWkJsf7>5%e}PM3aOd5D?7s@bbcUgdgCDnU&v`+YROFH>59H-@#1_U|=#{ zsLD_^D)K&zFTI;ASSQSA>M=n?HburqONobc$E{mz62GIeyH(yJNe`TBHC=~6wF?sh zf)Rk~3xbRU8qENtU{0Pys9sk(mjZZW1LzgE>>!L{4|K7skLeNW#es zTkDL6ao=~<2l8s^1s@JLzy86uvQWl~)5;?xBHG{Dg6;>)A4Hm{nLkt$Cieu}X?dpw z9#%Qnht`bp8sr}G^T<`hF*f>*>$y~#YOkQ!ghA?EO|_I8r~C(P(g%ampvkK1w2!;6 zU|1zq-l|X9s;{rVE?cD`-i{lQKIsYbmQ`+SYlOp~K0_|6PH6ep1`k4U zexw7RFQ7602LXn|YY|tSND!!@dN7bVg7gfG>+4HP0NF}GbOfU*2-%w3Je6VQQ6{5F zutYIv2;RdV)I5zxPMfvHT3KZ}*kwsP==7MN?GAUYyCM^Zy)n5Q;STObGZnDPYLZ z{8w^Tb}!}Ikpu!PqZBcX6vKe|W6ZvbulTGr;25D185G)}QT;?{Mn1uc=y< zjdIm|<4btmF%KzG+i*&^ecFeyJCxzy#A#Zmri`+V2X>le(@P2px~8VyewPN%PLeYP zCy>n#v`HuO$t~le(X_R);5<}{Ks8Q;=7nu@Sjsck5a%T3**`^Pp(~-zdowYA@Xx1Q zo1k{-GPcPcN9#PEhh)oy$75XdJX_JLhK#1wj+60br3Gd#D&^0Md)#`um*@1 z86!o_gm2IR2+-T5c1c8~yy^-fooK1$S{M2y_YMKEmuRovr=u;Vh;W!9FuWC3gs4^!9Bn>b+Ar)8G za+NH|^aADG2PR=DT-~fYFBgT^qx1AXL>dC=R>0^(#Tf0S$aqnEUAHy(4#7YA!GAIm z$32k1f^$Thph4m~OMFMWK8|_m?=yx1xIUbMkV#wyta~<##=!)P$vHE?f0{q4)`wEpKACO@|G8@vfH-H18fB9>Y~IJd7Be zUCMRP!*E0csknZr1G*$fF84S!KD1! zsDYguG6{qYif0MTU>vR;cC)kT{agZ9hUHaiKAe&us#nf)h10k%{2ThKj(PM(&=JXo zQw=Q_K$I#1(N509#BQL~hU^(AS>c3Whg_4j!PPx(Zf>~WUr1emd_d+_$oi)G=V#?; z!l>AahNDA6cg;)uo;Up~OO(4F;aM#F?EG=)VWK^$MCi6R^GYlDsEev;%ywHKcuGGA zJ%Hir)ftf7RF)kN%!WdIikrLp#*F=QkW@kjHrxq8K|u)qgRp66)KTz0NPdxGfFDqx zRut)Lhm!(fZU=kv8llqap5)(m2%ve_73-zq*RUh{W`WW8tUOULDwzsPZ!AQqF9 zlr%9hf%6YV9JDj1LdtfN2^Uz8--qDnf>sNbFKS!@f>I3YJJroEFN28e3JuLu2oj@< zlv}(HC978YLsF(!n@=$U9NM1e%{&sJsCKqI@_4Tquf_a&8&Q~7PPuFx z<=6MspR(%;DUiee91_1%JNk#oR$1LC-4xh-M57qe3xJ*A8OAHYS$|v%d3Zg^B3T2= zAh#vN4g|AJQj)$C@%Got_oE11^0+~Tn#UH@>(8WJMN{)p_^EEJXfrXLxv+9odHgis~T0*`>>Qd`i^~K6(^=Ch_V=*+59A@u%1NbbL5 zqSjD9w(!@-LNjumojI(={_kGBz<7Y#7<6YKpdRpr#GK@0<%3b%`OQsY1jNw*h&O&+ zS^A&U|A-Fub`%4s7lJ{RG7=O@7t6| zWj;U|goP1MaA8AuWABsQ|AseSHP7rifBph6lXB|qHwqB38<5#*`cV})v!d+m;uBA0 zHSN#b7_*c*moRvXS%WEgL1qIKIUEBq)`x(Ser;|D2qvfl@^)AOA1kMI-sKOY%DY^# z)lVtt$>nWdPS^fHq)6{{^?o0BOdDP1(dh9`>m6mnb?YKh>a&4=DDeT_|AT`3VW6X< z%Oq!o5ac!rjt>I}E^HgzE^e=W#z{S_W|jw`2i40@>IXHMl52E{HYF>e1dvtx51d>1 z8ULb0*f1;jTAt+Q^(TQ%Q4oU@Qs}M@!gyY72>vV;hHdVl?%k*d$bDz%qq8y>b92RVt|llcmD;HyKCxLw&oPuxXIv6!!M;! zfO?!YtXnr1l%%99ut7;yw^S!{IOV-rU|8!8%<1Xp7ytDxJ#a3o*ACZW|4J@nm+>4F zIi3M&6XC7ZM(8pwg2q?w9h}|)cAO__GIx=4dQf#-(kTGovwT!Z3H=w`#Ql9g;dlUI zq_3sztwH5v*oGSnq9`StWlo=PDbTWb;k`p|ev1IChe)orp?F>(d0TfXrYtcZ*=2`A z%l*GV01SHf!(li1_}?vs1t!M8qaztM4viafhnWk`Vp!kjaGMJrz8#ksxLugcS60Ou z0od=XmyWVu>`egZV_=toUJ0C3z+oSq=cnowh{MJOoHi(Nu?eYQ*hx7=io@yomWdfa z1)0Cnsar)(LKLJXb*odVZDY>{Nz{H0z8g=?>>u_T%5Af~HQu;`dMVJAv$*gdNSz)W zQ{Pw8!s@~QDEy{jAPgI~wUE3wvjKc*Ary zlKjAr>xPKU)Cj5!vRfLAjVUfKy$9E&A!?nRJO#Mo#P59bd~XruM+X-vSU4d2mTS_9 zivqGXAYMxyV4;SOP-`K1NsdE=9r+VVeVS|bnlx3REtvE1vD+OA52V`XU1n%Zw>~#Q z&mYy#x~G6XfOgRkwS<8Ch9~a_3GctkZGGr}Z9~Mn6$EhR79#%5GaoZDXeE3N()$u3 zyyS4N=9yruYX$wQ;$B@_HmasXb}L%Cv<0H9+-rI)$zJ=&WYVqzpMo^1xR1*oCtxFx z*novVV!^;ScM*|VIwMbT&VVVgM|4LCq&QwaP;X}~UcM;R#yTSFCR0&9Aoi?DA!!so zc;7KOy1#{S-#n+^w#Q(&L6C1?{YIRbs%Tn6#zejF*~{3QMgKW!AXoA!6xvARjI;c)C<2pWP)*RO z1Qs-Mil9A3-lyQOf6_H}PM_JbjCD>(4=2?z)E`@x@+dVf;d52fahn&|U- zIy2qEE1Se)qN|^(E5T)hg--^^*i`M4`$fb5hSETC2>e54IzS+)xFNr#y%pPwd!Hrk zedy##OG}5#z?@(+_I9%XnzFE91J({J>~Hth1pB5QAS9M?Og&qQB`+@$Tm`)B=*VnrvoY|sfU9+^L6bY00D?AOeZ2V`I9z(IswyaR<$JcK-K|^w!*QQf8epH1YrWYS!KV=& zfDcV?u@h}#>9ZRLQ1@TJd1P?M_z$o;lS|yyMl+wjbQK3G6Km}IQvRIP}X91C|EnvZyKhkB* zA6B%$L5vi~;cFAdz6IuEE>{!EACDnCu@|HUP1mM;4klqJL(;q|Py^s_)d)u=&VcPK z`1$iwz+Ir1hnb%oqnxn{@Q&1irHtIjqlq29$|ymp%HtJE-R&?O@vAJas*d~;`o{Vl zW%Bqh&jmB+R#Fz}rG8=@n?*hk!&l8=(u&c+k??x;a|L%)szIl^H%n!ked* zHw)}%n;LP_Dl#T(-j23w<^?Md#%X0QF4a5(B(LTiUDhfHC|cAUNl@c}p9Ft&2c#nq z@*Y7aMukAdo8ou&2NgQRa)l0xYMB49>31&jrxc3d`GTsc6<0n80T_q}-w-6@-#nH0 zN)IIy)BO<2n$}>DI!mdC{Sv7mwB9_b88Oy5%jWbW;ZGQUP3e`w*$zAq36_2WPRCUiIRFWI|HHht+n_i%eHLErqPRbncyFCt|>+hzb0Svn(5jv!dD z{6m0x<-K;ZpWpwEU48|QlPs7R6Tx@@92!jJm<04YM-0+V?u-7$+;f2$dnjc*Vholn59w z(o{$O9p-xpZD;Lka13d?bf8I=^YGcwbz{l+SYRn{02uEDUtN-+*M<*xH-=-GpFRwY6r|y$+cDAbhvmd_ zg~00l@nZ&#^^>pnC+}MCNi;i!7b1I_^ZUbEgfjwYk_GC5y9>O0vz0JHN!zjJ&)fd| zZG9{S1ed^%-Q=5j7>FGfB?tC_8-T%XCeuq?Rd4`6ta!q2f7oPPsy{=}Ef8Qu`T1+- zXh2^;FpyFu7$tMo0qX?wCuINZ&oMyc=(68yUl_TgB-cpbXYya7uhs9W$1VGyxOjWM z`Jr0H@F2DrY?|wiYLnVh>wZsEy%YLR0k0rsygxwZU+KpXDiTLk{T&C#AJCH4cAmx+qDNH4pK{U;_X7Z!c|PlNk6^gTaqhw$7ut?(?E;-M?Js5{DDii`Ifv8-h?f==1Xz5LVDgd`Py4N26$KfU>0;uPXmNvUKvr197JeRkdJG8E002GwN#$0{0^*e>(LlSA2?RyxxdJD$R!Va6U|8#Fi8=4YGdt(jEfwn=p zl3QtMq0JTV)rXvn=BO4=n2y3;P^4w1&v{=% z8$MjHLRZ8n4#0MRVqu=2O-tz(x+e4hFqsz6c%oeldbIK8A_%WoTW2h``DJ@Z|) z0~(*QfA=|baY5A<+!MgwLx8}$fZuP$>Puhj$yD`O&wW^I1gmDQyitINidHpHw(IBI z8SsFL8T}!?lp)PGIXO3nqTzi2L-95oKuMjChgbK&mJ1@|Isk&{%l0v-y>>@>^IlNu zkb*D^n<-^gK2^5vdh*($(+~PEs)r?tTAjXELg$>b8jCZdoa5;u9%eiT6(wIqc@?V* zkiYK&D<6s7m^{E|KM{)hga0u`%)^Lblq})^i`l$6+#6ozpaC{^vdqf@C&Nv_1onqm zc4!L?`vbPht*8*5p_O4HZwGjpfgCx41_LB=fe_#$u7q>ClpeVNqEF!Up*e;Q0cv-U zwLxOjj-?!~ZWZh%h$P21B_py48+j-hQ)X^ETZR01Ie>YD!5;ksWd!*kuRzfyMyrT{)>2 zqEJz;Jiz}Tl0#e+@qiFEVC?nv$NTzb78bsFP)3lLkwOh-<8+hqvYvC9(HmWCq@DLf zsmN+nw4hv-@uIq+*2fX(ja`8_C)1e=xD&@drL=M3HNHl23dxm-1Ja0t*p7Lrt6JJ^ zE=%i1z)C|*tIqH#*b7nc97L`K6HxY#o8w`kyW9tqRruon?UV@nTs|YPf1KMb50(K; z1RC*%C;Y8_eW13Mz2?Y%_=WaTmmArBnECsS3!z%U*j>~et~5cucg+JVxhRn7dL|G& zVEV(jz@u(QG;l_NXh(BA@KR4xDtH(yI){o@>8hU6WxkyV>5R;~oE3wwJ=WSxLtcmj z4uBe8-w#r0OXt7y9OEnEooE(lmuNnR|LzHxxJ*;!!CuYW*1h1^DOp+4KKbs3^4qWT zF0}$_JupioO;u;_gjHa7sU%JNBEUh|R!EFUpw#VFfD<$%;^uYF(tA+`7?dw*SRFyY zt|E`!zol~P;a-ed9=wjv7aJ-UXDMusXxgp?{sWJ_dHCP_Zb(cB_<}mCBsXdDK@r^m zs|L~mf%||b3bi@#Z!nO$7EF!6GunvpOW7d*$0CO+)Q=_{QtD;Zm{sBn-r^!az=K|R z->81>8rjg6V{q9Z+3k19zb?hKtQA91*wvJ<22~5ZlCqn|FL*~Uiu8>KGF^HJ({~!+ z5^z?6>`k0e1O^bo!Nh#&<=-p%3%cHejKZHk{K<)C?`dJh@KXB399 zYA(zDOci>{3k6X09+=j%wAk)^vCd<8E5)cXiVSre6^O%S@ON|IKU$PpB#d4)>@+V2s zHN&nkxCL?RK6mdn!~8jxD|kSsLeFJoJ-k{QqgNmxC^*vGoL*T;hCso5nVOm!1asu% za(C^5NW5Wz^|gMV-{XMSCA&jA)8cnJd+K+dY+1ImL3y4Jr+19o|G^_GPnwlM&*o#u z9XLyo?VeZ2NI_!8F*bY+@=$lM6}G=Yh44ilNS`h||VsXm(JRlCnygWCmy zPg`nF>y3*ZvWC1d$ej~|MFLd93d|3I zQ5PVcg}8yAQ1$SA?ch_RA zHYj)3w%CW!@t6nymoWRGrTjYiI7eJlZ@$fm_=?eTl8?BQ1n;|X{e<04xy605eO^fk z^Ms3541bSvKz=;t+8`_>0fxQ6#OMnbMj=-O^5#Hc3KO(?BCVX9z=Z)hC^=$(S+?+; zmXwQ9adW^H3wEkia(8Nt=hpDh)=twUwvo%|tqp=}MEz6S9g^-gj6gVvp`5|#qE7N+ zYTCAzYh$-zSN`AV9@b)%NE}#l)VLoInF!ptu@Egs_Xq|kDw+h5B()2?^`sRO0K^lR z(}vF1j#LFULf#IK)Mu_OPCF1i!&OWnSJL|Ya;kx3m{3~lf3Q0%6ApTYhJ*-&wQLNb zLDyr!qYKe62#|ZLuEKPYPv9NmotMGAx)A+R3-mWxCHQgps`?WepW3!(DV#AeO1XEZ z3@+nh!buAI^W!XQY}E5xTkBjrI5Lfbr<$jc3-cG!`<7N#gkd7&&T|>u5+L+lmR_@3 zX3`JbVF%T>O1R+`_&nu^hTM3_0tR8%U;Q@*YTjI?X@+*o0ZTe z**ulDVmACp^Tvw=ZCZW$CXklk1H+VxK5vI=uwwZ`V~*|*mUcL4LD)Jmo?iE7Aqj>1 zq4~GYqCrj=20|2K&P4&qebUz`#h-pk^h1K8u%esNFtTEjN8#7Q`bYC;%45r&w7WB= zWM3s!8M42)`M)wSKZzqWYsyQF#x@^aL@_EuCT$NI!#i*;iUxdRQ~VRwmf< zD-d0+tr!U9p=o<;`-P5Fa^C66(JH6mD*LngdqzLEdln6hJUTU}7e;!_b2V6rLYk+0 zGGfUDEPM?1sCDolvXlhu*5N-ai#;g$~ zgl=*TPN9d=Ecd$$!H^}XD%(43& z-409b{v2Mkvac~aNsnq#;R|~j`uKQJrTK?4bwOt-^7w!bB=8mAy)CH)RqDH&#yh?3 zR?uU&Jn4JK+EHpxALtK0juo&^w09pGUjRGLU$*@#W)293!%zqWq(#zFQ;+}nQRz5Y z18S|^eL+an1mM^;67YMYB4%pj{qQP>7Wkh#uN~H z96&YHZTJN1zCP57Ja(~!)>*xL5qC<9SUikOfJU9WEu2&JI?x?3zekuDRJZ`c58Aoe z*ko5#9YApn8gcN#p}=B@2(sgQ3mfsliVb-CEnsw1!`U8Zf8fyASPjTdU^_$nVR^wM z9mum-I=o3DwHuvZTCq0<0#O8Zl9B82J6W>8T4++PwvAwYqXxm4aKwy)qY#4GMXhM` z`XT`cRguO;%s%AKrd|+Au3rqfn24b35(#KZYO6kfehLQ=Bs!QnMY@Bj3W`h^+W|A; zVKCRsa#m_wy9LBlW#{LEjAb6|Keii(U>On7vrUt|M)r{o2bs+n0Nv3(6;n>(1mopV zb;Al)m$yas@11A@*Gj)Qoj6IXg+FfCNbo_BODaVq5eH0`WKsf=Q*1i0i;b3;<9M2E zfkqbLf|m+< zm=aAJhG!y-8=lL130xw1U_ZzE8c2sv_jiv4`!L#RI)`?|;RFr}M5>ns?afS*B zlrj+6n_oy`#yg|uWtXv0_NXYvbvPW5X-{v$R#<5-%7jgTwi(-Bw4r>=m39$=a zZ#*LKoyCHS0!)t-Z~0k27}C6(fgNI)hV~3DE=bc2`XJc|8eKg-Jj4PB$f$TQ&eRD{ zqx4?B$LlI0VxpqIe*Nl3AJ(N$nuft}0TyKHL@I?KEAg5cyanEKg!J0gwk zf#QYM$bC!ONcO9CT(zaIdE4V9anw_Mu-Y|6A^UarsteXJP+EHSbbRBDp|bCi|s zfTDhUJpKPyHx9zy^s6FL+2oK}0V3{?4gWGL2vEl7*P2ZlLzY9?N&c__=H$_pU*a8B zoUZfA;t~4dy!v)wzXz&nb{bOTpJ({5^JTzE#PjT-=h^C#xEsi?p&K7e$OHZcJj^g3UH`#Urb4RBJ0J>c6UgM!$m~ zDan=+jz1CxXXhT4GvJQ@ws6H5AKLg{eQKv^l1k4OHDT;u>e9nKiElYhs z29l$Jnneu~;E9v!i&A27uQ?fa$f3mer*Q}Wz(@L5IaG=$>|`&;edD26^_nz4IGkA4 z>z*c~H`5IoSdxb6S>{~}u}67!J}s`#U;TLe@gEoqPwMMM0$epXJRrE}4EQ>z!_>V6 zX;fe?1=w>H6hIBTKGc#0sneXgr9o8RC2!bY4N3quTO34Ph#&eL$fd=tiwQgX}Iv%u;u{J<((o~jc z`2bZuI~s0q_gQTrH&%kn+S#pW1`JJ2iK9w5ENR@m=>Oo{W?qTkT}c8#FP~FQU`Vc) ziHd80_WslmYsjD_#V!6g?2Q&!kD(3)zig>}S$(B+@+!`a`xnP*2VCN}Oq2u==}lw# z)~1W4cDqDW;MYbC9|x7@)N;Z0whIF3ZlJO{fFL>h(NYkogQPRMc}DfPWJRjYtj*;% zs3zhg>8~a(5AWgs?V3XS-O}cvSq1|wziB{up8lS)B;Il5;8IIn=f&HwZ%u z?|$bGBALu~XLIkiV8-W2>P`kc<6khtLEG0fbz|yJ;B;q+t?V|2gKwYBAyR6nT;1#SC3%`xWujv$~er=A(ib7PtiS2 zOWI8q9YhJY%qm_E#HOJ48$fYaY8vNt4(IOJL&aUU7SN6kFO#pmOYk&`47&uBtK(86WSWo2cJj8MkuckkXof^us(wRP}&+%!55H}usw zyG*jeJ_Y=Hk4fSF4J$VKEPnd=Nfm+8%%VrC!^hmK{req~4XURBO?3l}lO2`GJ>Ha}%H z#KeY2$y5UdB`s}03hJ=5VBi2Kb>NrR)VItyd+D11i0|gb@CejBG(;ge6}T5m#UTD6 zO_8;~-S=k*CP(Igf!jcb#^h6SYBIeI;!4BP5AWo^#~W+?DrO7vih$d}%9>kHu$~cb z^p?j`!OZLz6nI6Tj)1cisOwEoN35^+f#uFkI2p#=RQxk2jE?L75~h)=41c2qQXoJ9 zjwaft@-D64nslqUhY7GYMepohbU8R9mA`GZ0_ZBbr9_etzjUs zIE-zC9sq_~K!R8ubQ#%d>Ck5X7*B`UwboGj*;Ty#JZM(|l$+;Vv>dF0PTJ3M{}Tl$ zH4${2tsHX5n(H{JyaE-g@vvA5&p=U6YfiU3;%_{lt*M|$f3#QHf6XWSgUUPK*>xdE zH(-fjLs+A)m`(O4&kG(!v}u#U5#LJvo3EQ;cW%RVD=6QpznhhPwku(nc~qD6Jxu4UwQu?L zkW#D{NKsL$9@!Yz`&_$}X*0b|EB1p)RpiXPP9UR_wgM&SP1@Akr(`9HOx zY~9Xs+2_~uI=NQo>KO+o880ihvP6Z3l2d%&yQFhG=I0~JU%YcNEQ}KL^p-wTKL4j# z1dQNSy7a{rYOmUOC`M7NGBnm0l92WOd$!^9RV5V5#B#tu**G~xhKCz|ayBg@9zYFA&wJS!m5)zSM)! z9Hb9^FoF;WkWsKGc{oP{#MLx|4doyR$P6pzLgt%7Qh=k;gT z?h1?Ym6)-4Mf9wN>1EvAOADrM5WCg2t*CVcZVPB4k0SSB&?^}`gC!YaKTyzFFS1iYIwq9Y)eH?coAsy8Vlf0u&5FO9^_CHzx z()IUIP9K?Mb4Hu4>~NHH%9XWl`u%5cM%$?{UzAg5=SN_k6 z3%}nPnLnNFw$<DKJ6Vs`j3;QHdiTV(IEbcgyMhz`>&cBf z8!L2qsUsFSD`vFRZ_IXjlYP!>T6#Vh zfXTglL5fWc@vX=pONL(L7vPt0>%T!NFFpOw{+kBK`p{3Tt{E|dw8uV&Z1&YjoF9ZI zIU9^hR?G7C3@6P4mGUXx4eq9qq-0`3K zPQF+tx}v9j5I0AB#ko$;KDbLeI-+oXx1CseAtAr|byaxw!78ocxCx%in%1B?*%Vnq zHN)t=2fI~QW#q^Chu4Dx=Y~I!ir`6BHTd|tw9vTmTbN76<}@iTXh*6#0W!+oTU&;Q!||hOZrh5rd?DqRwBN*HYP|IqWto5$r*2}_u1GtHlbf{Zq9G``fo!urh_;p|Jz^nkdTadS>kAo0` zZkvAV#4ILVl2Px9@^p<2E7`=S*V%7g*N%Er+AAfUw&QqKYAKfw(igM`!J}CdckTLL z!zC$A6LpLGjVtOmeHkNtll$Ay2v)J>g|I-R_ zd7)7n6cPe3eN*J7C_rui?g&~7%RIDiob6xSjwe^wH_$h5)2S>i=5?@`o^~?Fqr;(a zb-UopcvxKaZ-D)Z?LU7!A>sqTpWT(^jgO^g zY+U6kXEuh$J+A?}k;p{$-22_N?HS~pw)t+`znh*Vfs<%>mS{2(Nz$mcRzr!(?NDm# zl5fk($#HfOyFo@g&dqeWD-ZF{AT}-sJr!7a0lW<#yRp(`4Ghn`c9#_C!BhZXSORC2 zvR@qlF9u?#jI!Nd96~wN8jWR0tM+;-id1QZJ_NoMATR#&Li>-|6{i5do5KIT zjCDRzRmsJ6#tLtB42@L$Puw`w{*q2^||z^5szbqC%S=d(OnIG z*DvyG1YB01(c@mbb_Q95&F@8U9X&-Ok{B2o$(Uc#=?L2l7!;UW=Mi{jt2Ku$bquO_ z$wYblBHYE)v3}}2p*5t$aZi(=pgm~s3vbl&nwyyA{X_it;>~rwOnoJtvhc)@Nbb8R z9eLys+i6Xqsw0WFkJd0jWv7oic5ubi^(Rkt?H6y!t+~K;Hkdpd+Ye=5 zjN|^0*>Hy05T$!#FhcE0Nc^>W@6qh~O4!zp^w4P=8*}gc3~j~tvj@cqfFc_E)wv(6=)!@M5*dzFFYk2tDtU?|mH%)S-_pq=FoGy)$$CGHue*F!56a}MJ z1+f3xM`l<+EfPm;rL*?u%|>% z&l`A@YR?D7{<)XMYbl^VaU%618=3!sq}f)KXWb4f8yR5lG&EMsCZL}v*2G1$TB2h? z7xkG)rU5r=kzs`Obm7e8;aq8R;o@sJ%gh4AKRy*hfX zGE>A&;|5XHd{|(0OO1gOGQxZc_^crD)Akii`>H&<5=76{8{37&mxd$3)gjvRu5%O_+)rBH+@p-9V#GsuloL{>=2hF&BtR=YV6r!c@DpRY}-+Fn$?L# zwR_Ukzh-B{gBYF8dg)J3)m8ss4h#*=g1#(op4$Z>Utu2FFzZ@`dpdlcGA*Vp4 z^1TVa33REZ?pq0f>vRWH(#n7Zz%FerD}3#%KHHywM9%n1H7E?j4v#13$yLO_UP#)v zZ^O0&DhDQWuqP-1NC@5L3*Eg{O*6LxZv3FlXrw@*$m-3DSeNB2PR={2CRFW#wpLXwNZ93b2poUq?s)i_9Ks3us~MT*79NPlyB6qLEI7wu;u7`>5iWT0>EcJR_WV7$K}j&9m& zk*+1U(L7$+fNr2@;QfPKs*?7eo`VDOBc+02v+yZ4N3N5oz?&~mXPx;b22);?Snv}K zz52uFy3VYHUpvax2(#E?UytRuXrVc3r#@4pYHxG0q)fTy3dxyvf8U7M-PLZ??;4wk zG@-O@i`x+t`?0f7MxKETK8Ndg<25te9j=E+#yfXf%?iP`%)tZp5y3vC;vMMW04}@u zNCE8<);sp&_^7>8uhsn^fu)IfdN>a#Q98QKs>4`W)Q-}c5&)3f&tBkSy+jPySo z^PhK{sdXHu_X^REmY^9PzvI*N^tU6eG4Eia{Ng&zZKthG=Yxddo+mGLU&`=V@$HVK zORAS&{B$_j3&FAaiKn*Zd)v86AFGZs=axVIolpwb&&GeD;v9EpOqmA~H<0y!{Uh^u zFZ=aK2|Sp1W8*}X-Id1cPT4!0`hUb-EI<%E4(@i|wDiwu7ISWem9>+5p&&bT8pB_I zBULseW9hJp?t6VkInLHKnp4fGC1hGJwz5{)RrVe^hSb%X=*3%_|4{DRtsb|xV0SS^ zwq-rkn4i>kcNyTdo2ziLV06>(@t9l_s4-YsNB&Ws^qlRGMrIf&QW-5$BsudB&JN6> zo-3te;7xM++N{1d*?&?%d`Xgc9a*2<0oj@*zaxPnlNzWS#d!`bDqGy>>nm%niCPxe zOdt8CoU9}b-sORx#NFE1o%ARY}^CpVPOD|8~Tm;O} zr;|_YTUk&uY6NI3qMw|JDK_4NY-aUH{^%Tt{OJ=y65^42rIWoNg~jxWB*%e&V;J=CtU z%zktUd7WH6;^;+(?%A1u#e~)ADe}Vy&G_HqdMrrKpVJ;TiI0A6Ks2-q*wAE)(#egU zVpxyZBNS6A#;2X06?&kuIe)uNlqmXBS`ii`3W9^a=4`el9F=$<;ckuEnPf!B)cqNX~w?lAT z5+i|H;PMMOMt=oU4U4;Vj3~n=kF}m;HYju1W7Epr_LDZbg-Lw#=6fNnjTvyx3A6+w zb$~32f#En%S75GBwf^=oyso<~Q*)Nw$?Z~L9TYe^lqb8&?7Enz9aC^vWt+Q~;1#7b zzZ_Cni4t{8aGrkm+}bR0sWhZ&;gK}tO@tArtGE5C>WbVhpA9{vAwQ4nNX-k@6&YTw z#6?J3Y+*$|VLE|C+M+9tl!5~4pd#lLRXV!lfa?NV7k^L|CB|D!cGCnyg35u&Xf3Sf z5&kb^T|U+=65ZL9M+9n=irhKX^&Ll_MZ9F|S>`$-iqPH0r>}IL7u(;O zXPbKN@dE0v*Seg6G`I+z4qCh%kmqq6xf}!nC=UQ(%)!l#Ha-=>o1TQB?pW7w@`@s; zbxe~L#uz#cBe*`QEhOHRCGty-S0tA2!c< z59-$51go*1vt`&>HsNscK*=&DMy?*I9(vQ%Tfs={iKSoJWeiDbvoI`;8jwVY7j1?~ zswv26+QlrS%*AaT(wCK!o?UnGoy|!JMC-Od)&|A5q=?T z&Q|y1no4Y#!f#$2eO!qf^v%7`mzWjhKIn>QkZ$G=S(DOKk5UYE(s1h(>jWkUYXyql zIGhiEh#mAp5*s^mGKJQs=Y%JD`?~9s#TBxOW6SIsb3LU&nU;(=yQ|Ys+>wR|Vtj1Hyv!5*E2t|h zD4l@#gI(?m`CY8A?{-<$diQ>xF=)~;(rf4kscNdn+{~_c-74l|xKd!Fp)mC6W^{#{ z+YaU6_iH7e?Ehe4Yv`{)wo0vRGgcQLIGR*mVk&d}3IgMy?~qB3t)SR$J@vbMT7v7| zfU9+X$v@s{D?3^7$TjKv?4B5z1Z@PeaJ0F}XUcR9KgZX?rOlYWGWIMWWG5?|ix|0i z_)nl{A??o96UmW!PgajnGV|%M+WMbM8-*JZtNjDmUcTQm>Q2vBj4>bm>48G&a4}OU zQz$OAj^IY;t<6aWGoy*mepp@f{tB(C<)7@9DT~vif<$&}g;iT=v#a%Ny~@61iPp)N z#p+r#%N%`*bo;SaY!R2>$4J3?`uHlH-;0tjU7cIx#5V}@*2#$*%tt?ddG2w!qcNg^ z?i~s5<2%^AcU2Fu*bwiHE@}C#wdL(NGtzezqgvIq*L7}h-6Lbq{a#nd~FcJF*EHcRsRDUoWhBJ3CS{)S}+||+_ ztzLYN9OTRn%uIQ}YNu$e2SF5LC&uJxJ*r2Sm$<#H*aEyTo6|~4d z7l2rUQM( z^H!**bHW5AqfzT;*|#@g8z*|2xZ48?eCb(<^ldCLuana z9ZEOWEBt1CtkP*H(F@z5=WQCakQ`pLq~>8DkSX;Thgb408sK&Ay8-;}p3oL?@lYwK zUA4&*)=k8A8e$B2VVur=_fH5;kp9gsPG?Mn(LEBaUX6R=&SqF4=XhN{w{=gHU6Gk{ zgBrt{HFJZw7Re82&%`ayirG*^A(d>7t44$Bh?fo}z?3eu0@h`&g)nZ4kFyV4S?K5`ud0^|ktnKov_1VIK%AOq#u>H*s5bFbs^}{gKW1$jv9#!)-TX z^n5~D+uc1-caLBV5u9XfT(<~=p^)8+BcQfEoS(76@X6H?>j$l+$*$)ux3lnX1o`5> zC-L^hMKEaDhHY^5IHU&^h|a(o>}~bFimQ2pKTV9mY1fUH)jE@5LQT!FJR;JmNipR9 z5x(`WELfHIZLUR?vz`$3?G;Nw2Qf~K%}RkiceBhcmT(OrFXbw4SNECFj&=y$ZZI4; z$P<#5KE{x$;T*Yyu(^VzF=5&?$)G{1O(Hk>p59J4;wU`q=v7!`&zI|V$`NCa38=r* zr>f?bhRDlEt59YUyEUG$dRbE$zvWzDt@MH74ZB$`vN;^#%(hQByno6Zy@oDz@IY&~DIBjjQRGUjQVI5>YUC6fg@lQ^e z;w<-E5T@tdDy^qsFfc%%)L2kyA=ktU#D7j6v)PcK`-GEkE%Yk;qN=1>> z4r|<^ImYmVM;MbeAIv5&!e+Oj6~bV#`N{#hSVc@?xAfc_pXD9h6BA(+bag0ZDY#VM z4fBO|%a*FrLxiGZS7Fz+Jpfui~h-~ z(tbMBn|$IjUowlwzq?y;V9HDptlUiOpIJA4)?7uJv-{)^!x8Tw;ST zQYN@s_p5nIrj@9+jrkESgVy!@tt@>q^({5gY0l9*tktBpf>Je&&!kDnh^?pIzOg;X zl?-sbiAhNTQm#n_l+U1@=CDXYRKb!=Pha+vvRk|>H+;N(QAl^fBkz4+z|@BJmXs`N z6*mx?2(YXzeG?nnNHsV(%=vVa-ehgaKEL4;E5h=Mictx^;OkH4-wnHnsHnuO&EB9N zf^dLW@6zUYBvn*~E_8V1<~@k|palzydB9XIg+NzP8~IyKvy27n;WU`(OvzL-SMqZ{ zC8V*ot>e#cgKA0!nYo39-y?$i<@oi=2x-6f44#Ly~>cT@d2p7k{q70sD*UFwjA_9mU7gr+K5hpK1F7AD_3tp-(r(PIJx^cw%pGepE%*I2_;xTG z0!7Dy$}wi^x!|a64&TSe&iwIF@a5IDx_We`5ZQb{^*o|P!s2Y8NX-#`(D5kG^rS)w7ZzjcVGIOH5Dt6W>A+`4e_1UM;U*J_>KgO_rlC@1e2|%dQ|s zSxK}w8##$gy~$HXQ`YgSs9J5~x5|3H;g5HE=4BkgEgb*osljHRvEXPkJ^Yn=9pQ?HrO{zeL#ajWM*n(m==Q)C^GB^K zPF3yUkWl=hl%9kHWZx^s;8k_`_A3Xtze@U|lhyj0>nr)(cVA((RS|5iPmF2KGS}Hv z4{y6$Yr71^iTZ{ec}y;TjL8!@$pUq~{owOQBQ7WFv>)*M+iuxiae@T!*TQv30A-6+ zE%~hn@NF2sdo8!~4;+U?r5ye9-q<^y7M%^_gy5+ApEyw#syRYtm5P6BY?kf{?_-I- zB_xBt;TMeXAR5FM?~p-vnEHX4zgOG6QEPTE1o2KdmE%4>k+w1MSf8^T#{GWU%86qg zf};hyhIjPnFSi*B;wVw|a=x4LaJnis@eeq(^V!)k9ol5l1(`&6Jk&Q>Xva z0(AH6&b!^~$Tszz0;hVJRjm;SNnb40Ldf$cn~9~(0DpW`*fNRhMfRdw3#x?sxAbD8 zK1TW+2l#}~K<$uPiGd&_$K?nQZdHE-J<|QLj^J~l-1gu-Gf3)|oKSE)JryxjWZO$WMO2OsFiWubRJ|l`~y7mVC(g5N1QByd z;)uUlu#Szw+e*VHfk$QxrCoU+hE8t4j?`qco~`y`!y}CGO+9wJG1iJ~`wMs;rS>~* zm=^2`FAHSOIyDW!DHZZ)WUh7BX@*As^QA{hG@X_FU@-j4t6f|D`!H##XnFAt5{8Ba znG*iix1j4NnIvk>b~*D9;tT(K-}(W6fSczqkt0QVB0>EHmwJYM?zcVt_{T5%f2tY- zeBnv#Kx`F*IuxQJEEdYjGONsW$cD2c+lj8#J9%k8OS=U5U-WAmgG5*88V!4SoL?1x z^A5}D0^fn*D*3n!F^y43hZzh(xCU^Bs}o8memXyOKYsA>?WQww!n}pjAj_jx7aJl; z`hM$@b*8A3)<(E%l2opj0S=Eg`|H#VN+LCY8^j&eO z9qvt}nn*4ExuuQN?MN^Vxcm=0y!7c|o8K`utf`!@m0=r7nMU+r;Zc}#d81t4_q9KC z7LZRCxf_MnMSE>!T-?`nC<*r3vS~BZ5U6mkDtE6!Jq-4$+e=!m+>BGrdY>TtYChpp z<`@x_j22rP+zR{XhUdz`TifX}&?yAWX~ZSUa&*gUIDnk;M?2c!7_HC09w0?_!dm?w zSOAcD9Hkt;Q$U7kQPfd!n|S}=j+H#`h(cD|Z)Q82AnJhM@R&U>N&*E$zZ%-KP`rdBIim zJY%8I+*Yqf_*wL{iC1opxGuX~N@Uf)rRQVjf1}edw~DXvWn?JaQJCd9dadIw^vX|L zOUv$LjupAAF$+*gb>$_;rEN!EslKOI#FQ8)YsdyME8%Q8YV<-hN#A%9*{wVHOPZYv z$HTHOdLZ?bjlDcNCJR|6Y<6Lxa7(kjJ?lphd)miucSbnVM&pe_j;w8J>mVlV{IU|b zf`>pLAX%*seh;~Wf3hc})j16+VhfMT)|hRdi`VfLP>paGD|}YS@b^tDUi2py6%((R zIUz1lT2xQquho2^^x~=aP!p+cP7?`xc5t_$gG-lb6S3|`gHQxwrsM>b&}DvM~Ho{ZDj1dck$v0t1*BO8qhC35 zpG?Nal=J1gYJa**IqEOb73aMBGU48@hnmU=5Q@d+;3=>gF~=H#9VcktY)1+f9_O=7 z))_u&jlNv+ALY1BEY)pfaJ9P>^cy~x^KIonHpqii31>1ku|@&rEyTaXXLjyo=W!tc zSm$s~xGF~4Qiev`QAgSb4bd9UTx1~XbOV9thCp@LcBpKSeZi33bW<1 zz8@Wu%GE%s2C3*nw*P zn7i}CAN0i?^(D(cmb_?JYFlK>Mt$xr6{id2WPrQEZRMFSXRw#wi|#AbXTe{m5nyRJ zL8ypR2IxFVo_1t6m5!reer$}P?G(L>!CZH>f7s=PF6y^^tYAq?2G^=*Ge(IAxu8Y* zf_=wXDFI6^97acu$@Pr@0|(QmP)#16VY5Ojb(_?v!0)e$A15wvA16T?u(Nbcn}p`g zDlS~6FbgU!WX;B^Hgf9es5ov8?28um%k$+*$g{(L8Lnq+APdyLS;P1sk)KhUbaQ5c z)e{|Dld4854tcC3%j7UuliRMt|K)s(fy9D{2)!K$?$uAGy2jUF({5s55DtX+iN{4$ zioa$>5*rE`fFep~$Bw6&-N7zKV~faR#2jCx2EN!9j5dG^~DfnU<7?GQ%0^ z9zI5F5?+Q8|2~mS3lwz;#1C&BsALQz3cJW>Jp)zkA~67V0-l^ceSQFz)Q{D#g8+Gm zsIMKJzjFY4!d;0XF&^cxd-i+21-RIUhle1lfI^c#Gd6Vq4uaM`;O5a94rMP5?Zl&n>;e@mciLNr9z{00G1BM$ z{$SxPoD3mv^20;OL7?*lO`4zg8+>G}p5L;9PVWa2lUshy=u;Xs4ggsW4lPu@XIRs= zw1>GNmd3+}Z=W!MLoHp|qx=!TZby26)oBZ$35zy>*7+n}AT%%`F%heK>^@9Irdl7U z%%n*w*g^ttxGgFE%~1$Ns9*pQj_LX`MrwBp@xfpaG3SkKGn=E8&n>2>e>ZY4IFPC%gn+anK4-dF%P>pH`OhqrvaijQK0E6!jWGdxk!kqRqZ*Zb|~ zBI*WtGaptxe;b0|ZpaM|%+dnRGxU0DCW*cK_cNhjBXD8HwiFAAOZF{*qemdRjhGMz zCRLfft}fsh1_95#lyC=Rw3ue&9ypbLdcN`eqNhqH<@NHHC7UcQV-REeaoqp0U4=cA zqP0HaA--9-Qh*Nn4$A&8{PM8yfGFn@CN?2ae3T2IR6yq&0NWun**I*Q|l;8Xx+iWSNr5fw_ zwyO5_D8&;a=pM}rELnH3QESVpAcumdRk0}VkYfIQPm6p&&lB!ju*aDCWl5)E6y(=sMlJ%A8Zmkqmm>u(fIMp#y+%iC1Sg_@Y=eOn{lz}=77R5pNji?T zlFZ1H%E>s`_cBg2r{u=Eezmr!ZGJ)?O1b({emE(yoBy7a{$P6erNqe;?KmIeAJBVn zpjIY)3cDgp3b>_7BzD*j{`QQ~ed86g@W=ROM(Yb)58oS&MFU{WZazphx(cG-oBbB@7$M4&if`ddqaIk6SN_Z+yGH0IA-WpLjn_JvLyJN> zZD6IGdJ+|CYlBzE>A$yy4k6C2b=SX;@EUPGwCse_lICBxQ$|lKu8?t$yeGOkM|%-4 z_ZhbYaRlUW1^sUMrNNX(zdQfCpHLn`xC)@o5Irw`D^G5E_#+NS_2~8v7n4_l*D3?h z!POSFY-AS~v;SrQEJV;c(1AcrRfq`}gaw8B&+TK{5HZ;2fO${!bfb`k=LY&(NmA;q zFKNgWu=}B5fu!EkQ1~Gp({0k*P-^Hy3xX&DVg}TiHsd1j3j{PEJ2FM5_y-zBGfCsa z7+vY%hv7Hj_+NJ%7xQo+2s|R#^zdwPTTcn}QbgYcT^ogzgB!e%n09Y^sL0*MJT`hz z^f)E-9m#m?f4R{A*f@csZsVh44FUl-8h!8o$KPs)xuofXD!2!WiG_iUDfI-|gzB%q zwf~o*6RuU&);CIEVKYhC(B9c*wxAK%8@;z3W(2l)1TC9(W} z`Na^=c$iLA0W8hC??9*WbfatrZ0*`Mguq7)t<(s6{V-7cCxl=_T(`__NK6-e)oTpX zQ_lK*9SO=_&WL-TzADk7p`)uaX~HetJ^Ved z=gX-21TM^y;NK@}r2D$Yd!;|!x@5eukpVz*f#CWEhy+lKAfcep($S$JB?Ui9jVO8b ztqulydVuu-jhb^``SaZe?YlEDDblQd*8A?;^L>pRy=1cq)PVh+o!19bZZRC%4g2de zb%rS_m$9*LM8w35ND+uR!;1rOa{@*i39i6tXl0y{Yk`;mZ>$X=y5+&kYA78V>lr?Y^UFkA17$sI2zFMmTE zlL&nCya1#E9GBzScXa>Ys0cP5@2vqk{pint^44U98VY{~7$Lx?MpM*)QvT0IpCvye zowP!Z3!vx5rh#q!b1NsDa#fMh^F0U+0T6l~eoeNXk(%;Sua%&)lJcL6`keR&pOh6s zC{jI*hP~LOkLrts3Px6~B7=j24PMRqfBAB2*BloFfT(C`lRkfD(Fg$jaS~F}sK0MR zRo3u@v&H1?YlK zRl7TZk~!ocWa5pG&&$52aDWL1EWgoFtzC0L+ht&M0Hq~2Cx@RZl)HMn0fbCcpFR5{ zaj`3bmP`aA2cThqc@&Fhz&Q4KH*Rdo^s|PR*6wcaxgcgB{JX&6z{Um$q&UgG8{|8f zMbr2gK1Rb`x7stzrzjfW%M;eyr&qoq)?Z)lu!eI=6m>7m$Y3tZ0Gd3^10Z%}Yf*yt zh>VOsj3}iH@C0!g*(YK`dtjpPIH*O83=cCwdEj$#)?i`p>Z$?KFaC2toClT)s8^7R zgKH-6umRvPH8s`Ifh;b5c8Cvk6L>Yj&zhPR0hkX+)G7pJbxjR9ht|)zIr_*p5N8GJ z*QkFhqJ2AHg1+FVn&ngR^0C0`R(Z)bYYIwu)u1L0aPxKLA4YetCi`Cg`y3C^k5u}o zIEPy5e}7p|@DZg5d}7e_n8N zbI+OrJnDxTFIs(NXb8xk(_m(m1^1wyk^*XS4W!$~xcOSX!OH-T%?b-(Kf$c326=JS ztegCn;oFpz&MS`Rr|zXdkIpx&fj>?x z3s;^`;e!t@;W?%ng5tY%1K_*h)Lft}mHjYQ;gk^{KLMmT787gx`T5yaJh zrM#;>-BEaI^7+X(aBT!k@GJnvAYY$5vwrQwdl&8B1@@UX4p*d{coT%2p2I|hx-KLv z3}h}2fnadkGk`hi6+HukDe%=_R{xf@v&##A*#z7(peP>+PQOA=!heg-YM&J{bJUdP zODpX7Z`R)L4QgJ4q=$u>8UJ$rjV;O_$MyU@Mr#C}OJ=CO40AqHlo*W6I1AL?m2X;i z-wu6tn|23@QZb04Gb;lbpbG#Vi>qhk%>Z7`f5ryD`Nh=KRA6v{+6qXBKKO|*E-tQD z6a>PbpxCud`bCDv)5|L{Az^f;{|fD^pI|!EU||Fc&TpTK10PZEJu-8&lNdbT74Tsp z?7KMMx&W8If|oP37#1*e!N5g9QBj>O3NDC~jctxya-PT0(Ghfe3P6~kMlA!LB0jv-UCTONojKiz!fk&>x)~B20*ayIcg=t zeAo0Y%t{?I)XJ4_pMNA>X3__C2N27+*x5}9&|Hp%1+!gD(69dSO?JB47TU~Eae_hx ziFjjkC^Z!5?XI;T)&h@A%#c!tWFEo>IB()lfOG9z7;3o5P@U|j!W{nW;ctYXY&X!1wPvySf%XK)L`*9UK$hOR*Lo zXhfJiu|FIU1l3bg$uXL}hY}DTO3?J%SjK-PwHJwX2#v`E0ypkZrrD8M8~w`_A~v7<-q;O4{ytS2ByW&z$- zAgT+R_UjX6+=6rpKk+@io+A04X=+YzsqdOr|8Ay+xEpuhfu3l}p@k-rNfDN*gHXJE zn4FD3)3*KNJC=IzT{bzIGxYZMmFG1Q(E`WyB(bBU1`}U~tYLiEe)aL%`8*2@{?gi+ zav>fFJFiYPvs@@`a$|jN0wf9+71$;y?da{KC_QhpVVAf800)WdvbbA*xe}c5l#Rn_ z+rF%#BwC85oWdHpI_AricWz*!t1T!jAE^FqkleW;g-a>zi-E*}+<_Y8RALOht^RMX z`vILW9zY-B6A)-3hg_5X9!L1^LD5y~-vg(GKY&gwmGkepCNSfMc{N$tHSDCF7W;pB zv0gcVJz!4OLDU`0QmYVyyQ~L|ks5P!kr%G?7clpqRUfMvVT{z@Ry`ySh;dSmD5#PC zU#9u!V+cU&Z41550?7m&Bt`Jd&CGxgm7bOcu^rI&laK?UpSPRa@^vkcY6GNMOJeZUK_fE8x1XtgOJ2Wx^<@pa6?W$cGOG(8Gw2r=BpcLExm6#hZPC!(#;i9^bQQhf`WtTQ=!uncns?3 zAv9>`Sim!d|9yk-3({uHnZ<}V-|x7=8GsPPdQ}8@wiVUT?w~7u?ZEZN$u9^3M zCa_w@z!{{GkWy|#fd&C!brZUbUcfn*f_5M1Uy29`0SADCm30N^=)kw)jpYy)KK>de zK3;083k=V4?zn`6_2uOZ)hv#N_wdrQ<2|5Cp+n-kYt+MaK0dKeWTn0TzD*i~%Q^VH zNT;c0piql~AqfL-!20fl$Vfh5W%xfV0NN3FdZJfPpoEG*ot3SQwE6QKLsC~2 z4`D6uKbfHW&}=7PJVCSLhG=eX1ia38*)TQ2m}i)Mp4G_*ghXw&A2Zof;15f z&w_U_rv7|+;P+mZ!Q&N-W%w~9x0Tb6A)e6inmvXh3En^#Buy@II8R?!PtV4?lRdxs z1{s;gK?zLl^OvAB8*rfD-_b$F}AN)_R;^L0OH4<;(Ax1C37C1uJm@f~gGhMWx zn9t6_@(YwcsvYLB-QIuwYHDMXbA;sBUk6pwxrWr37;+;0I`2fW_o1QaBwkU`oS@8Z z3IaF@F|pdqG*}g3sk?xC-~kU5c>hV!(fi34r_8*(J8)E+QxCLtAn?(Ki!6G=#E%05 zdxGNV7ZX)YG>SYk)9Xwhtmi*epVF;^^%B1SXu4(sN)lm?|oELBkh3 z38YI~AVGtU`KdaYhZ*k}w4;IEuYrW6S{PCl7($(4;7m4%o`eCeAR3|A15zt=Q{-{QZYcK7tAn%%LifO9O_W&0Ep!8LJZ6WGc&VS9v<;ADmOvd zr)>K58rn+a1YMYB&C(J=H@l~+3u+KskdQ4;T#pCAvjKSAFTCy5)uSNSiJT!v6ng-w z7jZhUwg;uXu9ntk85bF8@O8i^(td)pZiQeQ^b5*5ftSk1Q26&rtffE%I6OK^|Mm^U z?Sb7|w;SEH z7r95(1#;{sklpYv>tX`nh(QZcUk5h=gu?A!S5?4mMHgUoK=lXV=y*|O=xvKQ|3V83 z!{mTHiW9WnDi|+n`LTy6rJ?htwXojaKd$t^&3^!HU*O>mOhz&qnkg7<{r##XI*Abx z=vxU{gzn9YF2R{Q%*%2M`w6@#*p6Z@8sLX?153GWdK*y|t>Hut#;g4T?c(gP% z-8=HSBw6(iM4J!G+;^WdGiS8WdgM%7pp_ocjJ@&VthQa}%}ICIO#2@&gsJa^3*`So%|Z zyokrXO-KgFa8W{EYK!9-blk}MeeL^yF1bS7Xx06pqjVo@y2rJiJo8Kfq69=Rw20Sk^L zK{U4^+Irg+P5!&jR^uY4Z>Cz$kb@fPR|{= zT^Gzth#&q6|De+YQ7JkO^yef%p1>z?YyNM(9q-wRfEOvqNk4e@-@o#I_}eoHTQ%?B TykLQZJ_k7&CF#6}MsNQY*0I(8 literal 42267 zcma%j1zeQd*DeYQQaS=6t+cctAdNb7Bi$iLqjZBJ0#YKv^6%fr|1Hc-W-aXlQ77Qj$nzG&J;EXlNHTur9(g zM1({P@Z-ueNlkk+H2iOT-{|x z{KWk6DdM;-O;-cZ+J|PE!y+Og$ha-~OP(qiH!BNds$^GG+^^JO3zr-%v(D*aYHDgi z(h@EoZM_M4l9+xu;isZ%(wWTkm6P5N0UtXXevUgog2rx1>mSI!$+flq- zwVUJU!%dZxPtZF$T4le`DRTV#QO7GKCSy;{!x$cG(xA2etjFI&#q!j0>W}}(P?Pf7 zBqX&(AJzsTsTmkDmijWDnwY3seinCL?!SYHiRtx|SuK~*c)Gp49bVJc)-Lg*yWSG5 z@1?oByHhV2_eTo9>LDQ9huSK53087?wbND_SR;E?OV5vg8$ig*8u z#XyDv)s5Q-7-iG<@02252?2uz`XZi(4$jWbAH*?Dl(JNwb|ulJ>D9WaI_P@cR?bq1 zjg4hcNTN-X2%}_$AUN7xQ>Dzlg2?OaCLDRuXz55kuY0@Nf(D*yDXUX`1EK) zA)aRqCgsJ87b7Dh{#U6&LqjP!3`AR0nH<7%vzfX2X=yb+<-?`od2I(1`pT@wh?v!` z^~|+Jm)=mzQaLy{xN+l#QPJ?%wC%A7tJuSxmFOy;0@TBHt}!$$?5Q7&1(*E(+em+0 z61%!V&@N|qKff(oC3YtUPr7sqak)`i;?0vU(Bn7*iE4n0#PiQ zX$#9H>M8W-_{~2LySloFvHhZ=qD)vG>*(kxDy9%s3Nu^SIXfrwJ2E9F@Y+tkz5Pf& zkzWi6u`?iDsG+N=rL|mgVn@@`)uo=La@g;|J@8uCTR+%vfkD9V)x%T`mi+EFZqiax zcUV|HmzHw>Jmb+KPTQzEvRNOmL~i#fh(yX3Zi{R&BhUJz&JNjW`oDgCsAe`+#(MNQ zIB2=S7c($Z>4P|fe1ZWE4#ve@pZ(v{jp_6nL{*Zc9wyxxz1c_KxU^l68b_ZkheC(-vt6nsukR@2#8XqyBih(O+9jYjkv!$E@36sW(0M?x#;{ zW90(;s0XEhQ*eOO`gjZdl*g9bDT~2Gm7|sERGp{eNpz@wpx411afbBE`Q&T%R+8a9Vg}GT=TpUgl!?{tZ!BSRQ>Nyj_TX(cB zKs{P%|1{_Z>+qY&$w>&|WNF60spFYEg@DDD2!;p-1ylFW#l;q5WowWlxQDc=9PSA8 zLNI!6HW5P_c@mCFBn9=Sy*kAyDYx$5uaJtMhYOdLl|hI+dW~D@dE}JUpz_%I{n1|f z3JxpDZJb89x$cw)$5)^2EDx}1eKueSE-fwn@L{I@>}2ER%Zs{>!dAl^5)#d(9dVl? z`HPEYWttt^(GpGB@0%LE+n9|Hx0iCiBnR9zNj`Y(C+C(Re>ha1lnTo^*w+^kNkchJ5)JOgn9p-(Xw*h^EAT^xB{Huc`}$qETW3caT?# zfW1_A^9bG9(a|J=Mm+ddnp`|j9ZRF7mKGMvD?*``5`{h88eii<3|q}Z z0UtIxz9@}^DLq=wDY(I=<8pfJdMdECvQiEEV9NWfb~SU@7WZV!x7@JtGEYmdME(<@ z-`J~AUA45d^z&VY*$}}|CXKp8rH*y4`=OMrKPbIq7R}wm9eQUCTk83 zwif2>_@+n^AtYS$Js%_>m=>ls(q*C@2IBMeUIpjm!0j;U$DC0aKw5+ak(84&VfZL| zOHxM0xXnzw7_MHall1nj!PBQ12Wy!F%iNZOzbzCbB_$OUl7-xP!t__#vOkS>FKoyR z5ogC5SdV@VjHJ6R1+_^VirE_^HTCjP0hJ7MNlA&O@$x6RcvDl;s6)q(85vuoruO{K z>+R^0Qc_Ae1K!7*nDIKrPp)XcPXB7+(PrYYu~C0^8VgIDz_+zhQ2*M`Z&Qnu-+@tE zIhkv!uyBVj(P6+lYx~O1@xj*daJADKDJ7-X_M+0s3hV9L4Xv$j0!X=2Ty_R4Y%B@%r`aoyj6y z3%`@;yp#-xkuOByPaBA5oHJS}KTQwmdk##lLI`Ay!e0`nq=#_($)BKqn zI}6Jb)x+H}+pPgjV?AoEI*&@V&vE`7Car{djSG8N+&L3nUADa+r66DB#Qw8FtpqGy zZ695?=Hu%1YEl*2qFDFV#+to?xwyD+aBv(wiE)o=Jy!C{`z;*x^pfU>8rGFI&mI(g z6l7%$3CPXMYn#lCDz0~i;+CYb;ySN>&q_#vL3c-=N$8Qu31-$WX9usd6X#QXKRXGI zo(1ZxK_S^k;^LPToFJ+@OqU;3BWxTUS@uSy(Iz0iEqld0Upn5n}sI zR6D~?KRH-PUg(G)DtX$~C32=?Pjl(grCk5Ec-y*z`FPtu2T%ig7+ymK`!jYK+5g$R zFHyjGx#ZV7I+>5kOAzzwd0GR2t9E%6kQoZer-v&Afti_^0VhBB`1oAi-M5HD4i{;5 z&qOBi-_M9dTpq4n- za`AUrz{tjtR+g6Tzp0!zCQWiOK7F#VR@{=EU*HS+SW&SLuogM{^Jj|YT5~AH803g% zDsLUGQl<5&XnI|JGYyTKS98UJZg|wCr_%{6V_u~UrV@erdYb4wsafr0-NMF_zP{L* zDBuk%;NWl%aRuWdPXuo`eHtWV=as>bQ*$3x3rovJ7gtwkN{ZBm50ejw@T$`?BGgW< zQVHvn1S&(Q;O*0}y8CM3d~0sr+n5sJ<&6%2;?O{rv!uK(R*c(~B($};X&C(pYC^Gy zXm3F;uJER)_oA5DvWKT9>|qJ&(K=6oqp9Cecx{P^qX9#0notUR-1j=(A0F1=xpNIm z>$BPB&j$25G+UXr4NQ&@GTuS1U^A7<07GRwDwy=-o-siBdn$Or)J-ckMUGg4BYJt`CgK2X%Cab1E* zb;O(h#{Bk-mP;$q#$x|jfMnOC_iFSb0`FVON?Ns8fo7wh&2wW_6cxJ@`0QOCZXIpZ zM_WDmU$Bui&b|#m|L)zpaUyE~%gOm279l5(Jh3=`NJ{?b zPJKi}P3_>g`e$p)nAaU(lX}!$hm}EVs5=1RLxO|hZfc)RUqo!;T$0hz7&JoD*VlJ? z{5G+DZM3vcmS6`kDXEi~0z=+mS6kZ*Z(6{Q-rimxk=|n7%mZ^3mHtA*#^H`s%@R{{ zM>KY+-=;sg%Ehw(ht zldcOCyGm!LCnG0k5M=mJ%7=!WA>@+14)5qkJ6lzHom9>9K<}BlFv(r+^z+M$Fp*Oi z09REv>fHBiAV%iwDgh(dIzB);IXOX3VmO4qE79payx&L~Iw5im3qvcK!&ktIfu6ot zi<;W+p_1JT0q6B^O-+&fmubQtFw4ive&W-N@Hggn+gtCzuB@!Iib3ZY$x$!x@j=V; z;~wjc3L1(W+%O}l_Z~BH3YFiL2b$2r>>j7 zngCXQZ)(!5^N5}By6^gD7NXvf?gZMj_mZ?EBqZVC;kgRwVPRLRAJ9d&K^M_+V}@5# z^Ow;VERA3!H3^SZOuoW@%sp`+GVb8s%EjELndwZG5A^C>Hh%$#*K{g1YI^hYr-3e6 z>Kh$eM-pBe@*{cZivtN5pwM-R^p^DE3c!wl&LH07XstXqS;f$By5jlFa9;GskF-uZ zR6rKM*fH_R840m%$174R(==F2yOtmYa~~y_6rr{5oa{}Ncrn-HeVJ{ENEUQWvvlR< z<#i&ehUkZMn0tWOc-wTy0nJ1)jT^M0Faa&ZLBYXKhO(GEj7jS~=VoTO*1R|M6QO|C z^*g#IxVpL?UwJ8={%fpXEB7*fvjeO}(Mw6%>p@M&lz}>IXNy!qZrj%ak+$_GWl0L@ zBr-BGPOY^rn=eIv-b!R@SXc)2PUhz3$L8{0US1HG zuv=A`27nv6PC$TzjUC0V-zm%*i(zII)|i%-HtefHMMXtSOgt#@&U&h$;l%`#JG4bm z1Ci89+=(xU__ubh#^1B4Byr*w6BoZ>R^ff-MRz7CWAnDd8{UWt`xK%%Q+1W_peI>3 zShXAgaZy8X^V`n{557B8(K3-2>?XLLJBnnvu`yEOA6cMZU+1)@)$8)rappVT?wkq3HsE51sV~iLm)C%@^gCl!7k5*@0479>{^l2zvh5j#m-1Yk1v*+`VJdgl8Ei zjj+h+{!Cjmd)t#@C=wb7|$OmNjHSCZCsO{b9BBQrCztei#f@cv@x(u99D0ae9oGoE?CpsAw+ zJ5Y808@eY+b)?Yy{NU$>!)UFj>5fcF%2#1J_$?wYFOLdDER34;*(g@+VJ%?CSov76 z&zO4$f)ukKpIxd7paJJ(!e{ z%*lu!Jo_xIM!eN{Riy9|kQnOA7X?QFM0|Q8lsRBgsgpmFo-kdT>)QNTno_>yB+AVv z-RaJ+g?5;oVe-kJ(R)5Kc#8Wjd=?=|HYN^8_G(@d1VD&Q{A^U*KfrYlBx5dz_TPDM zruMj1_*G4fpfG0ueaETgfEJnCDXPzrsauU*z&H*I#iYL;NPGRt*%5>+)1Gx}4JL^Q zhLiCl%M6xuENtvv9rffr%;@L0d(#$T^-~K;JmpcqDpql4LoD+kxPaE%`%HPL_l!F0 zbc#LaNePo&E?J6jq*^Rw`WFHkrCqS^hS#=Xz4`3tH8eC5_#NMbgheJMCcb^k0W?JY z>0waF^RMjMP;TWVC4WW}?UG_nmPkdj*X_S_TwjA0afNSgaq)+CHM>Tk=#bAS^xE|& zyJN*BZTF_c6p$gL+;I?demKM~`m8uOK~r8w)&tq99zUtisU7H)>)_pXmLH6pL*q^y z96}znH(LymvrF`S3nb8duqD(T_s!_JmDMVs^~8h(0JYK4LqG?}oD!G3^MCv<3Db-a zI=R8YL1@TIOgj!|!bDs)1QiszUcJKD{aIRA_|}nhZ*T8xt$d1U)UND-@8##upGVNk z{o=zzIIfS!?&;^)pyu2b_Ara_5kLUj$r>pn(6!ju*u^C!j~NM}4nVQF_~IuZ_G*_+ zBa*9uH@!;y&&;phX&49vNviogapsc;NQBLuGpDiD>2_qx%mR-R*iw zQqg4Toc2J>!^{k|oDd3hl@OR%W-hLhNB;OG_2nA$5$T^k0S8hYd9afA7HE`-I?pj! zl#Y(PS&gx{;oFdO^E%z;+>ZA*q0_|EQ1WhRX+aTt;}u2okD>tomPq(Rjb-Mu@M-XW ztc*u);P|7fOF>$?xUg^$7&f~2El8qJTY;ei!l?3{E<4_bg(>wp=i9&nIdABd=Iv_| zfAu;!9FWa;!z8%HtvbE*P4#gmQTmx!aoTp)=VgJ-cJk{iXtlUh!pDm}A7DOUu1#r7 ziHL|`V%&50yr7wcp@)!DqoKv%0u}ByQfbd%OSZC%dbn-=5*swnggcI#2nVtpDDy>2 zpj{do8nlefc9!}W1O;`v!Z|LWeUZJ@a52;8<;$0lA)uV3Ra6Ya0{5Lih96u&^J#hT z5AV()i~fJ(;r|~r{l700kP4uoahTiBw?B7wzKVqv5EkYQtbKgEHlXhiiuYxZpos|y z_YV(Ioy1`Q-0{xu=|{qM0Ph=ZR&UhhoQVUHWMO4>lv}=Y=Z^Wz_Yi<3PL7Uwi&ba_ zRsCpa{Kvl=uOc1(%u1DN3Ay|>poWbXRpiSg24qg)B1|WdR@=}}`7E8%t!t}eJKo|ug zjlNW!o}P{YK@0ytMs(X*PFG`_BLq(ahbA=r|JPTzEib9@p7AcR_;>^s4(!wZck7N`1BO?KDTH4yON4J4~Qth}R zj!b|3&4@k?m=y^zF>af24SPF4o>rEJRGt1*UKPMT{S_Fr&qgn!MVPK?o1qz`i3i_& zK-x9Y>V=F+Ogvey-muWq77rm!S7hwB*onDo9KguJBAcfMR8+Vm68Yf41FI%@8KDFe z4&<@b)z$rF+uEH$sN}<(z|0`;0TsI21E?v#)VV|A6%cT}xQ(5i>rmO#zqeB&EQE&y z+_o7}HQ-L9G;jsXv}#1bk&%&uv|}oM_!3zvTAG@HNNP1>G(}7ZeV^W^^YQtLEUh0E(gN7Qa3P5Btxv1Lw{Kh3&fR*rrTZ(qX-U}R@kI8hM)GoY@&^d^cy14XLw^}#rx z_dJFloS{Yi;_IuE?;fTy3ec*N9j`|Ze!Sq{Xj8K`Qj!tub0Ou%0~%*E#wG}nKuMMx zD$XNi0(wT z!X|5MX)yLK8qKOZ&r+5AIk zv|S>fJv~4F;m-!&qM{e>9i1l-sB^DX zc+m0vg`zI`@S`~wqNNZ*sR0rh05OO=b8O=PbYFEhv9Q}(@uiq``{M5XM6u4pUd#?PkWzz> zUR_6%Rf94ez{t%VDOYSNP96SZ*Bb~^tvt1^WRc_mjEfDhnP1~mw6d`y5C{)T&%;q zWT&w^2s9*MDT`SfYwHdzX+#f|_py?bWUl2$Xau<}R9d89_P8VJ9aq%E>Zs8;bR}U9 z9dL-*Xw%R!@e8Fo8nEtdA`Jok9A6FwV$;+qT`dQwRRtud6mb#w`1l?#0GFDV@k8Q$ z22|*gm0tw~2^}r)peFpqS)xM-Dz2S+U@QZU&WKp}Rdh zUJ!{4zJVr-ah)X*#lthJ=NJBYn(X=AW*ju?5BU0gU3N8VI{CK^$H!QWE zo*Ew7C)_Jh^1hexK>1;)Uh8_jcGn4s#=Qnik{Y1X{N~H?-^*OnXo5-!!v!9@QC{kBja$jGdmeJ z71}cHcmtEJv~(-XC3IvOIy$Hv0_bUMY>Z5R5uijSMf<&mH(_Bz9+tH#Otp?HQ9(gL z{{EQpTl<^Fpcoc-p9BSnIAus*~j|bR`$)R;!iB1uAFhRN9#!k*@%B$jgIP z8V1B6lA6z9QPIlE3RpZuQ*$#&>@Aru0P%=g8|hsc1U_JGZLR)rIS0t35X6qwOX8>93apk(|&hR#a2~(ZEFb24W%%fV|~n0(#jBhb3h>DinHR9V)dP!Vbw- zmx)z>2}A`p;B>Gf2rmF9nv|5}Q4FBD+;)nd`i1B?3?{z3c1$vAzjk6rU zcIotY3c%WR4C%b@Xhc0|XlY-`NvDJQ_lC2T@q_Fcha2uEMR6fB)t5`(9yiXteS2-U zT57(5+}}JPC`h}`!_~t>5CI7c)*>J>(Cm9K34{~S{brS94T*Y}cfO=D-RwvA&o)rJ zN}m1lZiE}ho`41n{WkR=(+bd@ki%j5d7TtdYf_C`lXs9Cp(d6aG+gB6E${E|hsoi; zfB&XH=I9fE-{0{YR8s!qGr#7>%+P#Qo?BQ5YWnpq@2BImLOA-xi>6&ka%Y12&d;CU z%_&yS0ygOrK^US9T8WDYvebPQoR;f-^ zBhxGx+roSc4K2k=vJkg5!M&bSxg-kX{GH`+|?62DQfJXW`zu3Vn< zlcmSO!eZQkKlui*QN>QQfU``$7n}fU1$w&65*yI00RO>EAT^NP{T!MJ%?B?{(v14- zjr;5!<<#;(<^o_^7{{ZBKE@kW<)#CH;VM}u`~F*}o1F`(Og6l=_R-^D3Iv4ABF>el zz<0wz#-VL4*-=YKObjh|3Uq8nMJ~W}0U%=83E1730*v9Fs;B|H52#>ZRLOm(`T&`lnhIMP zt^<1+DBC6AJ@+L542V4cg@nubJ)CZj<&vQ!hI{f?pSzjAsy=7NM&fYj^=$j3b+xTf zK!X|cGqzg+5dx|KQ2h1UMUSbMn=DCT(|D=?n62kIXmVO5via3n6GPQog5$xy$MWFo__sgQ_~zcN}!RT zf^7^*0ygxp=~YU>VaP!N0a%qfb&$DiZ8rc&1vVLVNb=Z>-}gQ}256qIUCzeK>pW6y zLd>SK58WwrWNrBooY_Wmt&w1}0f4Cq!=MuJssY#(6BC1~RbPJ1%z)u!d3N?5pe#rU z^;?|+TFvR{vj;xKm64loZua}CkrcGv%~79wON#po!m;I2E0H~~|BYjD9Ipru*SqsJ z@+Lfv^X(+m{Eo|n@hVJ_P>&Trgo}VK4C=Z?DL(^)#I0){2XoOLO^{UydSGdoN^t5t zd8U9y2Z-&_1g0>89;lNeAANlvfy4$1Y`mUSd!uv$8rTqumsz5!9GRH- zstqwMj@QGm96qzEy+%+u&U;stXiJ+ORVEa`p;h>?-J%Sxc>oiz1 zL1Y=G8k-l`^b4Fqphj6kUIg50)1A@){*rg`If+GJib90Xqq75w%bvJ|pkrVF${9#* zkmVh~7^`MUk*I;&95%dVaxB zJ>H3Y!$3o0Bs&$bNu%903ar%_`gj5Kk3;}3u<6eJw6Ozw1GP^Zcx!-3+|h=3F_1F4 z%dE9|B-GLEeVsRf9e@ahOh(RU_YoRqP&`0Nh}&xqSOg5#pWp%X!r+g3h;Ag%OG_&& zIo>WN&3p!5(5T&h|9mljGXs)@Wq)S)g=*N5T>b(YpX6&NGyaeThK0fAJA>`}>LH5U zMy(KtYAENIWfA-rp#&mcGL(M5>-a3X`ge%KO2TWta#G zVUK+%sM7LLMG*a2D$A>@vPiH50ZR*i1DOc6Y1)~!uOoOIzkK-u91!G}P)eaHpc8<# z>&5*5zd)imfkiC0nb6YFVTow@9!5n)K(Ga!JgE-R`uaL_;95mSO#qf*g}^KYR<_BM z2fn~7tc<>&f4;N>H{)}_;lzA2ntj;~p_T^`Tr&F_)iJ!k^Vmh97RVbY`PWeWG7)wY zJcn`d0s`)CeY7;_o*TkutSm2BO1HXuyiO}mugog;ClyG^ke1#>Myf)(9t-gGZ3G{f z%UA(KHq3C4=Qnpm_JD=o!@EE;L+5+La-^7U}N7emh(slV)-b;rN-?^0)%a`mW9)FdPD#(Y$ygEus2r6WDO3F{* z9bh;-DSZi$TW#tyGlBje0Y8!u9m@cKoxI#!4bSB?<*a<&>OrtCqEpT;y(xiG1n&aE z@%ha6Lo11`3dtF|PoKDUW$~i9I5{=mSx|4@Ec)Ld3m)Y;WU&nOHF;Sdriu?}rPY(9 zBDRK={PR!ut{*=P9^JW^{qlj(vrO#oviT8P>F4xXbRw)0>>$q_Am`0|pY zG_0>MDD1k)zs^FT=yJU^c#x>x&B{7U&wez6OdTYC=hh;K?p#?xpCt%{RmJ{ z(1kC8z6v&)K*l?FS~@%Bx8z#fTERyU64KGuR#H@CSm4dWLJ0xh2b}opt>35z);}Po zJ|aI`Pd++1?ro{7o|nbLIbI@i^6>?4ZtKzh-d;Np(x7;78u$W72K{BF!_xJ5a-ib| zgK&0=Kt{sE^oKAEgLDmJfI$Jr*yF)&==bAEF{qY}gL!sZ3+Sz;8c{7z#KRg0TQf2B z{{9;957ssPI=r!*m1i-p`)W^kg$XCteWN5_ER0IU?lELfL?Cj38w6-mNdCxsU@ArD zaRDE0uM1)tYz@1sBac&A0Z3l!0s0&WMIvl5Q`7l3M9cwZpnYEc_CYNNWE=`|a$N25 z?3fmTvR0q+y#FcW5UES=^2vL;-5q9naFWGxyGA*?==Pt{@tPSL_EbCDcJS5J)d82d z0G>SHcr;r=3N%YTrR5w0#Ryc<5jagoo`9+ErLQmW2$ZCxhskHh8Sge>vTq_N5pkJM z5i5b2n~Q$P{=z9U;fz*3etsrG>`3V*dJqFIqN4-OU?s$6Wo1R-3<82iVyLG!y&nS= z8G&lp05Ei~oD22=#MJd3*x*Nd8}%SJ^FY*_f#L=>AeKr?=x0E6CnO{^>pTYI6o}Vf zW^Si-cPlC=D5NS5Luvry@cVLFGDuF)C>`!?uoGfKV@*O%?g4XHQ&R(X*WA>k`d|Px zZtN>jcUl$XTu2BSY&8QDbmBTk_c`g)TJ3W`e*6fm;O=6NFRvpiLjs{y>~Zi1TqF=t z;Qqs<;D68Et5s;w0DBbvpB!>OsIIn?f*o?u-$9oh5de&kxwW;B)^h z>k>Z7ot?~(jfE650FD#5UwS&aqK~b8eOo{f{oKrj{&6r@6TEH#!NIt2$HBp?BP9$$ z48p=*kV_#*<3QC1J{us~;`+LcxjEloh?boPeXkF81I^dC-z-M87b<(!!aJBN6Tg2T zE_OGNeg1qCs)vSVx^nu*k082%1Dak?FrllxwG{-CI6+s=cp5_NljCEsKS3h;GvPdS z2@{hY+OdGkxHo_QY6=1d_I=e9q+t}W0;r>1{GoUj{g^QJ}kJ*DQX;o4f%=Q}812SPcUrmPCSMcyn{};k38H49wDG z#dG7~Lc>FKz~!QjqAyhmK3`9?D~ea`Z16|Qvw6&)kW9p3SY@6$g|#Akfx@GP6mYgP zq%U^vYDHxpuj(IPzy1OsoC}TK4EV`Wm`n-uA|0Is9T|m~^DmfSnB91bF6| zvT`plAsWkT%%*U4NHRx&a@h20Tp)1Z&jD+WgDqUhu;$tHOZW^fQ(XPYzP=Iwub|*q z6@#Tfuo`+|4hk2f*&9-~Fq=goe#^EqAzx#>N#l$=CNQhbA!K{tF)KO%)gJlrU=cD~POvA~i%^OSJO_xBotFc2F|fFw z!sZ0d7r?3e?kXS(2I@hx zec-!huM|D!TPLfX3+82uG-_-n_^Dfe{9tsd0}lv_Zjqot*totwLK`7%BU=c|y+&J6>QLV^MSj2tWjw(KsQgM0yY zJa5<&AhNf?ww&)w)V3pmDhu>B#H85{wXCcxEj6^2hYR$YPoB`8ZEwyrLmmeu@iHYB zj37kxrAZaU4n$Burj+QCTp|-YBjb;O0mr5{M7hn$B_&*l#QV=5qWFqzfY=3ErEdb> z059>`?5;`cdoahtmD!mhnV6WQhbqW6C z4#MrJ03C{3egB@Yt{H?FbDK3tdhlV$&yW&Z`&CV1M)&l#IMlfRo1IyCB2=oS+sCJy z_;Y&tIY8`I7K37#h<6bYLPA0^o*Q-#9yCBYfW4>VH?aq=C@U*NOL6|0Q*0H0ZwE_G~rp=k43Kt&~?froRW_$i7^vX`nPQjx^zn?J?%?<6M3b{r6WR zJ|M16Y_2QS`YmMUH_|*rADEVSrAV?rxq0ms@L{N~3lX0rgG|PE+uME1vExR?Gg9Dq zr$cEOZM*@l<`Z|Ts3eIzDQapsG2mZ@L5cezS?+RgsinFT4Pm=9VD=D-i)cRo5Ds=- z+YHnj-S1;!^&EG0iEcM!3u_s_A5yKD=}2WlLu>u*y_UaxRxWbC-Zx!u!}$H%Y$DKR zfZ}x86WKtJdwLJeot14z4+lAinm_j6Fi1TobyPkKZ;z|x5Y#m0Kbidz_=E2`I-;q4 z@gARGNU426#4}9j&(N~Px|fcs&)y<>S})|$JDNv@KYkm|e6}4uwyofv8>~}VWSq+e z^fz!%OeV90t5qyGp>+j2rPtwPT*Yhl5-u&*|)T{CCSOS%|Q#tm(IhHb$M&+-jg(owQAf{ z8WYB$&V>&jJ@P(WVn{Mh1md|PjvK5nlJfGqTU+r0&TNQ0%@Q!U&B4i)4$utR+9D)r zVK;-G3GJL{(NZO{zo0a6kQQ!6cs|lV2-*{XZNOcZ0W7wEFAc;AGdL5+$HyVTdw6&p zA0N|RZvo%Z*BfA$0|Vo-1eNELnoKzU#w2F+bdAEvWFdwJNf@8BLJ`+nutPSvbmyjP z>R}8p%g<-T-QAB0>JCw|wN)qZAX6?gcwkbahBCI%m(c|j4ji94Iouh!XjG)ZNC>iM zoKNxrKT#J6gtB zm$kreY&XH0M|Ir9Kp&&>1EZUE_a+~(#J_}zP!zWdMMh54z2}Owboo`!NFM* zKLP&Q{u7w5q|>uUQc!D%XiIx3KXo;S;u6a~|Au%;2&>tRPbk04NvG2O!4Ly>S z#5$Uw-9l+TWCE|_fVU|JX>~A&MA|X3g9CZCRr=6gb zZ8T&uGW+{;B)Zm)z554!%W5~AuB@S>C$of4W?MrX3EE`6L_1axhEgad9qbtub)H9) zpyAxUJsree$8pZ4s~Xt3Xj!@0w9B&R=|~%~i+43Fo33Ap^7CtgQ%5&gG=9#{N5#c~ z2@9GeOk+$`n|H@b!zr+~bTDSsrN|)UZZk#>(4uiPl|cQh0g?nK0UQu}!t4V1a@0@g z#yH<6yzltj)b_H4(oL9ky;PQ2#MiE&JPXuDc?WPLtUbFuMqZHdgB3r}+i==JmVvV0 zx2KIWHn_AQd(hL>U$2tR{rU0CAeDoKDSxv(5-7~E8dt7ZJbSBIJ-YUfA$pbF9+Cef za0r8n<@`6n2^TjCnNPIFiV$ORQL)E9zwm(#7tL#?#EG)%!vB7rgi>x8uZ?io;lN%+ z_e7V&9CaYWM-NF0=4>^2fA7m zgJK0AvJq>kL)-i>*{?pQif}kQT^D&$x?am``Um}u#48A{Qe1DAn_M3VC~@NG&-wpS zDJ!>iSiHb9iyK>d%*M?Z`ER2tOeVL*lJNtsR~T*2ZkoMU_gnhr%h~$r@prWNOw2qx zI!sd4(fjiF^#{M^+O|&fbahr`7b><{{to7I4>NIG!G9?L{pjkk*#UB0JNR;%d?~7m zYu+qo^dc!0zOaS{y~D;2aH+Mb!N>rxRw=jq7GmP8#vja&ZyH2Dz=%IF@(7g=EWd(G zW@PHb>BORF`1ddEerpt#ou8;RcnH7Re4%;RIIa7N@k6j3iAjy`)twa8!3Et{M@9uD z%`e?w^T$1GSJn7ljrD-tw72cE&Y}<0y?@0Xok~?hdf$M!maB}E2pGss5=xvwAr~YT zj8JxwRfAy~wP-#)Ddh&beyFPP1q*dasNASp+|4vg$v#tLkO;)vYhzEje*_(5u1NNs znxY!|w%~te54PsNdQMJ)UcXO(mUbOAHT4_0u9Nk0?K=u8t3@eG-!v!Yz}{v(SrglS z`L#L6+t_VRR$_hw`~O-ne^Luhw@ zL7AfW&p?Dbo3%pWZRe}zr26}!?lP-j1~Q7`sC}g;S>4A;j1o`V4;W9#J{F%pyaO7zsRvZmWNWmBzQ?{u5Xu>dex{m89PA3-9-LlgDr;lr11 z<R6L5KuD6p2hm|2%_q?fn|4vO9v zuwP~+3y;7-NU4WrHu`d(Z<$QODBU&kzVE{?VyIy_mRmLLku)py6ODZPZ@XJua~~s4 z`f6(PC+nzj@4=ycgTmm1mo3x0;kuF1;jEq{WSc-mr0y+#xE$~ncXsF`D!!4 zINds#8k)zdj~F2-qX0=%Z`X>yS+&RRF|!*?Ev-d?>Qxb*H<70+aP$_X(mvrqeM^9G zvm*0m^ow{tE^odX`hS`XS&B^m;cXp2=&e)L*#oMnd=_SO{`$NTREpG_+I8ArnpA zj{JatiA1*=*E;H>v&)<+Ph?;-x9RW|pN`O)33&SpAa!hirL-Ka|vQw2FAkq&bK zush-}TUnj+6oQ9OMRy@S#pKx_gu0~)Ev6B-VJzMyIY-Gu9j_(2s0RrUGO47yWQpe# z>SWt67Ou6bCu;e8Ds#q0h%DWjuHWIY$Q0x*8opZsOkjnjswW8FXlU)DP{#NZbP+wU z^f1w6NXFlPGa%zPAV3aGhL^KR^;;N9* z7MFUc)%C)LilPB))ct&smBUwP`w>3WvihbzJ~m*u0{0;6%JGX^mcK*8^ZzzU91<+m zZ(>JUhF_@A<<+$E?O!8%qZ`iJp&)0#ZZ&B28-D;3HNP!^3`1BLFG1?SyUFoocp7TbG%CaEZ9HSUB3~Eh$!eW<9 zR#TX8T~)1LVdOXfj{;KtG#Ij>1<3%h1ALL%-$S9wGRYdThsO4_2&`fwidM64)IL?r zkuk{WrX8faW^sv2t`KBbFgkZIq$@80tp#9BP*Ct5v1Q+<4nU}N`@e!foOM`M(YC#V zjuw*v0Mxu=6JO5o(jaBqJ@YwLx@wGvc?O|Z)XdBlfxRW9qUxdt>rEw`uA~%lqh(+? zIymS^6o?Lh}UJ`Zi=MfEDNZ*=O@_#)W!h~(UNCAv5s{4Qv?p?i4_F^5nR7w>4+oZE#XDz;O? z#uA1YFn;UtiXJ%e2O_*yts8f|J#fOG_qg|i0e<+1OPKtKMSBZM2LE2V3KumgpWp@ zExdnQj%BG8QFhWi=SX4bzVz&L(~+&gf5|&Of6O(^rp7@VPePRoXnuHbFPKdvW#+Uq zH-LBt?UR^}4tes{@qs#dyUgNGTABlP)tM%ae{$;FZ^c9yono7LK`sB*74_bpb6#I7$nWp*~+q zWIiu1S&phZ0Eo62tX&IIlkMI1_h!^got;+03R67~QlqlJW2}7j!+`@dVC-9%2a6U1 zHAq6>endGg2Z()yfqH`jD9I{WDsXbbEx*mi?lJ}j93_bl_^5mbQCU$DqZ)fR(M3^w z#G#clR`%94XlNWuDQ_HmI5uu{so|Rew?l*K6|Q#?Qy0S|1%fucHUN};#vn3$*qD>1?wo zJuK-G7I^;al`t8Y>Uj-@9J~G(6M~AqP;PLQ1di8AIo-i2mn-*L+8@0H0TK z{4SUiV^T!?2xwzfwGQ`j^ z7Q?xSh_`RMfh}mYg8GvUb=D?l;0h33P3_xI4zlLsRhOgyWg*<(2E3B*^k}~X!41IG z80$5E!7>3$q%_z_OJSIH;KtO}#>BuFhaChQ@1fN}MzR+i`+V!~-wd97;4Bx~W9=c+ zg9EHm$L85*h&7a@02Ct_KeVA>@kRB;zU7zE&<2=jGQJ3Gx6b~)H#pw<-ruB4L9Rli zMEj)N{XQmDns;2)*5wUxeEe*Epiiw=Z*C8OB>?>2@RcDca6%0DY#_tw(;z+Tf_EJ9 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�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
    j+9rW^)V>A{ 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 S3I1th;LujTd81s_D*Qj=5VF?* literal 0 HcmV?d00001 diff --git a/src/main.cpp b/src/main.cpp index 84f6d06..1887932 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -17,12 +17,12 @@ #define BENCHMARK 0 #if BENCHMARK - -void benchmark_powerOfTwo(int repeat) +void benchmark_scan_powerOfTwo(int repeat) { - std::cout << "**********************************\n"; - std::cout << "***** power-of-2 (repeat=" << std::setw(2) << repeat << ") *****\n"; - std::cout << "**********************************\n"; + std::cout << "***************************************\n"; + std::cout << "***** scan power-of-2 (repeat=" << std::setw(2) << repeat << ") *****\n"; + std::cout << "***************************************\n"; + std::cout << "Elapsed Time (ms) [Lower is Better]\n"; std::cout << std::setw(2) << " p\t"; std::cout << std::setw(12) << "CPU\t"; std::cout << std::setw(12) << "GPU Naive\t"; @@ -70,11 +70,12 @@ void benchmark_powerOfTwo(int repeat) } } -void benchmark_nonPowerOfTwo(int repeat) +void benchmark_scan_nonPowerOfTwo(int repeat) { - std::cout << "**************************\n"; - std::cout << "***** non-power-of-2 *****\n"; - std::cout << "**************************\n"; + std::cout << "*******************************\n"; + std::cout << "***** scan non-power-of-2 *****\n"; + std::cout << "*******************************\n"; + std::cout << "Elapsed Time (ms) [Lower is Better]\n"; std::cout << std::setw(2) << " p\t"; std::cout << std::setw(12) << "CPU\t"; std::cout << std::setw(12) << "GPU Naive\t"; @@ -125,13 +126,15 @@ void benchmark_nonPowerOfTwo(int repeat) void benchmark_stream_compaction(int repeat) { - std::cout << "**********************************\n"; - std::cout << "***** power-of-2 (repeat=" << std::setw(2) << repeat << ") *****\n"; - std::cout << "**********************************\n"; + std::cout << "********************************************\n"; + std::cout << "***** compaction power-of-2 (repeat=" << std::setw(2) << repeat << ") *****\n"; + std::cout << "********************************************\n"; + std::cout << "Elapsed Time (ms) [Lower is Better]\n"; std::cout << std::setw(2) << " p\t"; std::cout << std::setw(12) << "CPU Compaction w/o. Scan\t"; std::cout << std::setw(12) << "CPU Compaction w/. Scan\t"; std::cout << std::setw(12) << "GPU Compaction with Work-Eff Scan\t"; + std::cout << std::setw(12) << "GPU Compaction with thrust::remove_if\n"; // Test on different sizes for (int p = 8; p < 26; ++p) { @@ -139,7 +142,7 @@ void benchmark_stream_compaction(int repeat) int* a = new int[SIZE]; int* b = new int[SIZE]; - float elapsedTimes[3] = { 0.f, 0.f, 0.f}; + float elapsedTimes[4] = { 0.f, 0.f, 0.f, 0.f}; genArray(SIZE - 1, a, 50); // Leave a 0 at the end to test that edge case a[SIZE - 1] = 0; @@ -157,12 +160,17 @@ void benchmark_stream_compaction(int repeat) zeroArray(SIZE, b); StreamCompaction::Efficient::compact(SIZE, b, a); elapsedTimes[2] += StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(); + + zeroArray(SIZE, b); + StreamCompaction::Thrust::compact(SIZE, b, a); + elapsedTimes[3] += StreamCompaction::Thrust::timer().getGpuElapsedTimeForPreviousOperation(); } std::cout << std::setw(2) << p << "\t"; std::cout << std::setw(11) << elapsedTimes[0] / repeat << "\t"; std::cout << std::setw(11) << elapsedTimes[1] / repeat << "\t"; - std::cout << std::setw(11) << elapsedTimes[2] / repeat << "\n"; + std::cout << std::setw(11) << elapsedTimes[2] / repeat << "\t"; + std::cout << std::setw(11) << elapsedTimes[3] / repeat << "\n"; delete[] a; delete[] b; @@ -171,12 +179,15 @@ void benchmark_stream_compaction(int repeat) void benchmark_radix_sort(int repeat) { - std::cout << "***************************\n"; - std::cout << "******* stable sort *******\n"; - std::cout << "***************************\n"; + std::cout << "*************************************\n"; + std::cout << "******* radix sort benchmarks *******\n"; + std::cout << "*************************************\n"; + std::cout << "Elapsed Time (ms) [Lower is Better]\n"; std::cout << std::setw(2) << " p\t"; - std::cout << std::setw(16) << "std::stable_sort\t"; - std::cout << std::setw(12) << "Radix::sort\n"; + std::cout << std::setw(20) << "std::stable_sort\t"; + std::cout << std::setw(20) << "Radix::sort 31-bits\t"; + std::cout << std::setw(20) << "Radix::sort 15-bits\t"; + std::cout << std::setw(20) << "Radix::sort 6-bits\n"; // Test on different sizes for (int p = 8; p < 29; ++p) { @@ -184,7 +195,7 @@ void benchmark_radix_sort(int repeat) int* a = new int[SIZE]; int* b = new int[SIZE]; - float elapsedTimes[2] = { 0.f, 0.f }; + float elapsedTimes[4] = { 0.f, 0.f, 0.f, 0.f}; genArray(SIZE - 1, a, 50); // Leave a 0 at the end to test that edge case a[SIZE - 1] = 0; @@ -196,13 +207,23 @@ void benchmark_radix_sort(int repeat) elapsedTimes[0] += StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(); zeroArray(SIZE, b); - StreamCompaction::Radix::sort(SIZE, b, a); + StreamCompaction::Radix::sort(SIZE, 31, b, a); elapsedTimes[1] += StreamCompaction::Radix::timer().getGpuElapsedTimeForPreviousOperation(); + + zeroArray(SIZE, b); + StreamCompaction::Radix::sort(SIZE, 15, b, a); + elapsedTimes[2] += StreamCompaction::Radix::timer().getGpuElapsedTimeForPreviousOperation(); + + zeroArray(SIZE, b); + StreamCompaction::Radix::sort(SIZE, 6, b, a); + elapsedTimes[3] += StreamCompaction::Radix::timer().getGpuElapsedTimeForPreviousOperation(); } std::cout << std::setw(2) << p << "\t"; - std::cout << std::setw(15) << elapsedTimes[0] / repeat << "\t"; - std::cout << std::setw(15) << elapsedTimes[1] / repeat << "\n"; + std::cout << std::setw(19) << elapsedTimes[0] / repeat << "\t"; + std::cout << std::setw(19) << elapsedTimes[1] / repeat << "\t"; + std::cout << std::setw(19) << elapsedTimes[2] / repeat << "\t"; + std::cout << std::setw(19) << elapsedTimes[3] / repeat << "\n"; delete[] a; delete[] b; @@ -211,10 +232,11 @@ void benchmark_radix_sort(int repeat) int main(int argc, char * argv[]) { - benchmark_powerOfTwo(10); - benchmark_nonPowerOfTwo(10); - benchmark_stream_compaction(10); - benchmark_radix_sort(10); + constexpr int repeat = 10; // This is very time-consuming + benchmark_scan_powerOfTwo(repeat); + benchmark_scan_nonPowerOfTwo(repeat); + benchmark_stream_compaction(repeat); + benchmark_radix_sort(repeat); return 0; } @@ -353,33 +375,52 @@ int main(int argc, char* argv[]) { //printArray(count, c, true); printCmpLenResult(count, expectedNPOT, b, c); + zeroArray(SIZE, c); + printDesc("thrust::remove_if compact, power-of-two"); + count = StreamCompaction::Thrust::compact(SIZE, c, a); + printElapsedTime(StreamCompaction::Thrust::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); + //printArray(count, c, true); + printCmpLenResult(count, expectedCount, b, c); + + zeroArray(SIZE, c); + printDesc("thrust::remove_if compact, non-power-of-two"); + count = StreamCompaction::Thrust::compact(NPOT, c, a); + printElapsedTime(StreamCompaction::Thrust::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); + //printArray(count, c, true); + printCmpLenResult(count, expectedNPOT, b, c); + + // Sort tests printf("\n"); printf("*****************************\n"); printf("****** RADIX SORT TESTS *****\n"); printf("*****************************\n"); + genArray(SIZE - 1, a, 50); // Leave a 0 at the end to test that edge case + a[SIZE - 1] = 0; + printArray(SIZE, a, true); + zeroArray(SIZE, b); - printDesc("std::stable_sort, power-of-two"); + printDesc("std::stable_sort, power-of-two, 6 bits"); StreamCompaction::CPU::sort(SIZE, b, a); printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); printArray(SIZE, b, true); zeroArray(SIZE, c); - printDesc("radix sort, power-of-two"); - StreamCompaction::Radix::sort(SIZE, c, a); + printDesc("radix sort, power-of-two, 6 bits"); + StreamCompaction::Radix::sort(SIZE, 6, c, a); printElapsedTime(StreamCompaction::Radix::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); //printArray(SIZE, c, true); printCmpResult(SIZE, b, c); zeroArray(SIZE, b); - printDesc("std::stable_sort, non-power-of-two"); + printDesc("std::stable_sort, non-power-of-two, 6 bits"); StreamCompaction::CPU::sort(NPOT, b, a); printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); printArray(NPOT, b, true); zeroArray(SIZE, c); - printDesc("radix sort, non-power-of-two"); - StreamCompaction::Radix::sort(NPOT, c, a); + printDesc("radix sort, non-power-of-two, 6 bits"); + StreamCompaction::Radix::sort(NPOT, 6, c, a); printElapsedTime(StreamCompaction::Radix::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); //printArray(NPOT, c, true); printCmpResult(SIZE, b, c); diff --git a/stream_compaction/radix.cu b/stream_compaction/radix.cu index c669ac3..ef76561 100644 --- a/stream_compaction/radix.cu +++ b/stream_compaction/radix.cu @@ -42,7 +42,11 @@ namespace StreamCompaction void sort(int n, int* odata, const int* idata) { - int digits = 31; + sort(n, 31, odata, idata); + } + + void sort(int n, int bits, int* odata, const int* idata) + { int nCeil = 1 << ilog2ceil(n); int* dev_idata; @@ -76,7 +80,7 @@ namespace StreamCompaction checkCUDAError("cudaMemcpy idata->dev_idata failed!"); timer().startGpuTimer(); - for (int k = 0; k < digits; ++k) + for (int k = 0; k < bits; ++k) { // k-th pass dim3 threadsPerBlock(blockSize); diff --git a/stream_compaction/radix.h b/stream_compaction/radix.h index e6c834f..7dbffe3 100644 --- a/stream_compaction/radix.h +++ b/stream_compaction/radix.h @@ -9,5 +9,6 @@ namespace StreamCompaction StreamCompaction::Common::PerformanceTimer& timer(); void sort(int n, int* odata, const int* idata); + void sort(int n, int bits, int* odata, const int* idata); } } \ No newline at end of file diff --git a/stream_compaction/thrust.cu b/stream_compaction/thrust.cu index e940160..210f9c5 100644 --- a/stream_compaction/thrust.cu +++ b/stream_compaction/thrust.cu @@ -3,6 +3,8 @@ #include #include #include +#include +#include #include "common.h" #include "thrust.h" @@ -31,5 +33,25 @@ namespace StreamCompaction { cudaMemcpy(odata, dv_odata.data().get(), n * sizeof(int), cudaMemcpyDeviceToHost); checkCUDAError("cudaMemcpy dv_odata->odata failed!"); } + + int compact(int n, int *odata, const int *idata) + { + memcpy(odata, idata, n * sizeof(int)); + + struct is_zero + { + __host__ __device__ + bool operator() (const int x) const + { + return x == 0; + } + }; + + timer().startGpuTimer(); + int* new_end = thrust::remove_if(odata, odata + n, is_zero()); + timer().endGpuTimer(); + + return new_end - odata; + } } } diff --git a/stream_compaction/thrust.h b/stream_compaction/thrust.h index fe98206..b3b5616 100644 --- a/stream_compaction/thrust.h +++ b/stream_compaction/thrust.h @@ -7,5 +7,6 @@ namespace StreamCompaction { StreamCompaction::Common::PerformanceTimer& timer(); void scan(int n, int *odata, const int *idata); + int compact(int n, int* odata, const int* idata); } } From 0ff0a94ac2a971fe495fcc89fed8e57cf9eff1d0 Mon Sep 17 00:00:00 2001 From: Mufeng Xu <157663886+solemnwind@users.noreply.github.com> Date: Tue, 17 Sep 2024 23:00:18 -0400 Subject: [PATCH 09/10] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 58fde35..920624b 100644 --- a/README.md +++ b/README.md @@ -76,6 +76,7 @@ Here is the output for Radix Sort Benchmarks: ![](img/screenshot-radix-sort.png) +To verify the correctness of my Radix Sort, I used `std::stable_sort` as the *ground truth*. I then utilized the provided `printCmpResult()` to compare the sorting results. The outputs are shown in the following section, "Test Program Output", and confirm the correctness of the implementation. ## Test Program Output @@ -162,4 +163,4 @@ The console output with array `SIZE = 1 << 24`: ## Modifications To Project Structures - Added `radix.h` and `radix.cu` to `stream_compaction/` -- Added the entries of the above files to `stream_compaction/CMakeLists.txt` \ No newline at end of file +- Added the entries of the above files to `stream_compaction/CMakeLists.txt` From 099427e112119c20608e576d6576742f39eb55a4 Mon Sep 17 00:00:00 2001 From: Mufeng Xu Date: Tue, 17 Sep 2024 23:23:07 -0400 Subject: [PATCH 10/10] Update nsight analysis --- README.md | 5 +++++ img/Screenshot-nsight-eff-scan-summary.png | Bin 0 -> 211710 bytes 2 files changed, 5 insertions(+) create mode 100644 img/Screenshot-nsight-eff-scan-summary.png diff --git a/README.md b/README.md index 920624b..347b65b 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,11 @@ I believe this automatically meets the requirement of Part 5 extra credits, since I'm avoided calling redundant threads, making the GPU algorithms perform better than the CPU when the array size is large. +![](img/Screenshot-nsight-eff-scan-summary.png) + +As you can see in the profiling, the grid sizes shrink at the later up-sweep passes and early down-sweep passes. +This optimizes the performance a lot. However, the memory throughput is not very high, this can be further optimized. + ### Stream Compaction ![](img/benchmark-compaction-power-of-2.png) diff --git a/img/Screenshot-nsight-eff-scan-summary.png b/img/Screenshot-nsight-eff-scan-summary.png new file mode 100644 index 0000000000000000000000000000000000000000..6f218a387285a2f528f4c8417897cff62bb7b52c GIT binary patch literal 211710 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 z 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 literal 0 HcmV?d00001