From 6fb7a950ef94337b901a637ae51b698ca5b8320b Mon Sep 17 00:00:00 2001 From: RICKY RAJANI Date: Tue, 10 Oct 2017 16:59:33 -0400 Subject: [PATCH 01/18] part one partially implemented, not tested yet --- src/rasterize.cu | 174 ++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 150 insertions(+), 24 deletions(-) diff --git a/src/rasterize.cu b/src/rasterize.cu index 1262a09..16b3460 100644 --- a/src/rasterize.cu +++ b/src/rasterize.cu @@ -18,6 +18,8 @@ #include #include +#define blockSize 256 + namespace { typedef unsigned short VertexIndex; @@ -43,30 +45,38 @@ namespace { glm::vec3 eyePos; // eye space position used for shading glm::vec3 eyeNor; // eye space normal used for shading, cuz normal will go wrong after perspective transformation - // glm::vec3 col; + glm::vec3 col; glm::vec2 texcoord0; TextureData* dev_diffuseTex = NULL; - // int texWidth, texHeight; + int texWidth, texHeight; + int tex; // ... }; struct Primitive { PrimitiveType primitiveType = Triangle; // C++ 11 init VertexOut v[3]; + + TextureData* dev_diffuseTex = NULL; + int texWidth, texHeight; + int tex; }; struct Fragment { glm::vec3 color; - + // TODO: add new attributes to your Fragment // The attributes listed below might be useful, // but always feel free to modify on your own - // glm::vec3 eyePos; // eye space position used for shading - // glm::vec3 eyeNor; - // VertexAttributeTexcoord texcoord0; - // TextureData* dev_diffuseTex; + glm::vec3 eyePos; // eye space position used for shading + glm::vec3 eyeNor; + VertexAttributeTexcoord texcoord0; + TextureData* dev_diffuseTex; // ... + + int texWidth, texHeight; + int tex; }; struct PrimitiveDevBufPointers { @@ -86,14 +96,15 @@ namespace { TextureData* dev_diffuseTex; int diffuseTexWidth; int diffuseTexHeight; - // TextureData* dev_specularTex; - // TextureData* dev_normalTex; + /*TextureData* dev_specularTex; + TextureData* dev_normalTex;*/ // ... // Vertex Out, vertex used for rasterization, this is changing every frame VertexOut* dev_verticesOut; // TODO: add more attributes when needed + int tex; }; } @@ -146,6 +157,9 @@ void render(int w, int h, Fragment *fragmentBuffer, glm::vec3 *framebuffer) { framebuffer[index] = fragmentBuffer[index].color; // TODO: add your fragment shader code here + framebuffer[index] = fragmentBuffer[index].color; + glm::vec3 light = glm::normalize(glm::vec3(1, 2, 3)); + framebuffer[index] *= glm::dot(light, fragmentBuffer[index].eyeNor); } } @@ -331,7 +345,7 @@ void rasterizeSetBuffers(const tinygltf::Scene & scene) { // 2. for each mesh: // for each primitive: - // build device buffer of indices, materail, and each attributes + // build device buffer of indices, material, and each attributes // and store these pointers in a map { @@ -523,6 +537,8 @@ void rasterizeSetBuffers(const tinygltf::Scene & scene) { TextureData* dev_diffuseTex = NULL; int diffuseTexWidth = 0; int diffuseTexHeight = 0; + + int texture = 0; if (!primitive.material.empty()) { const tinygltf::Material &mat = scene.materials.at(primitive.material); printf("material.name = %s\n", mat.name.c_str()); @@ -540,13 +556,14 @@ void rasterizeSetBuffers(const tinygltf::Scene & scene) { diffuseTexWidth = image.width; diffuseTexHeight = image.height; + texture = image.component; checkCUDAError("Set Texture Image data"); } } } - // TODO: write your code for other materails + // TODO: write your code for other materials // You may have to take a look at tinygltfloader // You can also use the above code loading diffuse material as a start point } @@ -583,7 +600,10 @@ void rasterizeSetBuffers(const tinygltf::Scene & scene) { diffuseTexWidth, diffuseTexHeight, - dev_vertexOut //VertexOut + dev_vertexOut, //VertexOut + + texture + }); totalNumPrimitives += numPrimitives; @@ -639,9 +659,29 @@ void _vertexTransformAndAssembly( // Then divide the pos by its w element to transform into NDC space // Finally transform x and y to viewport space - // TODO: Apply vertex assembly here - // Assemble all attribute arraies into the primitive array - + VertexAttributePosition& currPos = primitive.dev_position[vid]; + VertexOut& outVertex = primitive.dev_verticesOut[vid]; + + glm::vec4 pos = MVP * glm::vec4(currPos, 1.0f); + glm::vec4 ndc = pos / pos.w; + ndc.x = (1.0f - ndc.x) * width / 2.0f; + ndc.y = (1.0f - ndc.y) * width / 2.0f; + + outVertex.pos = ndc; + outVertex.eyeNor = glm::normalize(MV_normal * primitive.dev_normal[vid]); + outVertex.eyePos = glm::vec3(MV * glm::vec4(currPos, 1.0f)); + + // TODO: Apply vertex assembly here + // Assemble all attribute arraies into the primitive array + + if (primitive.dev_diffuseTex != NULL) { + outVertex.texcoord0 = primitive.dev_texcoord0[vid]; + } + outVertex.dev_diffuseTex = primitive.dev_diffuseTex; + outVertex.texWidth = primitive.diffuseTexWidth; + outVertex.texHeight = primitive.diffuseTexHeight; + outVertex.tex = primitive.tex; + } } @@ -660,20 +700,103 @@ void _primitiveAssembly(int numIndices, int curPrimitiveBeginId, Primitive* dev_ // TODO: uncomment the following code for a start // This is primitive assembly for triangles - //int pid; // id for cur primitives vector - //if (primitive.primitiveMode == TINYGLTF_MODE_TRIANGLES) { - // pid = iid / (int)primitive.primitiveType; - // dev_primitives[pid + curPrimitiveBeginId].v[iid % (int)primitive.primitiveType] - // = primitive.dev_verticesOut[primitive.dev_indices[iid]]; - //} - + int pid; // id for cur primitives vector + if (primitive.primitiveMode == TINYGLTF_MODE_TRIANGLES) { + pid = iid / (int)primitive.primitiveType; + dev_primitives[pid + curPrimitiveBeginId].v[iid % (int)primitive.primitiveType] + = primitive.dev_verticesOut[primitive.dev_indices[iid]]; + dev_primitives[pid + curPrimitiveBeginId].v[iid % (int)primitive.primitiveType].col + = glm::vec3(1.0f, 1.0f, 1.0f); // default is white + dev_primitives[pid + curPrimitiveBeginId].dev_diffuseTex + = primitive.dev_diffuseTex; + dev_primitives[pid + curPrimitiveBeginId].texWidth + = primitive.diffuseTexWidth; + dev_primitives[pid + curPrimitiveBeginId].texHeight + = primitive.diffuseTexHeight; + } // TODO: other primitive types (point, line) } } +__global__ +void kernRasterize(int n, Primitive* primitives, Fragment* fragmentbuffer, int* depthsbuffer, int width, int height) { + int index = (blockIdx.x * blockDim.x) + threadIdx.x; + + if (index < n) { + Primitive& currPrim = primitives[index]; + VertexOut& outVertex = currPrim.v[0]; + + glm::vec3 triangle[3] = { + glm::vec3(currPrim.v[0].pos), + glm::vec3(currPrim.v[1].pos), + glm::vec3(currPrim.v[2].pos) + }; + + AABB aabb = getAABBForTriangle(triangle); + if (aabb.min.x < 0 || aabb.max.x > width - 1 || aabb.min.y < 0 || aabb.max.y > height - 1) { + return; + } + + int fixedDepth; + for (int x = aabb.min.x; x <= aabb.max.x; x++) { + for (int y = aabb.min.y; y <= aabb.max.y; y++) { + int pid = x + y * width; + + glm::vec3 bcc = calculateBarycentricCoordinate(triangle, glm::vec2(x, y)); + if (isBarycentricCoordInBounds(bcc)) { + float z = getZAtCoordinate(bcc, triangle); + fixedDepth = -(int)INT_MAX * z; + atomicMin(&depthsbuffer[pid], fixedDepth); + + if (depthsbuffer[pid] == fixedDepth) { + Fragment& frag = fragmentbuffer[pid]; + + frag.color = bcc.x * currPrim.v[0].col + bcc.y * currPrim.v[1].col + bcc.z * currPrim.v[2].col; + + frag.eyePos = bcc.x * currPrim.v[0].eyePos + bcc.y * currPrim.v[1].eyePos + bcc.z * currPrim.v[2].eyePos; + frag.eyeNor = bcc.x * currPrim.v[0].eyeNor + bcc.y * currPrim.v[1].eyeNor + bcc.z * currPrim.v[2].eyeNor; + frag.texcoord0 = bcc.x * currPrim.v[0].texcoord0 + bcc.y * currPrim.v[1].texcoord0 + bcc.z * currPrim.v[2].texcoord0; + frag.dev_diffuseTex = outVertex.dev_diffuseTex; + + frag.texWidth = outVertex.texWidth; + frag.texHeight = outVertex.texHeight; + frag.tex = outVertex.tex; + } + } + } + } + } +} + +__device__ __host__ +glm::vec3 getTexture(int x, int y, int width, int height, TextureData* texture, int tex) { + int index = x + y * width; + int id = tex * index; + if (x >= 0 && y >= 0 && x < width && y < height) { + return (glm::vec3(texture[id], texture[id + 1], texture[id + 2]) / 255.0f); + } + + return glm::vec3(0.0f); +} + +__global__ +void kernTextureMap(int width, int height, Fragment* fragmentbuffer) { + int x = (blockIdx.x * blockDim.x) + threadIdx.x; + int y = (blockIdx.y * blockDim.y) + threadIdx.y; + int index = x + (y * width); + + if (x >= 0 && y >= 0 && x < width && y < height) { + Fragment& frag = fragmentbuffer[index]; + if (frag.dev_diffuseTex != NULL) { + float texX = frag.texcoord0.x * (frag.texWidth - 1) + 0.5f; + float texY = frag.texcoord0.y * (frag.texHeight - 1) + 0.5f; + frag.color = getTexture(texX, texY, frag.texWidth, frag.texHeight, frag.dev_diffuseTex, frag.tex); + } + } +} /** * Perform rasterization. @@ -683,6 +806,7 @@ void rasterize(uchar4 *pbo, const glm::mat4 & MVP, const glm::mat4 & MV, const g dim3 blockSize2d(sideLength2d, sideLength2d); dim3 blockCount2d((width - 1) / blockSize2d.x + 1, (height - 1) / blockSize2d.y + 1); + dim3 numBlocksPrimitives((totalNumPrimitives + blockSize - 1) / blockSize); // Execute your rasterization pipeline here // (See README for rasterization pipeline outline.) @@ -723,8 +847,10 @@ void rasterize(uchar4 *pbo, const glm::mat4 & MVP, const glm::mat4 & MV, const g initDepth << > >(width, height, dev_depth); // TODO: rasterize - - + kernRasterize << > >(totalNumPrimitives, dev_primitives, dev_fragmentBuffer, dev_depth, width, height); + checkCUDAError("kernRasterize failed"); + kernTextureMap << > >(width, height, dev_fragmentBuffer); + checkCUDAError("kernTextureMap failed"); // Copy depthbuffer colors into framebuffer render << > >(width, height, dev_fragmentBuffer, dev_framebuffer); From df2cce37af0dfff10aa61f48adc36573574de4a7 Mon Sep 17 00:00:00 2001 From: RICKY RAJANI Date: Wed, 11 Oct 2017 16:37:43 -0400 Subject: [PATCH 02/18] bilinear texture mapping partially implemented, perspective is off --- src/rasterize.cu | 77 +++++++++++++++++++++++++++++++++++------------- 1 file changed, 57 insertions(+), 20 deletions(-) diff --git a/src/rasterize.cu b/src/rasterize.cu index 16b3460..2dc7308 100644 --- a/src/rasterize.cu +++ b/src/rasterize.cu @@ -19,6 +19,13 @@ #include #define blockSize 256 +#define ADDLIGHT 1 +#define TEXTURE 0 +#define BILINEAR 0 +#define PERSPECTIVE 0 +#define POINTCLOUD 20 +#define POINTS 1 +#define LINES 1 namespace { @@ -158,9 +165,10 @@ void render(int w, int h, Fragment *fragmentBuffer, glm::vec3 *framebuffer) { // TODO: add your fragment shader code here framebuffer[index] = fragmentBuffer[index].color; +#if ADDLIGHT glm::vec3 light = glm::normalize(glm::vec3(1, 2, 3)); framebuffer[index] *= glm::dot(light, fragmentBuffer[index].eyeNor); - +#endif } } @@ -705,14 +713,17 @@ void _primitiveAssembly(int numIndices, int curPrimitiveBeginId, Primitive* dev_ pid = iid / (int)primitive.primitiveType; dev_primitives[pid + curPrimitiveBeginId].v[iid % (int)primitive.primitiveType] = primitive.dev_verticesOut[primitive.dev_indices[iid]]; - dev_primitives[pid + curPrimitiveBeginId].v[iid % (int)primitive.primitiveType].col - = glm::vec3(1.0f, 1.0f, 1.0f); // default is white +#if TEXTURE dev_primitives[pid + curPrimitiveBeginId].dev_diffuseTex = primitive.dev_diffuseTex; dev_primitives[pid + curPrimitiveBeginId].texWidth = primitive.diffuseTexWidth; dev_primitives[pid + curPrimitiveBeginId].texHeight = primitive.diffuseTexHeight; +#else + dev_primitives[pid + curPrimitiveBeginId].v[iid % (int)primitive.primitiveType].col + = glm::vec3(1.0f, 1.0f, 1.0f); // default is white +#endif } // TODO: other primitive types (point, line) @@ -725,16 +736,16 @@ void kernRasterize(int n, Primitive* primitives, Fragment* fragmentbuffer, int* int index = (blockIdx.x * blockDim.x) + threadIdx.x; if (index < n) { - Primitive& currPrim = primitives[index]; - VertexOut& outVertex = currPrim.v[0]; + Primitive& prim = primitives[index]; + VertexOut& outVertex = prim.v[0]; - glm::vec3 triangle[3] = { - glm::vec3(currPrim.v[0].pos), - glm::vec3(currPrim.v[1].pos), - glm::vec3(currPrim.v[2].pos) + glm::vec3 tri[3] = { + glm::vec3(prim.v[0].pos), + glm::vec3(prim.v[1].pos), + glm::vec3(prim.v[2].pos) }; - AABB aabb = getAABBForTriangle(triangle); + AABB aabb = getAABBForTriangle(tri); if (aabb.min.x < 0 || aabb.max.x > width - 1 || aabb.min.y < 0 || aabb.max.y > height - 1) { return; } @@ -744,25 +755,31 @@ void kernRasterize(int n, Primitive* primitives, Fragment* fragmentbuffer, int* for (int y = aabb.min.y; y <= aabb.max.y; y++) { int pid = x + y * width; - glm::vec3 bcc = calculateBarycentricCoordinate(triangle, glm::vec2(x, y)); + glm::vec3 bcc = calculateBarycentricCoordinate(tri, glm::vec2(x, y)); if (isBarycentricCoordInBounds(bcc)) { - float z = getZAtCoordinate(bcc, triangle); + float z = getZAtCoordinate(bcc, tri); fixedDepth = -(int)INT_MAX * z; atomicMin(&depthsbuffer[pid], fixedDepth); if (depthsbuffer[pid] == fixedDepth) { Fragment& frag = fragmentbuffer[pid]; - frag.color = bcc.x * currPrim.v[0].col + bcc.y * currPrim.v[1].col + bcc.z * currPrim.v[2].col; - - frag.eyePos = bcc.x * currPrim.v[0].eyePos + bcc.y * currPrim.v[1].eyePos + bcc.z * currPrim.v[2].eyePos; - frag.eyeNor = bcc.x * currPrim.v[0].eyeNor + bcc.y * currPrim.v[1].eyeNor + bcc.z * currPrim.v[2].eyeNor; - frag.texcoord0 = bcc.x * currPrim.v[0].texcoord0 + bcc.y * currPrim.v[1].texcoord0 + bcc.z * currPrim.v[2].texcoord0; + frag.color = bcc.x * prim.v[0].col + bcc.y * prim.v[1].col + bcc.z * prim.v[2].col; + frag.eyePos = bcc.x * prim.v[0].eyePos + bcc.y * prim.v[1].eyePos + bcc.z * prim.v[2].eyePos; + frag.eyeNor = bcc.x * prim.v[0].eyeNor + bcc.y * prim.v[1].eyeNor + bcc.z * prim.v[2].eyeNor; +#if TEXTURE frag.dev_diffuseTex = outVertex.dev_diffuseTex; - frag.texWidth = outVertex.texWidth; frag.texHeight = outVertex.texHeight; frag.tex = outVertex.tex; +#if PERSPECTIVE + glm::vec3 u_a = glm::vec3(bcc.x / prim.v[0].eyePos.z, bcc.y / prim.v[1].eyePos.z, bcc.z / prim.v[2].eyePos.z); + frag.texcoord0 = ((u_a.x * prim.v[0].texcoord0) + (u_a.y * prim.v[1].texcoord0) + (u_a.z * prim.v[2].texcoord0)) + / (u_a.x + u_a.y + u_a.z); +#else + frag.texcoord0 = bcc.x * prim.v[0].texcoord0 + bcc.y * prim.v[1].texcoord0 + bcc.z * prim.v[2].texcoord0; +#endif +#endif } } } @@ -775,7 +792,7 @@ glm::vec3 getTexture(int x, int y, int width, int height, TextureData* texture, int index = x + y * width; int id = tex * index; - if (x >= 0 && y >= 0 && x < width && y < height) { + if (x >= 0 && x < width && y >= 0 && y < height) { return (glm::vec3(texture[id], texture[id + 1], texture[id + 2]) / 255.0f); } @@ -793,7 +810,27 @@ void kernTextureMap(int width, int height, Fragment* fragmentbuffer) { if (frag.dev_diffuseTex != NULL) { float texX = frag.texcoord0.x * (frag.texWidth - 1) + 0.5f; float texY = frag.texcoord0.y * (frag.texHeight - 1) + 0.5f; - frag.color = getTexture(texX, texY, frag.texWidth, frag.texHeight, frag.dev_diffuseTex, frag.tex); +#if TEXTURE && BILINEAR + // Reference: https://en.wikipedia.org/wiki/Bilinear_interpolation + float u = texX * 1.0f - 0.5f; + float v = texY * 1.0f - 0.5f; + float x = glm::floor(u); + float y = glm::floor(v); + float u_ratio = u - x; + float v_ratio = v - y; + float u_opposite = 1.0f - u_ratio; + float v_opposite = 1.0f - v_ratio; + + glm::vec3 tex00 = getTexture(x, y, frag.texWidth, frag.texHeight, frag.dev_diffuseTex, frag.tex); + glm::vec3 tex10 = getTexture(x + 1, y, frag.texWidth, frag.texHeight, frag.dev_diffuseTex, frag.tex); + glm::vec3 tex01 = getTexture(x, y + 1, frag.texWidth, frag.texHeight, frag.dev_diffuseTex, frag.tex); + glm::vec3 tex11 = getTexture(x + 1, y + 1, frag.texWidth, frag.texHeight, frag.dev_diffuseTex, frag.tex); + + glm::vec3 result = (tex00 * u_opposite + tex10 * u_ratio) * v_opposite + (tex01 * u_opposite + tex11 * v_ratio); + frag.color = result; +#else + frag.color = getTexture(texX, texY, frag.texWidth, frag.texHeight, frag.dev_diffuseTex, frag.tex); +#endif } } } From 251aea09d98f6105c5b4505dfb89104dcc05c074 Mon Sep 17 00:00:00 2001 From: RICKY RAJANI Date: Wed, 11 Oct 2017 17:38:25 -0400 Subject: [PATCH 03/18] adding more primitives --- src/rasterize.cu | 119 +++++++++++++++++++++++++++++------------------ 1 file changed, 75 insertions(+), 44 deletions(-) diff --git a/src/rasterize.cu b/src/rasterize.cu index 2dc7308..632d54a 100644 --- a/src/rasterize.cu +++ b/src/rasterize.cu @@ -19,13 +19,15 @@ #include #define blockSize 256 -#define ADDLIGHT 1 -#define TEXTURE 0 + +// Toggle features +#define LIGHTING 1 +#define TEXTURE 1 #define BILINEAR 0 #define PERSPECTIVE 0 #define POINTCLOUD 20 -#define POINTS 1 -#define LINES 1 +#define POINTS 0 +#define LINE 0 namespace { @@ -165,7 +167,7 @@ void render(int w, int h, Fragment *fragmentBuffer, glm::vec3 *framebuffer) { // TODO: add your fragment shader code here framebuffer[index] = fragmentBuffer[index].color; -#if ADDLIGHT +#if LIGHTING glm::vec3 light = glm::normalize(glm::vec3(1, 2, 3)); framebuffer[index] *= glm::dot(light, fragmentBuffer[index].eyeNor); #endif @@ -731,60 +733,89 @@ void _primitiveAssembly(int numIndices, int curPrimitiveBeginId, Primitive* dev_ } +__device__ +void kernRasterizeExtraPrims(glm::vec3& pos1, glm::vec3 pos2, glm::vec3& color, int width, int height, Fragment* fragmentbuffer) { + int index; + glm::vec3 dist = glm::abs(pos1 - pos2); + if (dist.x > 0 && dist.y > 0) { + int len = glm::max(dist.x, dist.y); +#if POINTS + for (float i = 0; i <= len; i += POINTCLOUD) { +#else + for (float i = 0; i <= len; i++) { +#endif + glm::vec3 point = ((1.0f - (i / len)) * pos1 + (i / len) * pos2); + index = (int)(point.x) + (int)(point.y) * width; + fragmentbuffer[index].color = color; + } + } +} + __global__ void kernRasterize(int n, Primitive* primitives, Fragment* fragmentbuffer, int* depthsbuffer, int width, int height) { int index = (blockIdx.x * blockDim.x) + threadIdx.x; + if (index >= n) { + return; + } - if (index < n) { - Primitive& prim = primitives[index]; - VertexOut& outVertex = prim.v[0]; + Primitive& prim = primitives[index]; - glm::vec3 tri[3] = { - glm::vec3(prim.v[0].pos), - glm::vec3(prim.v[1].pos), - glm::vec3(prim.v[2].pos) - }; + glm::vec3 tri[3] = { + glm::vec3(prim.v[0].pos), + glm::vec3(prim.v[1].pos), + glm::vec3(prim.v[2].pos) + }; - AABB aabb = getAABBForTriangle(tri); - if (aabb.min.x < 0 || aabb.max.x > width - 1 || aabb.min.y < 0 || aabb.max.y > height - 1) { - return; - } + AABB aabb = getAABBForTriangle(tri); + if (aabb.min.x < 0 || aabb.max.x > width - 1 || aabb.min.y < 0 || aabb.max.y > height - 1) { + return; + } - int fixedDepth; - for (int x = aabb.min.x; x <= aabb.max.x; x++) { - for (int y = aabb.min.y; y <= aabb.max.y; y++) { - int pid = x + y * width; + int fixedDepth; + for (int x = aabb.min.x; x <= aabb.max.x; x++) { + for (int y = aabb.min.y; y <= aabb.max.y; y++) { + int pid = x + y * width; - glm::vec3 bcc = calculateBarycentricCoordinate(tri, glm::vec2(x, y)); - if (isBarycentricCoordInBounds(bcc)) { - float z = getZAtCoordinate(bcc, tri); - fixedDepth = -(int)INT_MAX * z; - atomicMin(&depthsbuffer[pid], fixedDepth); + glm::vec3 bcc = calculateBarycentricCoordinate(tri, glm::vec2(x, y)); + if (isBarycentricCoordInBounds(bcc)) { + float z = getZAtCoordinate(bcc, tri); + fixedDepth = -(int)INT_MAX * z; + atomicMin(&depthsbuffer[pid], fixedDepth); - if (depthsbuffer[pid] == fixedDepth) { - Fragment& frag = fragmentbuffer[pid]; + if (depthsbuffer[pid] == fixedDepth) { + Fragment& frag = fragmentbuffer[pid]; - frag.color = bcc.x * prim.v[0].col + bcc.y * prim.v[1].col + bcc.z * prim.v[2].col; - frag.eyePos = bcc.x * prim.v[0].eyePos + bcc.y * prim.v[1].eyePos + bcc.z * prim.v[2].eyePos; - frag.eyeNor = bcc.x * prim.v[0].eyeNor + bcc.y * prim.v[1].eyeNor + bcc.z * prim.v[2].eyeNor; + frag.color = bcc.x * prim.v[0].col + bcc.y * prim.v[1].col + bcc.z * prim.v[2].col; + frag.eyePos = bcc.x * prim.v[0].eyePos + bcc.y * prim.v[1].eyePos + bcc.z * prim.v[2].eyePos; + frag.eyeNor = bcc.x * prim.v[0].eyeNor + bcc.y * prim.v[1].eyeNor + bcc.z * prim.v[2].eyeNor; #if TEXTURE - frag.dev_diffuseTex = outVertex.dev_diffuseTex; - frag.texWidth = outVertex.texWidth; - frag.texHeight = outVertex.texHeight; - frag.tex = outVertex.tex; + frag.dev_diffuseTex = prim.v[0].dev_diffuseTex; + frag.texWidth = prim.v[0].texWidth; + frag.texHeight = prim.v[0].texHeight; + frag.tex = prim.v[0].tex; #if PERSPECTIVE - glm::vec3 u_a = glm::vec3(bcc.x / prim.v[0].eyePos.z, bcc.y / prim.v[1].eyePos.z, bcc.z / prim.v[2].eyePos.z); - frag.texcoord0 = ((u_a.x * prim.v[0].texcoord0) + (u_a.y * prim.v[1].texcoord0) + (u_a.z * prim.v[2].texcoord0)) - / (u_a.x + u_a.y + u_a.z); + glm::vec3 u_a = glm::vec3(bcc.x / prim.v[0].eyePos.z, bcc.y / prim.v[1].eyePos.z, bcc.z / prim.v[2].eyePos.z); + frag.texcoord0 = ((u_a.x * prim.v[0].texcoord0) + (u_a.y * prim.v[1].texcoord0) + (u_a.z * prim.v[2].texcoord0)) + / (u_a.x + u_a.y + u_a.z); #else - frag.texcoord0 = bcc.x * prim.v[0].texcoord0 + bcc.y * prim.v[1].texcoord0 + bcc.z * prim.v[2].texcoord0; + frag.texcoord0 = bcc.x * prim.v[0].texcoord0 + bcc.y * prim.v[1].texcoord0 + bcc.z * prim.v[2].texcoord0; #endif #endif - } - } - } - } - } + } + } + } + } + +#if POINTS || LINE + if (prim.primitiveType == TINYGLTF_MODE_POINTS) { + glm::vec3 color = prim.v[0].col; + color += prim.v[0].eyeNor; + color = glm::normalize(color); + + kernRasterizeExtraPrims(glm::vec3(prim.v[0].pos), glm::vec3(prim.v[1].pos), color, width, height, fragmentbuffer); + kernRasterizeExtraPrims(glm::vec3(prim.v[2].pos), glm::vec3(prim.v[0].pos), color, width, height, fragmentbuffer); + } +#endif } __device__ __host__ From 698d1df1aba381d848bec2279a36eaa4a49b8572 Mon Sep 17 00:00:00 2001 From: RICKY RAJANI Date: Thu, 12 Oct 2017 13:21:11 -0400 Subject: [PATCH 04/18] fixed texture mapping for bilinear --- src/rasterize.cu | 65 ++++++++++++++++++++++++++---------------------- 1 file changed, 35 insertions(+), 30 deletions(-) diff --git a/src/rasterize.cu b/src/rasterize.cu index 632d54a..8edf353 100644 --- a/src/rasterize.cu +++ b/src/rasterize.cu @@ -21,13 +21,14 @@ #define blockSize 256 // Toggle features +// Bilinear texture filtering and perspective correction works with TEXTURE enabled #define LIGHTING 1 -#define TEXTURE 1 +#define TEXTURE 0 #define BILINEAR 0 #define PERSPECTIVE 0 -#define POINTCLOUD 20 +#define POINTCLOUD 50 #define POINTS 0 -#define LINE 0 +#define LINE 1 namespace { @@ -168,7 +169,7 @@ void render(int w, int h, Fragment *fragmentBuffer, glm::vec3 *framebuffer) { // TODO: add your fragment shader code here framebuffer[index] = fragmentBuffer[index].color; #if LIGHTING - glm::vec3 light = glm::normalize(glm::vec3(1, 2, 3)); + glm::vec3 light = glm::normalize(glm::vec3(1, 1, 1)); framebuffer[index] *= glm::dot(light, fragmentBuffer[index].eyeNor); #endif } @@ -669,6 +670,9 @@ void _vertexTransformAndAssembly( // Then divide the pos by its w element to transform into NDC space // Finally transform x and y to viewport space + // TODO: Apply vertex assembly here + // Assemble all attribute arrays into the primitive array + VertexAttributePosition& currPos = primitive.dev_position[vid]; VertexOut& outVertex = primitive.dev_verticesOut[vid]; @@ -677,13 +681,11 @@ void _vertexTransformAndAssembly( ndc.x = (1.0f - ndc.x) * width / 2.0f; ndc.y = (1.0f - ndc.y) * width / 2.0f; - outVertex.pos = ndc; - outVertex.eyeNor = glm::normalize(MV_normal * primitive.dev_normal[vid]); - outVertex.eyePos = glm::vec3(MV * glm::vec4(currPos, 1.0f)); - - // TODO: Apply vertex assembly here - // Assemble all attribute arraies into the primitive array + outVertex.pos = ndc; + outVertex.eyeNor = glm::normalize(MV_normal * primitive.dev_normal[vid]); + outVertex.eyePos = glm::vec3(MV * glm::vec4(currPos, 1.0f)); +#if TEXTURE if (primitive.dev_diffuseTex != NULL) { outVertex.texcoord0 = primitive.dev_texcoord0[vid]; } @@ -691,6 +693,7 @@ void _vertexTransformAndAssembly( outVertex.texWidth = primitive.diffuseTexWidth; outVertex.texHeight = primitive.diffuseTexHeight; outVertex.tex = primitive.tex; +#endif } } @@ -734,18 +737,17 @@ void _primitiveAssembly(int numIndices, int curPrimitiveBeginId, Primitive* dev_ } __device__ -void kernRasterizeExtraPrims(glm::vec3& pos1, glm::vec3 pos2, glm::vec3& color, int width, int height, Fragment* fragmentbuffer) { - int index; +void kernRasterizeExtraPrims(int width, int height, glm::vec3& color, glm::vec3& pos1, glm::vec3 pos2, Fragment* fragmentbuffer) { glm::vec3 dist = glm::abs(pos1 - pos2); if (dist.x > 0 && dist.y > 0) { - int len = glm::max(dist.x, dist.y); + float length = glm::max(dist.x, dist.y); #if POINTS - for (float i = 0; i <= len; i += POINTCLOUD) { + for (float i = 0; i <= length; i += POINTCLOUD) { #else - for (float i = 0; i <= len; i++) { + for (float i = 0; i <= length; i++) { #endif - glm::vec3 point = ((1.0f - (i / len)) * pos1 + (i / len) * pos2); - index = (int)(point.x) + (int)(point.y) * width; + glm::vec3 point = ((1.0f - (i / length)) * pos1 + (i / length) * pos2); + int index = (int)(point.x) + (int)(point.y) * width; fragmentbuffer[index].color = color; } } @@ -771,19 +773,18 @@ void kernRasterize(int n, Primitive* primitives, Fragment* fragmentbuffer, int* return; } - int fixedDepth; for (int x = aabb.min.x; x <= aabb.max.x; x++) { for (int y = aabb.min.y; y <= aabb.max.y; y++) { - int pid = x + y * width; + int idx = x + y * width; glm::vec3 bcc = calculateBarycentricCoordinate(tri, glm::vec2(x, y)); if (isBarycentricCoordInBounds(bcc)) { float z = getZAtCoordinate(bcc, tri); - fixedDepth = -(int)INT_MAX * z; - atomicMin(&depthsbuffer[pid], fixedDepth); + int depth = -INT_MAX * z; + atomicMin(&depthsbuffer[idx], depth); - if (depthsbuffer[pid] == fixedDepth) { - Fragment& frag = fragmentbuffer[pid]; + if (depthsbuffer[idx] == depth) { + Fragment& frag = fragmentbuffer[idx]; frag.color = bcc.x * prim.v[0].col + bcc.y * prim.v[1].col + bcc.z * prim.v[2].col; frag.eyePos = bcc.x * prim.v[0].eyePos + bcc.y * prim.v[1].eyePos + bcc.z * prim.v[2].eyePos; @@ -812,8 +813,8 @@ void kernRasterize(int n, Primitive* primitives, Fragment* fragmentbuffer, int* color += prim.v[0].eyeNor; color = glm::normalize(color); - kernRasterizeExtraPrims(glm::vec3(prim.v[0].pos), glm::vec3(prim.v[1].pos), color, width, height, fragmentbuffer); - kernRasterizeExtraPrims(glm::vec3(prim.v[2].pos), glm::vec3(prim.v[0].pos), color, width, height, fragmentbuffer); + kernRasterizeExtraPrims(width, height, color, glm::vec3(prim.v[0].pos), glm::vec3(prim.v[1].pos), fragmentbuffer); + kernRasterizeExtraPrims(width, height, color, glm::vec3(prim.v[2].pos), glm::vec3(prim.v[0].pos), fragmentbuffer); } #endif } @@ -836,12 +837,12 @@ void kernTextureMap(int width, int height, Fragment* fragmentbuffer) { int y = (blockIdx.y * blockDim.y) + threadIdx.y; int index = x + (y * width); - if (x >= 0 && y >= 0 && x < width && y < height) { + if (x >= 0 && x < width && y >= 0 && y < height) { Fragment& frag = fragmentbuffer[index]; if (frag.dev_diffuseTex != NULL) { - float texX = frag.texcoord0.x * (frag.texWidth - 1) + 0.5f; - float texY = frag.texcoord0.y * (frag.texHeight - 1) + 0.5f; -#if TEXTURE && BILINEAR + float texX = frag.texcoord0.x * (frag.texWidth - 1.0f) + 0.5f; + float texY = frag.texcoord0.y * (frag.texHeight - 1.0f) + 0.5f; +#if BILINEAR // Reference: https://en.wikipedia.org/wiki/Bilinear_interpolation float u = texX * 1.0f - 0.5f; float v = texY * 1.0f - 0.5f; @@ -857,7 +858,7 @@ void kernTextureMap(int width, int height, Fragment* fragmentbuffer) { glm::vec3 tex01 = getTexture(x, y + 1, frag.texWidth, frag.texHeight, frag.dev_diffuseTex, frag.tex); glm::vec3 tex11 = getTexture(x + 1, y + 1, frag.texWidth, frag.texHeight, frag.dev_diffuseTex, frag.tex); - glm::vec3 result = (tex00 * u_opposite + tex10 * u_ratio) * v_opposite + (tex01 * u_opposite + tex11 * v_ratio); + glm::vec3 result = (tex00 * u_opposite + tex10 * u_ratio) * v_opposite + (tex01 * u_opposite + tex11 * u_ratio) * v_ratio; frag.color = result; #else frag.color = getTexture(texX, texY, frag.texWidth, frag.texHeight, frag.dev_diffuseTex, frag.tex); @@ -917,8 +918,12 @@ void rasterize(uchar4 *pbo, const glm::mat4 & MVP, const glm::mat4 & MV, const g // TODO: rasterize kernRasterize << > >(totalNumPrimitives, dev_primitives, dev_fragmentBuffer, dev_depth, width, height); checkCUDAError("kernRasterize failed"); + +#if TEXTURE + // UV Texture Map kernTextureMap << > >(width, height, dev_fragmentBuffer); checkCUDAError("kernTextureMap failed"); +#endif // Copy depthbuffer colors into framebuffer render << > >(width, height, dev_fragmentBuffer, dev_framebuffer); From bca038dec16241aa339619393d5ef464f1a44fde Mon Sep 17 00:00:00 2001 From: RICKY RAJANI Date: Thu, 12 Oct 2017 14:30:03 -0400 Subject: [PATCH 05/18] added timer, fixed comments, screenshots added --- renders/cow_normal.PNG | Bin 0 -> 24041 bytes renders/cow_points.PNG | Bin 0 -> 14363 bytes renders/duck_normal.PNG | Bin 0 -> 29802 bytes renders/duck_points.PNG | Bin 0 -> 12345 bytes renders/duck_texture.PNG | Bin 0 -> 60413 bytes renders/engine_normal.PNG | Bin 0 -> 51959 bytes renders/truck_lines.PNG | Bin 0 -> 64774 bytes renders/truck_normal.PNG | Bin 0 -> 40862 bytes renders/truck_points.PNG | Bin 0 -> 12875 bytes renders/truck_texture.PNG | Bin 0 -> 48733 bytes src/CMakeLists.txt | 1 + src/common.h | 112 ++++++++++++++++++++++++++++++++++++++ src/rasterize.cu | 24 ++++++-- 13 files changed, 133 insertions(+), 4 deletions(-) create mode 100644 renders/cow_normal.PNG create mode 100644 renders/cow_points.PNG create mode 100644 renders/duck_normal.PNG create mode 100644 renders/duck_points.PNG create mode 100644 renders/duck_texture.PNG create mode 100644 renders/engine_normal.PNG create mode 100644 renders/truck_lines.PNG create mode 100644 renders/truck_normal.PNG create mode 100644 renders/truck_points.PNG create mode 100644 renders/truck_texture.PNG create mode 100644 src/common.h diff --git a/renders/cow_normal.PNG b/renders/cow_normal.PNG new file mode 100644 index 0000000000000000000000000000000000000000..d3416cb543ea454b994572f05ab3ebd2ccb41dcf GIT binary patch literal 24041 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 literal 0 HcmV?d00001 diff --git a/renders/cow_points.PNG b/renders/cow_points.PNG new file mode 100644 index 0000000000000000000000000000000000000000..9d5065a6badfbcdd187d93c4b07207fc5209e660 GIT binary patch literal 14363 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 literal 0 HcmV?d00001 diff --git a/renders/duck_normal.PNG b/renders/duck_normal.PNG new file mode 100644 index 0000000000000000000000000000000000000000..d9d0b9078a91f4bd94707525231b511a6e9e7864 GIT binary patch literal 29802 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 Ge*HhNM#MA# literal 0 HcmV?d00001 diff --git a/renders/duck_texture.PNG b/renders/duck_texture.PNG new file mode 100644 index 0000000000000000000000000000000000000000..8f4861076ec58aa1ce9ebfeff67e7dac807b4f42 GIT binary patch literal 60413 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%0De2r6&v$I7syW0nV4uDW@naARyHyw-Y=fJ8i@_VP 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 literal 0 HcmV?d00001 diff --git a/renders/engine_normal.PNG b/renders/engine_normal.PNG new file mode 100644 index 0000000000000000000000000000000000000000..99d62fd518c1dc635be5dee5ca54addb2094372e GIT binary patch literal 51959 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%0DyOta2%+s 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 IRe1FO0WC{A#Q*>R literal 0 HcmV?d00001 diff --git a/renders/truck_lines.PNG b/renders/truck_lines.PNG new file mode 100644 index 0000000000000000000000000000000000000000..9301e38bee8f0ba9a2670328a88295992c6bc677 GIT binary patch literal 64774 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 literal 0 HcmV?d00001 diff --git a/renders/truck_normal.PNG b/renders/truck_normal.PNG new file mode 100644 index 0000000000000000000000000000000000000000..21b7ea9ac6e59f44cd026417629432154934fa8c GIT binary patch literal 40862 zcmeFZc|6qZ_dl-HT|_G-L#0sGNVbeyid(X^$}Wj4gJH;C$ri?4)4zDv3Vk4~tZJagoE zlG&e6wtmo53oS3p$&qJ!w&k*(?pdq)&|RTH4?e~_w>fp?t`Any*xS23@fz2qo$rsg zpuEKg-N)nM1IArSC><1P-FN+GE@a&!_q!qB3roinv8~|CpKK+6KtGCoIRSksGW*{@ z{?7^jL&E>k;eVX)|Bo0S`IZhp6De!=Su8w2`@mgg7Q@CO5(Kz5&#sbAalm{t%P&Q3 ze`HzDwS`3=DPFybBqW6`uo#E0xZf6$mH)76Hq7CR>yAhA(C_b8jKF3la>}O8 z5HvnE*9z}?v9UoRS_4Ax*x>skv0TS@rK_ZHyV;ueQu$CZPVmuXb5LAH{PY25lIAvGgwfV$yW%{HJ9Zw~0H#=sy{n3thLU(-U zA`*)dwy?xzX69CvRSzJJi2Be7LyNV;&=ObkI@WJ?EiLpXuKh?G2=`qbp|UFfR8c-c z7gAmhRtn#e4otEh_MY)fq>pj3%pW)1`7ST1CFz8|wadlYivowv8YGvQq~JyVny8E` zPj;MZb?_!XNC zXXWTAiODv_nF=b`YdFYvq@Cs zd4li~m1f-A4aM}k_sTsA{sI;mHd!jWjj`#;pmv7)xGVt}l&|l|)Z9Uo@MekC*}Zl5 zA7JG`m534=>5=^(STZXVi=f4`5zCR%N%I-6zs7rfb&~s*BfCOKWVXLi4mktrWzB*4cOLjl7dz+1lMspCi!XQaug^)We_o&KDQ+(ldrJ;t z(dQeM5|*t#!OFH{cd!P*gOa2{;K}Zo7lDI(T{?h4?MhpVOjMbl=VH?v|{SQM4Zh)%OJ{*MU*d0asrtOT>8gBbKul6_A5BAWwQ%f#5T@`>v<0W zLn+VHzG?6e&0;_DP6{kg#aQ6cpn+|6k9}V4&VdpFfr3@+ z2`5=bIvbxnQTdcB?05NTuw?UF%HiyeISZf5l-h@JrN%qixLLU3*mwZQbOS=-r0lF| z1Au-00_3*y8DV;Gxy_Bb2v`E{MOvwKjzD<=%CEe@a+sb2!aw{c$R2;dx;x`wH7Nf0wT)$#5M&x4Lr zT40r@!Mta{BJ*PREk2j1iQHxEW;d6_!&&Q#6TcBfX9bF80hBw6J`Ma$$_~~9#UpnHIeaR#h)GAlcnMyae@3pM$yZNW~PPEBQ*-hq_ zt!O&*ZP{*c{SRHqjtSM*r4(V^zwAG|R(-U)3ikX=g|oqSpQsVeH@|d&P5j5?WY7KLT(JPM$BvU|a3W6bEO~^sd&WKC49P->Mvwb-0&SulwkPYP#Xj zS>2x<2`=3#BX{^?MT~d8bJW!)iq~D@IFxb~WD`INLfQ~)Q4m2gn+1&MAgG_7LQ$Zy zO+L`^>~AE}q@kTMcmg5}Q5&PYbSIJoi$y-rLb|eLond8R=ljzES5V4~-3E#wilTjY z>ef^5`<`sux4=D8AiZmQYl!ZjjR!Esv5g?4ZJ5}wmZV`Q(-QbY)69|+@yqO7;@d?} zVzghf@g%b!KE-|R3EPq5fzQm1N*#&vY&H5I^SHtgg`VYvfgIlk99XS4FkF>W$wkoX z!na*I6N+4MqM6^5tNG@$!lN{f|CzGqZ1o#RtmLz```pJV@t~D6E$HbcEyb%iSoN^zJR4uKLEiqkLc2p zr9kBj?lp}W@)g!RI_e{>Fj(jX(^HKFiufG5(*TU5Es0t#wY zbb^pQ`Fvq9>&Tdy6R04q+u7)=@BOkkO30Cz;jOh79m)GQvXfy$Bd`ZV8Y*%zETOF+ z*clTb*rgxE%35WIDmeMeXR16g>uWT(r80cw{SSfS<=3oE26EC-Wz!XRJx=cxJ{DQ~ z!9Q43hv9Aw!ZKH3Tv2vQ64?5rm0In^_PkizJV)5l$HmCB3zjle)G3TN)AJzO3{V5E zV37Eygm9(>HpXBr3IdgBxPa+{c3-Bn_$5X0>!WRDK+O#foW=2WDUBZI1eI~>oXwk@ z4}oh>C<<78eIDZ=!l#DSXXcMD=7zK+sU;L;ckUjze_r{p&H>DVS%uyce}(RxZB=`X z^+KVs^)Ri9WO2E0%f2Il_=7t z3u)hzIa=9Fe|~rg@cIdXddTNY8aI6I$+ zSH!o~tyD(Uub6KeF!7}H1cuXyB>2EK{+~6}WKM7ErBa+y&dm0)@5$(yE1tc9f(9ao zg@r@+3l{XhrFez(#TEhCUB;f_C21n2AMZ)UdJE~oG>W4XDsr~LjBuX$N|PEoaop5G zDU2`V6UaH|E^=_A8D%_+oy!k6NA)Yqco2pT;a4tJn zS>cyFvu_HY=bKQ|X;FsjOvr5H(?2#G@+&pdQ~k1GgDahES`FNC|CN33z@)a@R2>eI zt}w6fwF7jjTQ#+G1Wo2!%nQusf}eBvv)x*Mcl%0*QBY~?bl#u)%uhgAfoeU(FM!)X z$Z8+%=JJpmOt1ZbidO%o@GXQAtmAc88nOJ6AO!GRyCY0@XXpzyp5uXRIFL>kp&AXj zB_&aV;_NoaB6$|bzfj(X70Ly`~FV#0TKC=`I+u z@%R88bOh9&BjGc3fs5}IuE~3)`&E7cHvZxFwi7dndw{NOjN%>utPSDe7PUG2jb+>) zsPSQgo#?2GF-8MlcgjvU6lQ+UA8;k0fV{B9%v8}_1Nl6x-A13Qy9&iSegNvVx;rxk z_D$7y)-5^7A9ycGQg7$(PU5qL;c^%oHzalBA@8-iebsME;d`T*gK$YXiaKhSr-J#& zW$5BoHJ?xp%*-Y@RMX4qI25xyYqs%q1ah`6Kb*GUC%EOE@S4b7)isZ-uVEW3|b4`7n#hIM~G z2VR8am>;l_OGaG3d%|icft%$j(3YZ3p^ioSVvHuWZ2NNWs7sUnb~aR1cm8!DJ(w=a%-HH-RVjM;?&ky3Lf@iqA_@FJ%|K$8Vc=$%Lq9<+ z0|SxQcZTq|iL*!wfrdX=z_Ey%Vdqi%B0UVybSTB?JXH*i&(npK*YQt&I9g#UomziD zXF75Id0pV^huP1!8&|#k`gJQ1_j_Yh#(<3s4q1I`?;Y^EB%5@5LMm5E-^j6c$2^y) zk&s6|wr%~c6FCO!&GRqAnBp>kX&57W8HTNHi#-5h{q(e*=>4y{R((A&5v8Lx38>!5 z^MemZnBCI|TG17-lodam3g#+q>ipg=Zl5)T7QU&%6j5t3!%4w?yAP-^jOzt-(z!b< zuHI6Y=W=Jkf@6iApTEM>Dcua!DTV5gTGVIm2tIcCGfQhP2;-j^iF+#mc#45Ts7#tg zf|L=z7ujrfHV8lw6e!|ZPBU%0eKq?VCK^68#TY@_o4#!)X3&F-NK0@9RI^zu>6e_9 z_8ETrQ(!+JGloinLJA4{2`S;$+{35z!AwNnJ52+27PZ>#bOYCgLJEy3bceL=c%cMbQ5VC5^9@T6R>kDAQ-0C0zzI;3&znX7H4p%6P@>fjTg)khU~quz_x*@ zTbLtWsQzjMbk5Hny3Lf6CR@)1!N`CHpVxWQb*f|U)w zYz$yu75k$iN`>gji^)#5ivipQdNv08Zs^EO?J5~BrO!V6;j$K}3vPDXVx^(@?UUm& zts1qVFW_fLUcxTICxzv#P5htu^Py#J@^o3R!sJogdzx+t^`PtwonhpUqYR;T4M~&u z*ESgi5bPI_D-*#`q5-DA4uAt|XBmf*&3rq0GFdaH7nDAqZdFe18$wsMT*Sn-)?SP; zEdGNl=Rn05Ba(Oiu{l>VAom>9woSPaC)69(9zeB2ta zQ3QbLV5YYNjE|%93J%DK-SYSli ztKEI>W$uFE?ubu1%Jd&=95)dk9`@xMH@^vsc}7%2coq=v10Bn-=g7bO0b&Tc5vU(x z03I}je}HK`WaEv#$8qPos(j`(+|rQ;8jNwS?;BxD@6KSJ6B2+Qf>o$<6dX}s<{a0x#t=z`iV}haO+LWT^gdbxkF%bl+C@TQyzfC(1Q6Chl z8b>2$cMjPod1cv(g>hcMu#hX?q^rzlUdt{0*{%_2YADsEflBCqus31$-Ed(d-LBo+ zA(p6(FufY{5PsNa7VN9Hl`SQ)6CIb6toc6yYR~4tof>5xJUOV zScXxc>)A^<&(kl@8OdQ2h-*zywf%)CX6T_N8%mc=uQG-U{-L7l>@2a|P~knJsM~d- z*VdrdAzA1p?y1v2@)?C3ODosomxRD4w@iE#Mk->xxtNXXCS-pHmelV+0Nt!(n>^{$ z$`KYx2?)G5U6WEV9&sCXLvWP>@Z8 zbI5~y{f*RqL6F(TZaUlX|NQK()iACD4HoPEBDoa>w|moS?}nRLSC@O7#za)P(v+BG z=QoQPBnlS$E#E+rfQjYz8fCLuaJFzNWBQU-!~+wI`8X0AMb$lYprM$vTOI}Le_?VI z9O}(c!C4t8tG`Hp8uS6)GgEgELf(}Aks-xY-QrKTd~oF<#1Xbdgmu7YgU7 zf?n6L-UmE*`{VUbXCa1uJy{x^&^Mj!;BD&$j&WLxNatSmI-Y$`)L!W?RtIwyFuMCM znr;N?{SQrpAcI_g15VyFbwRE(Gb!RHZD<`q*1mce56kFYzQNjqvL5@uCNaI#RV2Uq zz0ThIeGBDnuJNml3Bo_XhvEXw^?$<-v<+TR4TQlSB6ZV-UucTw4~ay<(jV+2%Vd*f zgY~uriog5(bXNVs@IE@=!RLEOuRRgf;T_TawLPaWQMM7kGxtV_7_!@$S!y<@kTG)= zl{4HfdHFn0I@IA12`YSTHk>dMSg=jTKGmDvuz;zixAsbFarri?@_imkw&{54gu39Y z{xD8-p>t2MU#2EP1TW5P{0ktZ&)g3)ks;dsJtIPRKJ3i<3U+l+;YWvRdAQf8z`#<~ zk`j%+xtz?EuN@Ns7ja3uMl$$8+eu$fYekkuUZH%QdO^sri@C;_F#N03T~u=f8Trq? z7@Q}FQF`QV6~dC*y$6imsd2VBz=ME0>QUdL%k;!EKd*+V0Nm*;ez6FDN%vdq=ExDp zW+Thx7*b{vSxn~tPdb8nzc}I|%Xos=*4VpKHC5v>xp%Tn0CfbDzlx!D^VX@!&pn-; zh#%LUhRr<0z4Y#S0Vnj}@{I(aarSdFmifO}_2n-m1C$!Gd}|{-S>{0vxSF4h87wRR z`h@LPW(>dq;F9y)bz9Z19`^lY!B=R&>bg!}O6*y-*GQyHr5I?tz2hm8KpI9-B0xX$ z57zGeKd{Cveg!+QMf48u+No@b!5L8?P%GO->YsWi>ILWni zb)}3UAJkQ6A=k|8k}2}MO5)5^iaw&9m`({H-U2hP8;m)@zt#a-klE=n^w~GaYrm~S z)KiD`tQWM&;DZh9^0m845!u}r17Fu3FH^ngVgMEbB0F(%m9ZQ1Xu~gm_g6LApTgQ- z*=YFz_x^%2m^N?d=VvM#3=imib4SFSa%#WZVPq@n4VPh7*SQ=+kz)I#h>Ked8dt;ZHcP*s274ZFi{$||`&oKj3R?4y^2$UCP1E(q3`lh?BUT4&I@pChpk*9#w02O;5YT%rfK7>x3u&TWI2{~KCBAA*&3gO!@o{gTltITSF} z^G>_9E)Fn!FAi^?V?#)N9u_N^gHN}JQ_Ra~70UL@8d)Pcz2-TY?Ei|K$88l#TP_4bGEq|EO4s#U(DR#|4aq>YMZ_; z6fmff9{@AX3hFYL!DW>pax;G0-xG4_vx@=a4&8#GxnNo#J(D2ePFIupwOm0MbXd$d znc2YNrj%joM&^+2jE%|958Q1w&Ma);5c_H}cg5Eone@-y1Lz;?5EfJ22gX03j4sFM zjqMt-B*_fQCeE#d*}Pb~TCPGkNI7MB)bbx9fa==6dI@F&0QD9~&u#jSU{kv%IYdZ_ zzEyM+pbiAPDiF?k1aYl{;n0VpNC|GQC%?A|Wd|}4xZ$^g1cn0GRKGiZYdSaSfLr^> z8KUh)gaZp3R1cEDJ)?I6JGhO^s&9iR`ICua+{Kj7jRAt8$}64WRK>U0`7$t{;jX)T0Cb}E@(ig1yZQ&nR!Ym-a^`F1&=}%N+woV|Y7`v0?{ZBE#%_DfT z&3hX|5k!_vyb1BZ-XdQTOVv+&V3-?CEXmGq;GwIoUpmmR5Jz;c>}y5z;>QiMhU5Ux zF*bACOBtj0ua4@!@CNW_ehpi>MRYePZtqO!Q@59p+0%b&`RS)UFv4&Z86ybYDm@Ta z|DYGl^US<*aEGZw5Hq%a^`>%|W~sOteP(oiYfC|vg5kp{ZXUI7(WibbF}Tu;ag8zY zn9S-oU0=bQakPZ{zECkJZnkpsXor>>fGxG zw+X4%g`g^={U)Hm5zRm9jL{;B@BNhK+^*zy3qbiGMBU!tKwt*C?}i!z^M5OwE-tx? zeONZdD%@(3|mprGXHDS|DcCh7iq|(LgmCf*V+S z_xN>$ElWrP=y10HjK!4adX0(Dt9S9TwbwOTS8!`lu`llq?p9rYJ6(h*Xc7eBz2#1bE+--^4Wk&wGKQl6G~~eb;Anxvx5+=~ zQ>E3lcK0^t`^7SkE`#C{{U}0P;X!J|zTyXez&evf6kS{V0fijC&3c1Dz}3!ar~wo{ zVRBkK^Giw8F^n-nNC+APK#e(=S7~z`tYbLZA7T#$ddO*v^rOpAA&DQ~J&OKonf{TT z@AuCo-I$jJMdaw<_WJJeObA_l{qY}9 zaLMcJ?i8SO$7Fx>p9#g{DtwT&srHRvqL589$GVp@ zS&~DkT>wHR=+n5Gpo2yo1y>j!9t34C{$-Hq=yKt>v`ZumP^W#2U}&cCIbT)#w3493 za*Dl!VpnH^Yrc2OWqVH~VUlbuBE;|ePL40I2}eG*tj{M1!2p{i=+{~yxQsQ9t9F78LLK;J%~u6wu}xR)H@8Je z%bm}^^~|EZ2{!^IL_|0Vpv@!#KzNx~FQV>)Fj0!@8p49*dM%)}ye=JO?{U`*OQA*- z(n#oCZ(oq<2drvRaKiGup+9<}BMR*8Sic}1Y%InhJpptJ{?8u{6}1pb8Bj1Sx~>IZ zyaLvF0g!-9KYWs(EVIlj`4=@EKkBURm}_{|-4J<{DSo%SPszx8zAdm+JDl8DiVh;{ zj<#JSY6<45hji?Nl@(ZEcrTTY#*I5z`)1_q8nF?eEB1>I79O5c2)|3j>y-B|ULt5P z7hKlo1^zRin>B(U0cY*5$C~$-qFQ%WR$a*5!jRfqc)_g(dg0NNTXA`M9Qfe(s7pi% zl9XeqX`7fI4mn(+F)v$W+JgWfbPYZq;%X$C-`rO&^(UCTgs$%Jx4TAcbFlZTb97N_ISB zxe>|bhuOg+5C8TG#gDc<)PhSy63J;A*f0aDgcc-iE7X`J25LBPA+WfzECSA@*R5B?N=GbNY9U+T$&~`dZDxxFw-_K zii!xws34O7GyyA)lnSC}Ktfa-vG=Pbv?B>yW6ywvjw{I+nG3LjWr)J+)MHqVzX3uy zG}ioi9}5Jcp?F^UDy$mFzMHS}rHCS`MWyI+&Vvu7i_iQ2q@=H_dwwKyUuQ1)AoZwJ zY1!!cP>Yr(906=H3!-2zUi_%G8%PyyKf|=ICd!|Z#wOxZo%IohEZ4!Uv~!MMAG5kb z!zLQ*hp?k^$O*@UBm?yZ)L(NFV_;g?@l8!0y79O;=h_2m*Lbt`0P<^z1{e?JcJtXN zQr4~0iovzyR63VtmTXQGLC2J2(GomjAM16YcXXtPK{d0+2XJ&Rr$qTPmXYHHig%_{yyb-|C0 z_*_F^#Y)?eL{Cj8c$d2f1Zi-xIsTP#xo{y}ePQPgw0R0IHf2;nB}e)?IkH~jJLLOP zrU6ne-NKHdm<~O#xUWTaaqrZUY0>k3(SG5+jg{<>M1fJ?Q@)jsz{ME7C=hE7Zn=Ok zWVgbfInpBvg0q^$9RL#nJ2dlUTx%iWb{?xa+w(Umt7O-p3YSgmLM> z;bot{I);g#Kgw6AYf+jm^e8O)+U^_7Tnbq8R+@GnUo@0HB(~PY&mg(iS@HJ3BNy%RHUo5W5b$wP6yd+xk;7<7R`6&-l-iWdx zN=&YX_;fQ-&#TZ}qZfd7daVo3ZboMah7Lg&c$R_}vHd5usuy*g3qqNq;k3T?MdH%V zCQ5AhyEq2HnlZp%3ZhY1ivNT`!W#CGj?v4FsCnM|T7u?p#U~=mx5i!pH~a$0={6sJ&V$y@XXujR zB`^|KudvD=TQKDi+;ij(0_P>#GiqVSz(xL@2t|CCXyWyTu@3x(RE%Gc^DyP9zs-2YWm^Vtzt-FYNhyb3wnc=mUZBcmX(+7$ z3RZVQ*bjG&4Q45H6DZF1uN_s_%B|Pc%IiH-YtLo3$QcBNiefC_XeLkxk1dyG1&eLP&gcxZ9AskMy6ZrhozIQaC z;;RNFZzzvk^qjSNpN6qTn9Rzqk$ypnthXucT>r^_E1voli5>HYB(Gq_Mh^3wyc;}qte_S<_tjL!q;rSn^E_D<-n66Wq}t)k5@8E z5JN{X=y4PsLEeky&|b5IRsS^J%o7M8P~_0Oa_3IyQitB{RcO|>0mn^?57yuB={~>W zi%0|mNabvxa8KeDWGyv|pZO$9!vaX@Dnn+|~LLZOl!1oD+ZBbOkZ zv;$2vMNMVZGIc^|>0 zS%kVb4A&0$G$Yso@we9nZ9gyV!?!sO_)QcqOAq)o&DpB1T}{XwCLSau5mQ-G!J~d6 zpEGV|t_TH|Z!(9`*Td(Vzd?aR6CWdC0!wTcd>-H=sQ)l5li<+r_AA^~CIRUk?>6X8 zcg4ZcC5XVTD&1$ClU`dM71B6@i6v^Ch%*URExr;+jN}xKFbSX zPCt5oAGiexT_j9P^zq<7{~>9E+dyF#hZrUu6-tzF#NPq9Mouv3h5;HW$EQTDE|=h& zeHw=V(M!t}aTetk^QVZtF}`(TN9Y5lM-svl+L+cO&Y7U<*JO~_FJJA&@JMTQ0e=TOk&y0CksHaids3_ZmfM4 zS7hH1K1|R+k|XfwSmWan_jb=g8;aB(pf=x5aom)x__l|(&{NgnbDL04{&C?E9t>Iv z`>o^+cOMsMv45XC^5w`${@XIxE~AL>%eYFby_itFG3VNo$kN6iN@7FVGwIE!Lt=_; zT236Fu>s3RYhK(19&`M#OX!EdQHF;cHzfhnlu_+SGB4KjYcYrF5vDfVG!YaHRoKr5 z>=5a=rGv)`5Z$?ji@}S<{g-JbLqp&RDB7Y=*Q>$qO7OgBY>#$J)3x0ISS?;e_Wii- zW6KW>g|Vve953r&p+(PN_1CF)psH<3kIq>UHZJyf3gu%&@mJw^)GDObJ{7Y!k%AL zr3dkQ%1-oyU9g;p3{c(et`L&w@4UfX*}T5{uNG));2xss(l<`uhqpY%PW5x$HhqSq z)t{CA3;r7PO#K&wEj;!wUyuxza|?>To%4#IuDuLDjlZ6_kCY;}R4*@x5qk9ADx{{M zq(!{^hqEjst(k=cu-8U*0t<2?Mty?u3VTK%<@1XqAV3OlQ*WfCcI4}VnaMR7b0d71 ztzpqn5&r=BiFj=pNol6f7}<1c;LvTOPVbej#MkahTqcNDUZ1*0+h)O(!SE04b$GBB zU+ksTY1=#b+K6iQ2+Zk7@)6QIx%G()Df7<|S_y;$HQj}m&F&D){PvWU4^R*T;3-}+ zMJ91<`VU|YN*CYcnCkkJE(U@8%g_zI2-Kj7vcwEy9_*V>ybJz{z{yJT!=b@(SY9v<@rX0VvFC^6}S+8dqj|PjghsyK@76I zK@Sl#it3&{M0z7fs>hzfoO*Psmg}+Qj4P(x7(7x!L#4g;u!;DEOh!nt(qjr5#ipa+ z^maqVZHAn=AJ9jrO$aNdL&;0qH3B{EwLcag zobwWx%TPC=pV5SirTJ+243!S+zrF!yy?T-Swd8bYnM4a^cRtz){%l@5-qc0B$$poa zM&4z!%U|w>h^=UvG(&{K)Ow6=3TkM7nFeT4*f%%^#^^LRx}D$t0{|$mLU&&~MK&=; zKMK}O24njH=wVSGrJ{uXG#fU`%xanW`5~`)A4TZ7YZv9^CY}5JxiV_9w_*s#`6Xnq z&O`(Fd0bTZm`44qvUug~#F-LxBK%V`K8A4UhrE;aGiRN6t6{Gfg#9%y%m5!Hm2=pG zBY=U*8SfdO2BCVkp*Mahk?Jq=5>EJU0HKT&+W2Q?t>fTUxCg(e-lx(tkY=)25VJr| zvB&##ui@9kO%*?-zC!dnjDSa9q%-N`Htz>>T$4x72U%ExHn})b5g*Zrn>#r-t9+(X zC(#%YLU527^L$4<-$|N`2enQPUoZbLVH*oXOt(T`4gN?S;82|I7yu6y@_XFrImx8> zjYLzY>S9f)%iLJ9Bm3@+PKU7-CU&91DCO9FQ9bkPH-&U?$p1N}s>oD=vW-%XTqof< z=fRW0d7jHHrf@QS#K4Ag(9kY_W?{xFt9umfq`4d$e~A|t(TrOc{_z@ll(@!|Y7|gv z-(}SRai>CVz57Xib(Uy$U}q!>Z|pYSc9Wq_7)lx{ywEq0)=n^4YN=ecG;#fR?n5cH zfe4U&0$T%16?=;QfLXHM1k*U6FjpR!TKhg2!kZ|Es`VCe4p*j}xOY`>#?w0?JSvWO z7IB(C0=RPa?N13-2_ zo@4aE8`T+fXMi|Or;4@J|D*i;hU2<0q_E>Bbtt9ERHJ~5@LgM`m)TUOiw&dlXXZTv zIxTPZTg6@Co5?+X@00Q1(u#uHQ`@<-C;h5q(Zt%His zi!i(xp)smGUphA{7c3V5%%ef(rJzs*zB#xU79T@XX{J1L){S=4@u7m-TRbSF#|-ac0-inClKk8lXGV;5o% zTl*8yo(@?4i*_+^Q{1h1=V9W0(%u9KqSY4t{dW8G^M5#EN}Z!Nndu*j$^>Np9ui zF}XB&KA>%%GPw0cA#I8E000oS47}v)jaIz92TE!NVFGhi)w8=MeQL`&G^utF4Kcd+ z-+2F*Lu*Di+kcP_ONe|Z;Qy+IoB9ub!%jjnfhu#(8{j-tQ zeLChQH882Y*JGmenX^{>_2Jchq+otlbvE9&>sn(ZEYay1^#Br!AmO7DvV$A+7~2Jag8L zHyq~OPuiWp2EE_I4RX!O*W{X6a6Df?1JA2lDf8Fd$iHm%@wDQpH^G%oqzv=lx5>x? z{q*1S1`HklX>tSn(Rvbv2FxZGdWFLJa{sMjmDP$-dQPqkegs^YB!9yD#e2;)(c#T4 zjmPiux*yRu9-LYJ8GDH;ssn;I(u|{?9Dc|xrb9kJcxRUU_bl42BE@s$=+KwSl-ngFxj7Fr6f=&? zv2mAp0|5_EPrAgD*A1e3FB4LZCGXp_V~;=RGE3IvM_;at+KS3KBV? zQC{9~WWtLiL-2HUCS-WZ%}u3Xlc2o>wrTY5-x8rQ8%Vz9nzI@c`p&H~w6@zm6GM45 z$t4}ObIACVaCn(RjCD(a67E|sE54bgg?t6{V5l15@Vw-<-%0fqp_2@;Fiz*{p z4j$K+z%;sQ-5nqFdR%Ps{w|(kPw-BZ0biXIKKX|gK)Jjsb|^$vYhWdc;0jCiST$0l zT;PO}6S%GBV!HA<29lv=iFr8|#-!>Lv_b~KD$#poK7(e*avjI@_|W_5*zI(GMXHeu zVsl^6exTM~qZKB)qzN`CxNC!eHi&a`jt7nrwxgX?1F3>2aEW(erc1#_xgOq5GaOa| zr!m43I4m%afXTFNaf%{8>6`Ou$2FWp2DQBWO zeKv;PL}C3JEe6w6a6MRZ2>wGU?BT?M6SgO*LyszZdPz0jZFqG*XouwKdiNs-Kp)lZI{sC@VlV{~~_T8(;s1##+B*0E3Cp3`srp zXRs~l1tKD=`uh~!z?2eB>};ng4W^XvypwjBNDf?7=FbtsMG^QiTWCuBM-as`o8Gy*>{QVVgkN=%z48N*Q-~^ zxz%f*5;8aV5n@oZfsl-XK9#$o6wMfy{TqzXProWeGDoy6*%1&yX?516md_rx{H11p z`?_}Dw^1#2Gr2WcvyF3_U-Ax!)}`{g5bqpcl7+?o<%c}Cd3}NYqon_UdzbVYf4i8h za`5d!q4zg`?nQya3Vbf{ld)kVcW~Kgy&e>MeSXS_TFYnQK=IsWWqdNx;rOCouUMOm zlXkFkAX-LDRb>Rc-@(-P>f}#d+GM3iVsG{8RhH{53@FCSfd~0I!3M|o|1QzeQ5WVV z9^$_Rb7(*n@K^c%7aUcRRo&7*kGV|!{otj+dcO}IKMMz^2sf3txx2rsTpBD-{K3;A z5+jc$QuU3eo#~2hJ|OMVoW@2R_B(w-UzzDt!1?G384Da*c^RJQ3*%IPgW!GXnT6r1 z*0M(olxfSQ-L?Xy)@$l(SiX{63+4J{!8Q^3Q7{*l*HIqw2sg<^UF+zacsBkrGI19) zUCg^X)~3-4UOyw{Ov;dAl7=R|MaLhX=*O>$= zI0zklP4IbLz2wS;Y=>!9IfRp$)1zzMPv1+^}(6zgp5`c_C|O7La$-2;#{MEy&_r!qjmU+KYXv7UpwCF5%+PO0b9(Z135ur77<*_yIA^Aw2fa+#Xu-)i6iv5AMq=e=ohN zhX*ml3UMDP=wUTnM6k$~zJOH-9B&6N5dfTj7i(J5ra;b;29fh;2lUsikkQ#B?AytT zcMpa_@_zvl%#8reS8pZfmXw`0hR}F)O8>!;el)KnFWoM^vS$rE1J`e(Ec;R%|G8Z! z8;09wkM4oOHScsb$BS3%1iDgV%%Zo`_J{l!*iyOA8Y*<+%jfn2v^k96k?0vd>Yaw4 zSWQ}*)bE))$9l>9Shct_O(!vJtls@p8^6=*prt8<{=RcA=nki-m_241K#5!y@$KxL zkmz#0=MIjh>Ipw`#cz`9XySxbc6HlG!r9_il=SS!}V%JlA%PemCXhkn2)Ss_kKGi0mU>Z5oZ^0y|FJ(nj=wZ!<6~8GReYfB)@kT>TWw zI8o||V$lT0VIl_0ny#^g0jjICTh1A#n~QeyVhiIG*~TPR3%Vi{#eQ|qoo6;Xzl~n{ zDTguF9C)cmj_;E>=)D?i=GGYxu=x%t*$YJ$%k@I=PH*svw3o%}^W<~BBhbMc$@)@j zpYJ-IrkOiTm%kJ$fRP6|WC#wSbOE@$^`S(yj`)h}(mCWe{@Ul10_4<3pvN;@)(FsfT2nYW# zsJ&ne{EU5;#}-l0nB5JU9_t)vpAn;g2M@g^gO^C>dDV-+^k)fE)rPAtojZFjSdJ?A zJp87fR*NV`HY6{3L>rfiHm$^0mI%%$cS^ZjAnW(!M>!OIt@r6#nOYq-*=E)Urh*@x ztF2jk9H7VY!Aq_dKmqzS_WNaW&Nc(GC|3I_B-b|-(r@1wFg32VPr%lI*U_ust$fv- zd~xS;+Jn5~#ulsQnnh?e$$A`>7_TrjG4R5sQfiO@I(DJzGxUzDHDtv@UqqeLB~J^K zyDw?PeE;%cAamV7a5AcTS4t_ZAS_?H&b}YHIRhK>zBB0i#`$q{8X)hR%k*p0vP()V zA^`whuW6T$+61Hcpn%twcAW;P>p0QQ)jCHScM)Hn^CPjH3e=GS=mik9q&I`EinyV)J2bobS7w> zz{mn%DWd%WeOUuFboBQ2J!0zQ;S!mU5gibM>#&xTirmPhL_l7aQ?Wfxw|)3opqWuc zzXZX2$PipyE{C}h^Q)b2l9>n^R!GXJyWx7TnR#-ay}1#_WC03Fa$a(|-eitKT$&T~ zMnH1`KEc%X=7gVd1+Cz~n{z1zR5N_}eH)=fFQnV2vp5$Zs=m}LO$BTlvlVX zm?RU{-Qg}PC(NTJkU9l|f100q7KkVj4c_0M;XNqPI0mfLCeH?XZ1 zkpfll$+r<@kT9>NP?DAqrQZVRmN%&~BS9q%Q+G`@;ar0IaP4pBoMgo-hwM$YcncK* zP2X3=W*-qraKRKKtVPW}!n0wMzcdHni>07I5)Ixzx0DY{_P* zdTk+h$R0Zu4XE$`YwyeBp>DglClXPXEXkUbr9z8j7b7YqOO~wdDOqN0ks-2GmXy+F znI=)Pr0iKLMHFKl*>}S*${J$cbB+7HpXYs_f8RfEAD@!c@A_TKxz72X@A)1)NsPIm zxwUDuU4zEoQDpc(8&b{FY0Fhj^6}GHX;G08@-|D~z^E+~jXiCSaI@%v1h z(xCg>C!Md6)FHB2NB%qTk;L&uzXsQ+0*^aW|1*sp1KE%Nc>JQT*ha4bo} zm+|gSyEec>`JH9r9lDpb@Vs>sWnT56zL*A> zmG)f=ukp49f|Uec?uQi$uDIKDh<@iIRdt-ir%KtbOTof1>Xq!R;wR(ZUW;-%^V6P= zk6*5}$b~0Y>OpY07XROy|L==dpS000ISG`Y3PnVk$sOyP1q|>{j-_`vOnoNM@%Lh| zgz?!=X_L6UH&t8K)YGO<4ths!uU(6iaL?LQ`9;)CQ`+rD%kBwVjPOUHRa+N6GiOFW zaHPv6zjHyu>ezpU1r=UT@fR;5eBnP4Ihrczk6}aSodmEvzZyMuD;E)MdoI6|p18ep zw&qCx>}ME*?muJjf31dcsvTjtig_aJlf9uit?UbBwflX$S;~3yI5yWSb=zq91JQ51 zkP?dIwaVCD!G@9h?~6H>vRmD_9w(=v>+%1D$;>r+mKt8ky0qmAwfk{pY`!>S2jj|4 ztNGuJ6jzR>h^J{QCLH&qM@)URV-2shkh+gPU7{;=2LF9KO6RCwg4J)|nsf|X1@1qlF1(=DoW44j`#(3Gnr9q% zgVKo-nTLD*{0csX(T}G1b$z+Nr7d5EvGeun`2vr{vtnpGk{1_jYCLJ0YuUK9PMsL$ zN|3DX4-n&2M0ZNyNNRBS1Hs|PAmQNLqRn=l4+6d|mp;B(K9X6R?n->jTA9rod*e$s zrP@H$rD+`Wk(O2vq<>Dew2zG4u)I$QFarO}m0+HC^c`hgO&DX|hS2p|9$0A!-$l#2 zPTf268AtBLsO7tT>7AWZ#kacC)a65Oh^cxSyJv~s@5&+*&yPAM7ys&hcnS!)W3T?7v7GHFC)&0T zrG}>`2&f2XE5}RcId7{Tf6`7!sjjr`+JDb|@tU1Yv~69X9PC|Ix)+HIfu+On#)OzN zp4j}UmiKSp>#RDp4lo&x1*3w@8OlJPDNFb|E=x*C?p^Ze4z~2M)+8KIxVj zqsCCC_ef3b-Wu*sV;jImCvNr2<+Q`WZ%a%*TWz+vD?!(I-veR z5NVxw(K*?!y*u>>l4A=g)qb=L3R89oJP^&sOMk^=aF6f#zpM|_9a3|rDrNC;Hw#_n z&y8^neL^9qRgVia1!SVZoLw1A?x$UTj)leQsz%&x+#b;%g1^R2?O3+wlH zWVibcClr6;(RqIonO+}7JK60%?w$Vu04nWR!qpE9HhyZ>el=la{EW$ z?}oCex}~jnjYz!-c}l8aXD_`pyrQ{Oqp~(Q}gp_!=(!Jk#cj)P`3b@@@(fH|7Vli=V61j9cIG z{yf^(x-#O)H+v!-95aoK{N$1nV{zbGP6tWLL|1aWymovRuDIMD)yxd zzJ2|M@moJ8aVc3a#|4wPJx2>AGQ_X;1TnQKQL+EHWbMW&RnL?66@wal&$iZm235m* zbdBzLV;?|{r-z^K$SioKAvBulv%7?Uj{4X>cSz?6F_MXT!`tNx!o zFUMe)WofqNtTG!X-vi^T-LQO+tJs5NWuE zKhYR7vgo4dy4-1ZK2d0o%kZ}wp^0t&azEytNJ*w$_fk5Cl7pmk>)CmM1Dd#m5bG_u*>kCr!VhEZW zY1rxfuPLY_(DyobuR6dA$J5#`I9D;_u~AP%w62PA&zUeCxHDw_cgwdEu|sbypPJ zu;k7$Zz#wM$fO|kXe30qw9Vx4TuQOUC2puJRlZD|(tpY|{q|X)A(?ESru>R{=h@fc z#}RaG9*hXkSUxw}-@zk0#vYBbf^WO_r+w;S2_K-usX&#rYn|5In9>ucO|Yw9AbcQJ zqtSJR&r!noZIpVUeT7jVa3w>~BN50na-kZAkm= z{rB_~h(=G#c#grXx0Dk9xDE#eWOGwW$}!kJl|oL5$4OEPKHMVcBCAs<(lnBmg~WUE zDu|dh?YsEnXV(?IJ`#lG`F?9|Jxvu*)j?WLMqb-Wa;NN6(Mo(!h};wm-8y0s`6<~pMm(`_hs*nPc2Kzut(qqRX*oV?v4v=k$q!wS~|-kYRE_4 zvjYi(GK7gn>7FAg!8a6d+swr964wrJ3KX5#4kE5uSr%5i>fiHxr;z2og4Xr9m1V{- zl8w^)9=yK6QmIN3>thLz%i=C5cHx)r{vFQfw~{m5 zrW!v82hbVi8=Kp3?a+SWoo)hL|vVxnJ{DUr%=p_P2m*VAnv~6(_$x?uI#wuxYd%5&(G9j zUF^DxhZoHj3p$4TtH$?cIvxM^ASUV0TW$HdO&+lnH#?t#PvS)y0LCoIfhgfveGH!3 zuszCC?kd&0@bRI{n%AD~c1w<@L1|Aw+0(hR)2F*r5ge2t1(rjemn>FCx5KgC%kGw{t|evT6R3sjoZxUg8~+O9ERRiweM`(-xlc0 zcrdvvVfgO*R{XU-8{9X56^8xo2Jy1@WBP>z)Rh~EHR%GH%5B75L_VHQ6{~ooOJ;@3 z86IJZWetB~zN@rymP=an~~g_a!m#;A|Vt<)E_b*!xxPiK3T6GH3YS;#e{vdFlC5JQVbFb@x}TI%8L;h09QN zn4b9Kq5TT)3pp@XXE5O73z#=ZY7#C8m%vB&4V0A2u>2ncVT%Dm=JVd826LSa;-q!< zHWq6TgCArSE)HptLe|cS$UAP#g!Txt@#fUYwZ|~xuvEsE>8B2Y&0z)w_{z>GJY2cQ zd1BZX2D6FtqVr3)rNVC~yEHG81FBD-5%3L+*^ytTiXRrD-0DBbsMQ%J$;I!x>Hn=( z*8cL#9%B9RP);`9B~v|y)v>xM9H3Tg5Gq9$yxY!Vs8$`zTFC^CwGa>!gP1%XG#J{rdwPB%zt=Yj~hn=M0%!FQkXkfDaqJG@!3e=BrIAxCJ`Ldp z%BB9Aiujjji8V5w7ezV?x1%&>tCtyxwC^w&tBT=rV)(+yNbj!$Wd%@*5?@-IzzBUn zv2RZ$Boq2)I}0XDC9Jsl`m0=SGVaIl6B1ZIZyv;diPho9?79tACkNu!G_zFdg-1v2 z?{!;$iDKL! zK`Ybg32rd2f>B)=QCh3hZ#=(@8>nN!SVNsPMhmMKZ+Slm2w}_wyl=PM>5nA_)s*u^ zuC~X;S_rdV!>@As?PyH~;qpH3nT!Bbcte0doM-xWHec_z(BSzy6j>)i?y)x4@q5s2 z;Z3(p?A%NNzCBXfC*W7vaM=@pGX6pG0YmMmB3QXh`-ZISPaK=wzEYuli%0u z?%cuupzi~xrP2PfXAD8>e5=<}`&1R5#Aj23=vIYn0`sAbVo_)&?{Te}k_um!@uUUj z(xncH_TG1Y5nS}$Q0M|{$OmgEinMWF`*+Jt=B&agY>=oV{`&?qu0>I_#$D zz>-QPa_QPHh!u*%8@}PwY2P+isyn%76;m``+JxOUfo9X=P7>R5T1SeVfC^ ztp@k!+6yKFB&^=m6yP=b0tfrIFs|IbwzS#zB!<~th3|8U#rYohcnd-gt0dHZ%bh+G z2L}T6K!J`g9zM`Cs8|EEUR*%h+R`I@=L)8fHie$*bi8ytW5_j5_jG1;vZ=!!!8&Pq zH$EVy!3)k!f%_LJ-Np--zW(wL@2rfkH5kk{Xh0!+L%p3(b^iMwm7#0p zE&rvz@ z_nf+H*+vXG1peE5iWwp*IR7|P?yoiCvr9JYhmVVNq22~eT-n2dzK){)ikVoVkM!;i z>S7B!Jcvd;h}3*4((u=z=7P7sdVJ4O*Zp?sn#LW@m#fcmV91g1f1BIcz)o_B!{XWH zed2OXcl#uypvwPFbnQYDkbuq`fY3Cnf6D9^K{jL0Ut=ao+{2$fOWtPwsbKT&S9>7& zG|`V6JkZ;gDwAKlxO~J!Li$5VUfi4{=9B|Kvumjh&w!<>m|g@OaxQias~_<#9CWUp zXjVVAANoQ;4A-8i0Y<8b|G4Ixw!*0BcrGzMbpe$%T3Q{U5vFmvXPb;(gvnzoRPF8v zTXa>Dg#^jdm;QcNJ7z88V+%L$KFYmm{;qsRxH_FN zeVlRbMnxKW?xrnYVn69aQ;ptKoux|?l{(9~Ig;d3+9ELLS_w4U?$J^Z3(1>%n9HE6kxt!tDjx7efc?NMNuP-Q!4N zh|GQgR>aJ=aDLx;f_3U;)b0kgIblZZNQm5mF`8(o=ILu5;CGc#sDGvsx&EvUIdUbiPV!Bz+@1Nm1np4`8m(?{#pb?sVE;#>>vwB$!B9eF4{&h5MvO&D1>P&Z2g?9Qp@Bt~umo0lDvWY#sr?I-&4_ku2 zAZ;5u1ffR98A8o7OTtU!Yx``T)kkMRh?*B=*xTasrZ8!~$04cEWi{sLdfV0HD#YHu z+#{!yz5vRzdti}9s%yLq#;-D){6Iskj!x)SL`N81>D24%$vwO)xACxB$R4LA#YYY2 zZOzu)G%eiRJK(-s?i9#a=IpVK!y8iS{cle|XSQ^w?8bsz76N!Wg~`Jq-)Rzo+E#yw7Wk_ zadr=@pE6U_5lv;y`zrIq6E)KCDO>E!V)kbEYlOqW2IF^Ma)3H2KS}OJXk70WkKQdH zqW(4X_D&zq1g3UQ8k8_8Zy{b!HhMYvbbXYa+yS{mawcg6L^dE!+k^@#C=GcRs7QQq z`J}f!Fz*H$5D$h~ju_V00C#(vCQx62LI`_FG=Fa%5{bVyo@<4&nA0B)yo^`oCd^W*BYEVZ4!sVsc-E>dHVCtmlh^n!euEGx?q?DZ}LO9Qyw4Ozc%eUpUtr{2DKBa&?v>Opz2Ig zi$AED(UM|!AL;pxXbPy|nsz_nc~1wSiP}T(be!M*(NZw4VZe!VY4;V*x1aj3B!*Th zV?XB9SIB`(9f-FqM8|%iwNhIJ_S4~-n(tr6pE8C1C+t$@#YRs#59mn?i+qhRdU3*h z*iNdP?G}jeK;wy(NdYxE(9a1q_x3XqAr>r*re9>^?##0c!X^aTo23*V8Qew8vk)~b z7uy;j)Hh5#5pcYQqF&%FQQ=~1L?5>5a5i!!til*URr^Esq7x$xMoI~Ss+Xr!pRvB2 zE3ADSR}+6&{Sw@{-Z~9Lc9!kDX`eC&(;73lOSuG%nPZ59mH;q-eirCT#U<{HBccc=^E^u0ol&16P%>1DUvGXD6E`$T0%p<^ni#E$PvN}#eog51D%-YEK;6n4_TA*Sf8R&`mNePlXe3# z`MejThJUR4KK@nU(82E8?1o?LYdfOYbAF%P5S7N9B-+-Fx|ao%2OWN^Fb_0AMw9mCjo%Zh zNMe_3I!5C6ILRG-k2>W|U}P3fRxz2&49eVe^1;q+N4G@C#pzp{ZkER$mJr9eXhyVm z;o@}S!KWB#VTV?g;8XZ|{`$OeF2Qi4>K0GX5@Fbkt9$zX*mH@Uj&${8W0K&Whrm3$ zy!Ye5uWTUE4l@G19MGiXNQM)*ol!65byhUz>w=Hopw|kmhUFv#n+ew<=p`-dm@No9;Qd z#1PE7dXS;c##>^zYO7wva@J$Hr)feYsog9aNRphJGc(w6i^PF|HJ!900Bm7u5}|nq z25<#n0vM`IQ>L%F{rFK+lVCJV2ReQa95XvAsEUJbBASQ4r{aOe$69B{#kNxEETczT zJgN9?q0yRIdS^02)#v?OxJ5*Q$cI8dehA&@&{{H`qBIUQ(Hl=9`N(TZzF&=sxD*SL zc{cmSd<=&HD)1TW>loUUY8xh{-icHCfFIY4Y?s`ow+3@cA40yMioaq7d3UF0`1koj zs^=P_6Q5MptGgGVCHiYzJ2XD0+*T|~lT;(8>4$KKt_|g4yOqpcLS5t(9vw6K)@b5X z9}%J#q!%1q!R7EXm<~=<0x?`+jh4IV^v};5OMiwEIMh(T!MPCzr}V3lYc|oBIX8=p zSH+(inaY)TW6Yenb9SzUnCpU|^RRQX7pDh`Vb*hrou@v0_bGlD2gU5rY6<@6u8T#d z8uZOpb`c1OX;f~DlB*az!l&M3EEOC&x?xIw+Qw@^+R14Xr;^A`6IGKtSHW1fYk}4R zJ#pss#hK}eF||5h;|b7+9AUl5a%lAiLPpU8DNb>b-SSFhK;b65bLeaH6V7)8{XI5} zbv;lASZ*1m3n1gT#XVBJdiSN_ER~qEM3$Ak1P3goL(RJ>h~lKrEv|M#Kf9_|FY9KZ zpkGYe30-Ww?nr}N)DbyVxviR0kLtz}p}@xnI*v8&Bpe43o{Qf?Hk24T8rnPVcq(_@ z=^ZwSFW%wc&j>yqoQoD`e&FSf#Z{Q!?6#}3%bVnzIL#bfx`~34gcQj-A z`C_hCScBeoBy^z|Vt&He-|2HlJW80FlLGoH9}jNYHNEiAnKoCEa3$NkLa;2OgTHR}Z=00^42(3Cn`V@fr-UY~O|;cRVq%RySo%(~2saNJ_r zKo>ja00_Vc1t~V;frj!#e9;mohQ!aJSd(FO>{tr9>KVhaoe&sI#YEU~yhbT+9!op{8}HpH%;a7A&K7 znowe#WwqJ#X9SrzIJ#kn{i_tyxQACVXX=YCX$gi^T!-UFSuuagUYt z+<~EP*dDq{!D^LMaM(vIx9|=9Cj&h|la&~RL3n}p%qelV{i>a70tO=tV30M!5ScDB zDH1G??zbt`TFt3%u}bOq6=Cr^pqr0&?jZMDe(5!8o)uNs3ye|(cJ;ZM^6i?|4qa!j zE$E@7{A#x=xeDJ-T>^N;G@3))MmFO~@EtwFs+vt!g%TJ{B+~zSRsh+{ieDUJsLAa( z{@mT@KGdHmb{H2aqHedMFANgHVA!VUP6G$Tud?0X5a-;;xrt9%U{7DpOAb*^k@-wh zzCFq>H5|3~U4kbr>Ql)%XXCI*8D0^^HiI=E&j`pUu|ntsV4Kh*#SHw)O8wWXnq%yYo#@SfR0xFdR0 z?uDjIsh}Ygbx`o~{i{!32_ft%zsSvOY z>8&EoCcN%R6ulqDockB9M0q-e9F$i0<SQ@dmB%Aa= zQVpt)$ePjYT2$Ti@BL2us(YED;2^DeUwnG(=O>;C2yqu@?)9CGzV%VRDqiYfYeX_J zy0}=h*}wLOd$sqiay}ppy*oma;}i*5k15{*!MC|Vyk!a0j5*r?Dn4MxnC&Areefc`MeVGLQLd8zg}|1rj=^!P5v472`^=JIyDgpx zTQA@Ka-En>nb|xXR-rpcY!Y|LViUSLs>`MN!%!%6SkLfwIT)fLb!zW*R&FY{+Q6NF zxPC+yh=x9c+WLp=`~-TX^;=EIRl$|*>Fl1s}?y0~|}TPs9GHb|7c#5HPP%R@oc;L;ZLTV4HaLa;7i z`d>7m(k4fnebr1O1l{c}D8OThvDY6~64?h8D$r@^15r!wZ*LQPx(bV-kgzKTFXl%j zE*&~x7Z5kB8Nwl@=2SrqQlGjlsB#W+oa3k##0Pb%^W#$u)(g9AV_2{4<-!H8iL}bc zP~lkMB?|@jxOfYBcYo--o0J;~B~FRxiMi{5cktJXo=qGFC7@1}oEnFScS+9B&Nc3a z;fp(_Yodg;tbq#r5z&`AXY=yMRXW^1X`56WG5~a7Nv{I&RO z$Ow^fz)bh)(Tpw(iw@-wvvn;zpU>>U1`XoA$%U&AiL8(4F}=0FCqHkJ~bs^X;&a(q2eBh60VD|Ab*5w-GL-mu#xrbV{V`JK)? zrRFt$0k@pZS2mtC3t$0&ya}pK%2gsi>|~AbHqUiWDtA-J5VwN*xutjYTU3wIjzBqP zvNd3Fe383Y+q~PHy+lkrf_H=NIh)`xr*jve3&6xIv~vq!`2$@4{N~vk%g51lp@vBM z;7KaF7u38GP({#Wt<4vx8Sxb>3cZq8S&xr{+_Md}N}Oi)V|N|UGHs_l#F6F!-Potd zTxWZ-*Uj@ol%d#Qj?KTk0y@vsPhq1~`yv7wiie14FI=h?Ijb6AI= zD~`*!r~Nk1zhpmq)aj(RCd$5!@%b;cJe?gg?zL#mKFK@0Xx*O1zON{6HRco_gf-jr z<1Gn4Z%95}E0&AEuzS(?3e9Nq<62%9Br5fy@%pLVxCDWo%Qi< z7{J+Ic<%K*$uZ! z+S{${Yfnof6KAZB(VlxXEsS2d~^8m z@n>F*>c}fsyOMTHK&46Bw|y1nA<(!^-TW`NT%#H`9imTxsWn(H&Zlw?J%@3Z_8ep- znfN}^-k>9SE{(y_r_OO$={06yG4GAvNYM8VwWFea`k$$~i9|4Gvpkz4i&_k6LaX%K zNxM?Ae_dzSJk^rNirK{m4(5gzz#pKz(hVZLe?5xor0p#qfR{khcI|oS3<3dH4i(ao zh^NlnX^x)|H zfqjL@*(SUsi1Sx?ZMx5Ly0CM_EMDt6&M6yD}u0av-eK+Rns{6QWNLL>2+ zo)*Uhd}wsRyCcf#yuDbdBeX<{+Zz_3G)_LCL$8++#rHoy(t*o`^8qo$*Fq`+aqkq` z6z%Cld7CiT<&!_5nqwms5+J~8Mx6Qr4YhzSxnukQZ zHUCI!iQE12;aDJHP8$ z{iaav?_MTUa>^kQDX1lmlXjg;pJ^`o>__!ToPC%2qwexyX)`N3+(8|6bZw!%Qax1 z451xn4ga>yvmm*&7F6$>d}Rab9r``)NsV{g4!BJJiV1wrEUVYiT6S@} zX3O|t!!v$-+}YmXAehFTyJ3Gm0u0;kuV8j}43@V65P74r{~{>Gw_RGcd_w&YRg{4XSwFr%bbTn1L$oanQv42` zP#fc%4>y=RQWAdzAOafry4 z0za-WBpPqOH;Pkkm%OK(vb<+SLb`x@M~cOpS{qry3xiwl0tGfeuCSSz4}b(TVGdya zB0vfPRQOd(VH3}dC%ZH)lP~W0EqBGK!}mx$X4g^1fBWm`0u z1%56yV!WZ~vi- zejyIqGND%!nCjeK&!I$3axP&KiRKep$(`{-&T-P}zkRigP%S#MtvrEBR?(-LT)kx) zUEq9QFI;_zQvx@)J%glep2Q#251FoGlAD>i3t;^*euUp?LrD**pN13%w*_T?5RlQ-bp2=U;mf7t#mVDBoQ-!o;Hfbmq8A_aRX$0TxEHnrIYo zW)nI?EU>?wHoQ~hZ%F%sps&)i;`x5f173t>|44k~2Gvy1pS8=Wg zLh;3=w6JA-mQk3%70(?fwJPWeZoWoyE%~Ln4932AgSi3SoMr0EVYL|SrPbJelc-1aJhB+*Bgafk1Bk>)PjdVPIlpxiepPe^2mF|b$e z)|cLMZKA}-C%(Ajvnv+{V}uOb5cBQ@4@tl04s>&WvXo)xbuv~))0sQiV4w0@8KTH5cOz|D!X-U8Oz*LxVPixX0LjtXRy5*_*{-&;F(19_& zoM`-B#v%R#00_JL_&!J*XjG@h?truGB-+Pl3wz)7M&T805%(ib&j{-C_6LV4nl`3f zwvp@%9YxoGeIN$&0Akf_7VuFySG+h7aWqizoR2furwv9AV6N-F-<=&A?LF%cc7ERI z*a3nYS)(Nj%~|x3Yf>zRo=uf-!>$*5HqU$hCwb85{7(}O6WB>WMcEyzY5p+6cjvRL zgWbRe^GgDm1gD!1QtJ8H9&?C1{w6^Z0hhVN-VFvJ2ZPXqK|r|?6dvXfP1k>?Tm?Qx zJK~{@DLpFs`H`zQ9vW{fF$NLRJaIqE|GeaZ;NXY>@*CkGta5NREwk7g0-D9kAF%mJ zQ9VSXr=GTLVvqp1FLz)yA;ZKpKne1U`ktZdq8<+LMRACrp1e9%XCaEnr9m9E0s6^X z^4cTvLr8Q%(zPEoewKd#iU#2Au`J zYE0udrvzfSN@{wxpWI&wsasC*qTBZYs5c~23WXeLX7Z-xCf4;KFoMoaMl~nMtv=m^ zMZWdH069N`SaruCI~ze{7?pGQ;!TmdA=K{69e}nuO4O2{p-N*2&Yp3At{QXIyc_Vs z^?QUg+#?k2+fIjz7eSr*%XUc2E%xxm+sLm&eGmw{U?1^tHl4TRcPqQ^yZg&*sI0 zjO$o32J;%BKx_>jd$+h#xy?mlP0FvfyiIIoBGp>MYIP$_S5)A@n$SBv9}jhOUdn`r zR~DdhDc2`1c_Z|zl^V0X*m&C!vmM72W9G$0ev$3CqWqlV^niXTBVaJ?);z5h%2i@K z?GSa&=_Gn^os<&>-X0wZc}?nF+0fvN+Eb4@8^Md}LKWlmO?6idj(cqq(%TYIuxpFR z2sr8PG#x8jms|^HKN{S^75uu2tOPLc?oVF=3tZ6-W?^qGi z#F_N~Q=zz=k zy{N5B-5|#ni>l$;k?P+rsfGN}g;Ix9inBn!N`7IKy$lAkBM$5;vFVo;yAFL}8m_}k zp3RCOa@PlV&7#BNg7l$`Xn}}AV5DU7DWm_)4vODKP%ksq-8K|dK|7fHeqFtD$1niL=RqL< zwL6a=`9=|Rt0+N2u6~>wp1Dgc%w0-NP{GEZ9%1+$&rI?geQB{!3gSI~J%+xD=js6; zq{G0;{;ch=Y(i7Q)xMi0K+7w=2C=y2ZN;yg3jy+h-H`OdSX-hu_5rtZt{3v@heNoc z{57GXW-MBJfl5aRH8JZGwCmf4{csSkFb2KeXWzo~=KzLfS%6MC!9;zbaso_mDU#=n_ZZ#oBU@bZ(^f&~Y?uj{T^C9{v$@**`G9}v&+4j02$Mc&}i zz8c1IL>0JPmZSwhN!)bU!T)#8p5Z31v*|JiQBT*8|=?Zt1caBW|t z(iHMqKPrO5^O^&G+yYFsJ!pl!PB5QdNSbEy)|f)9X@ERpQ(2$`2PSNQ;DAd literal 0 HcmV?d00001 diff --git a/renders/truck_points.PNG b/renders/truck_points.PNG new file mode 100644 index 0000000000000000000000000000000000000000..69084f9a0f08e3f650c8f248cd77054898f598d3 GIT binary patch literal 12875 zcmeHtc{tSV|L;drrlj#aZHPhjl&w(Ku}eh?Q;Eu+HAalVq_LGsWli=a(;{UpLUxfQ zF=QXhcru2@n!PcGbC2jezw?~$Kj%8vb$)-GKjtd;=U(31{od}^L$ra;4z7J%5CrWw zqkHlK1i_Htw{I&a7@;OfN`ikla2Iq=K-nZgI{0I=gOi};_?=zPUB$XmhY2{`E&Rbzv5;ZHQi9nw_F1)Clb>=fEw{O@S0dP2IO6cGrdge zy15mC(CvLyWS`I=FnB82!bll{0`BgOA&oezZiXN+r|I$3^^Zp_Kd4wz_d}58`4Q=X z*qrG99#c7dv;`f zYtLKLnDuRj_eLQgNaR`3J=!`6MQvc+U-AxyaIjNk=ny#L!lVaa_zZdN3vEsUED%qH zL6EK@Ue@&DxbW>QT85g{^ zLCf{E<31;|X%#1|otI<*Ea%^w0tH=I=WUI%e-rwDJnZCUjasKGZ@a^~EagjXs&5RQ z<=q&}^EtFWC_6IQw64X*d+?3#IJ)_|f)dK++}7!}msX2fH1YIM#!%>;;V zTe3O<+)O-`IN1hAt?}zhPU= zwtpGJzpds!7}Njr;r8lkSF=^0I+xXnr4ebrp{ZxE7w5i$q|(*v^1%7Q7J69nC;gm$L6`ZHlz<}kV=um&?TY=G&eR@ zQBY96(mKo!y?xlq(Gniyr$OQf$Ob3fFFsUXOaGCDMQF|g*{gZ`Gv~)y6J2}Wx|$@( z-kP$l*fV^|eLBaFZy5S>mM~r|jG3CM!$R6d{C19L?gMi=m(Cap#H3&WPE`nw*v<8)Q3Z9i=|sPnusT$G`)3x`pvY&)6iaesi7=hw zVAsWw?ad@@EW)UrB$5%Uu?)vr$oEeMKw`-D&f6HnIM^lJk$QKPJDGju<7ZJVXgzp7 zZe~FVE+%PbJ2y@b_f$9M0TXYcB1^<^yS8C;tyg;N|&Y)A4gZ~VU?G~krBF&s~)SE z{K$dpep6Afg2B+r#FtTFGYQiJJD|B!^ngeS8~SDSKSoUBD-M#xbBe-t{jHqCLA2C^ zzs=HWsJ(x{|7h8nD_q0MdNw1Tie)Rs7UJqq$14xESGSWFu!SP-w{l>vXSBL0t00Gq zQn`{6tq?NcpW3b=jzBN)q=z);2PZ%N4}U5B~RV;PU}42 z{^3w_8RO}KGZ7Vq5P5Sb+@wQq44HD6!ty>^U+g`YuzYqg>*$pn<%&$juZe~hrmM8! zQsIHIZ>R3N+PU6C$(ZTE(bsY0@rG*(NYd4#Ug}rn$=IeATIx&PV{}^1DwQWYtL@={ z^Q_lx=~oO(fl>gLzs4!zlROkH#tvUjXGc15X!Yt)bq5s%Ltzj*Hi_3T{dGDC9~xP9)g zvs#=ietYrrZbZRxwy})Q?~07+oq6R{*7i0|zhm;egg`K}@TQWbp`Mzfo z;fF&*Lu<@w`0d60$1bbANk2J7;cHhR3s@t#>psnyu|tdF^U#BqOmCPsH8b{osEW3L zzkRe%61``t1}UZMe9P;1NSr;p5$7zG*Rr7EcN#B0kQX7PuORs zb){8r#rL+D8J12}12S$;V~h7dXx?y*7a%ft;-9D-l`&WVuB-3!i(sKcFCLf2vp$Y4 zm8DTpGO9dk)4y0I5LRq)Ubs5>rnd)y;*wzZ`WNe;tZ|hv)Fet36dNAZHe5>u_@dNy zSKgOg)JR~9fH*m$hFtK}yc+wDjB(0aY&}SCND8E>IFrd{z=WsQ>SHB1@d~AZa&=Xe z90RMyEzJ1-I%zn0JX8kGiC>s0TN?nGX1RwUFpU6vf_gm^;CIyWS9TmDZLyL6wB9RW zrw(#W*A()P<8@RMo9s=xRPt!^nCT_%2mMO?T#mUlxY)Jyf_sq7isLIr>h`t$Z{^xh zXUC9|ngz#Yf2AEnVOIy&tVi~mIQ?_YYwCi;MnApjP+X~7%c{eW6>GV6rHoPySHi@P z$2RPZ_I>*v+T0)Z1$pn)N*TxN3hkiqH6^ah;GdlIP9t4={u*k@2n?EJYY}}anCub9 z<8<6~EAF&2-yw%3U?UNoAGL$n$xEg2%z>7%~YjojeBa!nNmRy&DFOQs>D@8|6<)^KXK3g^6nTqb2m5>|c+NS5TSy3%;^ zge{vbSB(p1cvD7y=2vO98x6`kX`lv)M&xcbW&3FB^T7o0Tu<*nmuN-g#Bp+O77Ek%VEfJ+k3H7pABYEDmt;EfM>01R6 zO?SO_l`(9S!mC~@2ElfNEbt7f|52{WTTxSTkqvI8e4IzYF2_!zJId2(^x)}GzxSg~ z5gaaHajmV7z+kY3`~0nluev5P^UN-vG&Oh+aEL~y;};x4W~U_@zK>~fV$jM^fD0;~ zOY8*jo~KKzHxom^^4AZopE^YkklpYwK0vfc#1!&!F>I$JHK?~S@xPAmd^xeRGAgy+v^*(vYa%jsaF@fL(?=yYvA!tpRj zp&T=^i|!3sc{$^AD8Q{>W= z%NUb=9a$BAd5ax28ShF;AGzl&bd?td%sSiV&*ZOJp>ljUJ1Db(eE^eqz5My&4G zrKmm--QTYOTLRkTwwhdG!b$lw%2`Mri*ae1^1vi;_+A7R80QRG1a<(#Nz-8RT)LyN z+CoTWJ!^342FZ)^b2)XqXo0^a8U$u-q?!5Z_j$+D7ij`xIkqOo8mm8x!Wd;^V`}7v zFI;etWaz5zOYb~!MZH9{ zk%JEbtk9`wB01Weyz0$bGFTSMHtBNmn(#WT2Awt&e6k zH?!;cbHUfrVBw?gymAZ7=hq2^d4*M~sfu}1AW={T*X^KOlG?#VdrK~yo?~54@vWUk z3WTOHMSD#fV05WNJBE6_m6*vgX-T!%Aeb0WDojGs|I;U%!;mK9ce#^4J7!peqP5=D z$zB^<)Bgsl-*%sg~c7B=CInO~f(SvjU{ms{T z3`TB$#gE>S!jmhH3mQyXG5?$m5}|ym2bCYq!=BXlPATZs=P9ov3U7V6AEp)nDS`$mG`U~7SR&g$|3VQxX!sK=NpW?^3>0gfkZHs z6ULU1iHf`mO;^1=xatA@+)ZD|xI;$|NW=Nxm@`IItPyhItsGl0s@G`eC0{=%9O!yn z_TGK;$2A?!%D3$K`r=dWK1>G%yE?y-TEZ1b7i2Gv4|d-ZS#8d2C=b)||1nW8W>oV+ zkHGf`vsD8mk^Ml9JN_sG#S3Mgq}ZFS;cv(+jYtgS4!8uwe{d>t+>fK*tYAJT)%^)RZj23iI&>7hm1Na6yj7*AvdWY0mEVB`F*Ziw9`E)`A9e^7B&M?+_hrKPbuYWA!NyltBm}~*CX>dG z@#TNX@l|Ym^EAazf%NQp6hgQ1{Co5c#^Vp?5tVKrcwA3z8m=lmcVpXeiI>fIH}0D3 z{0{0x%_m|=wEGtwYLYvj1D%hBEtn_wPKSrtN?N+b!mMn8b1fL+Glw35xdKY9Z1OmmReUEJ&Es|*_~!tR*|^s+#sp0DhSqPo92A>Fq#R!wVRzF-Vq zF-t9Q4tNFp*8P`b{Q;j+s~;DziZtpW-LrH^%xb?1mNlD9o>>}UjFHnzuByAfNfO9c zY-slxnaU8|rDfb0KmNiRq3JD-tn6I!jaj9@6xA)&DC%cz-%xiymnDBL7!xqavDMai z_qul=SiV{u`6V_xx|qC-dl+`U992(zwZhD)LCt|?hm(VNB4T#;-fZ7(PfaVd-@UUZ z7mdxzzaRwPyeKGO6}WU(_z@0jy{H`U&5``llrtEn#%0t}BZc?6u`RcjkCYr1ZfBUC zT}XLqnPSfJkxDF8pR#<;;_yU1FX zDRXME4u#R7L$%kuHz#KB=3TTdAN?uMpq}&IhU$)lbNUP5S8ptrHF*0-LEIqxb`LQ` zUN{MPA186}sinfwC!M|!jwOt`FE;({kozXue7iZN+a=}Hi?z@j($yi7k?y~ETdA2< zqoe4s>KAOu)O;{ zKo3a2s&PAQxBVRq-)Y~f-T8CDa(Dd1E#Em3O~!FY9f&Jk(gYmaMgU}J+{@ux~6<3DJ$oax<1PY<=m0D zs7%~@l~U@9`dS|Lr;vck1%asvzGvr!K5oC~3%V}j{=WW6Fj}gI=AI@8$>5_?F^(*= zPeq+Gk=++MX(z=W3AAePplho**dAt&!o?q7XswTxgzxoA8)P1_optUqne36X^mGPg z&V?M?inlYpb$zZ1-@8@z+h(MowshW)cy#!%}cZoBoB1O z{zz1?BlKi9doWsWN+oj5UczVPm=Kg^3LZ%6P)n!p&o{UJk*rd%;!RCS{5-#>`|o0WU1~xRv8lo@D*izNh^=hxdeICeFzExu`?R?4VbckbeE*nfXJ2_8?8evBll;5>!_s= zXs@*J*P;?M~*iy?Jk_$4sS>p6 z19T;*1Y-Iz1$fUgXG7H~4_w4N233EW*cJIMDj9);tU&LNFETBUX(Ci|IDtl)HOaZ_ zJuq|PUBCH*PMs{iildLNb@X`>l3}$QbUL2Kpu5)hB5v|M)-clQBic02gAJ#+lnsqcG*F_o0@p%NXyiHcgT?|6?WfI zYHa3s8Mb>c>RIR}clY`8@%brn!bMrEE{quS{!I2QF@cgmOm}VJGu5&-@>dyn!X`}f|KV^)+yy@%k4+$5(0WpEz={uT4#EScLqBY{ua}UiOs=Zf~536LKaayDW zS|gy$^U79tSF9JlSU>F>3~lc1|5_j3rbeOt>}ycjW7~2$r60&AgMr;<$oCXu5wTJQ$3$heW1UgV1h z(}P<%!4iR*Md$PbDq7K^@b^3)kYblf{uO ze-&nB1*)$So<9nY(>&Af(Llfck}3ta1My==8Iy#ewJs4t z*d|StRM_|4hnd~MoA`M|`yd%9pn!G}OU-5nCTQAI%3@ePYX?;BEf#)OQZel6!C5<^ zWAO4$&w1s5r%i&7a74qP8=*L-iHjshGRB9c zygcWHEIHVCow%4?Vyybq@7>OCMO6h6CY zn5PaUgCGQQJ1VEb9C!6kfA``Yatl<9s*c$UQcH6dJ!r7>k%gM@NQ*6K5~t@~#+Vh3 z1dcbqO@lf9fw$NXQjNeqMgEbp;>axIR8h-g*Y3O(AMZkygOzSbvcO1xpTeMiQ+wTj z{{hl7P~XV)m?+wD!5|q7__}o6`a~Sj-C#DZ%fi!@>#*qqWb7AzRRk1|GJ}tA0#* zw2IDR4NB7qSm8I>#N0OXNhd+2d{%!Xc5GplF!5nlD;z=bmT07R1WTqMfB5RKS!?NN z1XYy%z-=YCRX1t#6)ew6tYK!h@G^bMB|+;?FrkocgQYY*9KRd~^K?HO@wlo8LnYZK z404Er)2)R4$7@F<+a~g!huP!rGCnAA@r|bLbd|B>&b`ygRaZ1W_Hc~x)>ngYsL>ku z3c0?6!WD0epB9g-=;vvTCv*!Bw^v8a7+>Etrm;Vz(EyXMqfTEdrgurI-lg!9H(iiB z_nli%;3zOYeNsyJY|TY1LWV1+T$1$U`_jU~NFc^zvN5JhLsG~H+*k~~&nT%dfsPA@ z%X=KIFK~a>YxwDm9aTz)fBb_uDfp-L9-%@#D{8+W+6(xt{x-upZ>&Px@i?+J)}sAQ ztLowEri?ANWp}gv${94P1nhzP{j zi1d!1m0eYDq))17aaIEda<9qKvB>W&O}72hxzBoy_jfU=rHN0n!Zl**zgciKhUI%M zHX*%({bgnqttm?3@GHWU55sC?nj2>z=-RocEq@hA!TT;5^>X(#aq_=V=%A?yiZYLg zCmRf<+QkuYVel)7y@8p}!t5m%Q_AhtkK^uU7-Z~3{4qPxiL4IW;( zM-%&sSky?ne)vviDB!QAgj$MNS^laNgas82asOeiNjmZB3T-JlyrM5Y%V#yF3CDK` z6u8nAytW}#9VLTFS^76o*KAmYea+qS*>Pzv@q#47eiD{G#Dx7!EoO(st;38>s!Q)!$y!;*%v^sFK8#^4PPtKO@@SR=E z(ptzMkMv{@)Eiffzn#n=Yg;44LCYYj>Y0e-P?zPS*@VQV!_}&a-XbJ|`(O3YE%4BX zK0&w>a^Sg&;QVy>9Zb_%a=DCax(>@*<}e`EW9dZ~HR;i<{q+IoK>_(XBr!1L(<_7Q ztX)UrpTq>Hvp26@5fNz27J*rrfm*Y^f2LZ=RYIWd_I@_3p|k8J2x>K;21e_obuC_- z6H(P$B#B7o^9CLX#g<#S`T6?#`Lbq~xa>f;Oy;0;N;Ui5bXEJPCG;M8zVv z&bk*#)_?DK!@1`vmhvqi9jHm{HdV`bhw#r%9uPkSz{E9BMSvcvK$JwL7`?al>CdLI ztPwKYfR9vMuI4+wQ{qK)_5Ry%&^0jBf?54}EeWO#s(rbJaoupwGVo$s-R(P?AezJI ztkPTPSgfhw@$hJ)5U49hLATBEJy|59B3Y}TtXiwH3EYYn@Z1Gy&tEP8 zZ_;wWk!l|DmfKEL1}ZvS6gSy4P!Xel*W0yNV_3fHid1cI?kILGP?DF*3-;We)a9s_r;2lPbt{t?}J6NiR2>Cl} zxMehYJUN;-*MBF8hyXI!XJb=Q*Zx3gws`rw|Bl%mc0PD6O)g;mFZ8$YL)?J2%A5L} z|Z2MYwc5;1ZH>GEERiP}vP1kD+zl~S3 ze45H}5fteCwdR=wKHFzQ|LM2jyp{_=GP|X1@%OxQr24#FCa^Hn?$r7!M|OLw30Fr| zbyqFXXw=CXkWMMVe?oQGRx5>ohtOYm6|@u8kK6vn>WYkTfveeaN>$RGnNaF^Ld=-JQFRayfO01f|u%`^+3k5v8 zf}AGc8Dl11NjQyxQEv>Q$2=;RaRZMW;ng2asXi)}4eH+d&v}>C_Ssfy0twxpyjP?& z)r^SQsz_j6iOU;~ogx{RCztIb1-JwKilv2J%ycY>&E>6HrnykQf; zYZwqo@Cu99kwd39+h2hh2zo%uV3qD`4cY(>^LnrQjGOv!{>qzx zrC)d_3~dk_j^o(P_D$ER5}QqqyZ)8);@g*?)n{gv1BDy0> z%NPmLF%jT?W!zI3KdIJFPgLMJYkft(nUi^|OFe|Rj|WHr$a+{A|& zjyaH26W4*}mm`%NE=ju9f!$H* z29y|OurgTblT4`Eb_VhUVHmBQg2}+i?NP>^3g3r1qxHW+E4u@*R}p zttx~gBt;b7Aqf`s8!dxA8+-qU0Z*LnMWHE-6i}jAmoFOKUGcOf0#5 zyO|VTPadxty=B;3VF>}o9+k{8B&{v>GI?seJNiu@;qNSW%r`U3fl39%1i%Enr6JM5 zQeKBb?>VP$wn-Na3Vo;<)`%zo@PRON8}hZdw1R^r;*DMJpZ3i!G)UW4^t$he0x1A= z&`U{$Z`f}B87PU^y&FvzwWZ5RZ7Di=i#`1Yv*ut!cLi z`TCDKhCwJzP&7bG(;r1%WPFZ!l4GA+(gWUK!MsYx{=K%ESwQQRy88B_RckLM5MK%M z3BfpbS7DC%K#@(G;A;i2d@D=O%QY^%@tFur;>^aS4`?|{eqya2f!D7=wQL0p|FIN3 z{wCT`ZD%vYW&koT`$56j)!~E@4yHvTwn>F3L0j{2O1~fL+=551Jo*M$gWjLA^*C`H z@M85>n0_6@3nBOb#|~o2!7Fsr2~mK>M@DDIm|0`|Zd7chJRuqSfF$YcAmgoTvZsI;>9{FSr5e{C2Qz z0|7Tj+O__MuI$%!k`1o_pilz?(%Kt7K$W`xhEvG?PdJ6CYU28)MgM^5{RaL4rvEEQ z)BV;SfW&Mczq7c8v(rzpXk_CQ0HU>hd;=|b_|2Kv8@6PPuyio5Js^iuAa{Dw_E`~|pm zymo5?!}(-wX6w)|XDTO;Q(m`^wekOi@MZ7&Z;b9gXX}$1*TEZ3?pN6+wKHMOzM>Al z`VFx?wq|+T^v^Y|Uy0GR9bSS63oc=D!Y`!B|2Me*i&*D>BD?=P2v%8s-3CCgfi(4Y zwdJk5%!H(;Up5?BBmFlD`RIo8^zswmaAdsAY&aPkr*Hk+Pws90?FZxYenF3*-T5AC z+33!z%KjTL?qBz$m9d6k0_gmII{JUyfP4>-9{qNKF#r+-iGafUH&p&=xtsjI?+uL> z@Ea@N-dePQ-B-pfxUWZpy|L08x5S!$VtsJ9If)I^V*7A<&2M>_{&LR%j{jfW_S$t{ zhvWYO_5XwHe{%C5FyT%&tTzOiH@mhp;$N3LFKrDG$CfY~@d91=4=z6e7M^AR=W;QwT+@bZoTHLK8tjX-XGFK%@r~YNRVA*eEt2BB)dmkluwL zAfYIr5CYPIKthKQNZu9peV=nZ|H1p=d{!0*z{ zziPioqueFqT7UQ zlZ?W?cHdU+I(z90_cv29zq5}{eKS29X&g7_cIVEW9dk;R31|M)(aSeaGvD>j{NE4%--i8Pko;d_{2v(n{}(;KJV5WHF#I>O zc1|&jsV|Nj&))#>eYBUd(?dZtE{ity?WQ)a*wkdv*WMF&(Oa$LP$JE7v)@E92(LxE zxB2z3*;>}_v=iNJld_}1xVlN)QDJMnE%q*=a|(p0T6N zzzgrVGk&25ci%JS(6;2njL83R2wZ!cr;@^nHp@<^dFMPz{F3CvyZv$hO zf>dnW3D_JB#0QyaQEzXOa#HT|!j^Q9n*=1Xax}mMIhm|-UsT0sp}2nIH#xtc`0vGg z!@Umof4S|tvpps0*Hul%k zx917G5lhiz4I=gG=FTb}X{No4*c^6E3F6gUGnY8-(?Fde*UT5s7gx``BzMY|EGRVY ztdPM@E-KWJ-jczOPGWD>c2;OhKUwdv<%u*nM;ZTc1&{I*4m`ri-a zhte3*Z2jVwk!`-!c=T3$cp^@l=FTXj%`&Ly2AVLV4P8o0r{|(S($X2z=xUk`Jr$ix zvjHbkK^vl1po?fjjCFK94ICD_j8;i6LKn~~8H?yzUnwe*K|oj1HtF@~5?=Ye4cKU& z)~2U0CePOKDRGKfp{NoJ9K&BX=7oRc$@rHty$|*smRI_zoPOMU9gu+Ee|NS^7$KVl zjoSqTvxt>vjFfWSgMP zS`nYHQ>H%xW|41rfyR7cS4~yDoW?I!66ETNtCNUbt8Z#NL zHPR`t&l(G#T5C$syYqx*h{Pz=uW3Iag0?smK4;?eS8KBxAC$Gb;9iRln>kl+hTa|^ zG|Py%u171)qx+SF%cGsc=(tv0Ppdw!Ri#R%T4WNZ-0 zyKPQ81`?)ANO})(jy^`Dg%Y&4AdGBUJYz}XK7%B&n-g)bLz{Yv@s9SMv6cn4&S^`S z9t*b4o}P@JB%W?P2zGOemmXa@aiX%uluMB@z*y4`VyuGP*c>pAeR-4R&`3h@?Jo_N z`fC8U>aSV0Vf=N1YFv#HdZa6=-^XWB4MYjCj)uSGD@-tHSS(pq^!Zk3?> zRc?-jZfdPzd4nW&#v!%5VdJa>8j(RCqm6Ag_>|Od{M`VlCr-JES?@DQ6cS?T_hoGO zZo2Bye>>57*3;hfN%M2S*@o z+o21Dbx*c%|NDYua4NE;djxs5n)v+pOIMYGE5GA0Kg)?}G}Vco&R&;wqIb$%@4+n% ze&=Cc2*sp7LH6JY&%}auW4_}e(*8Io5;5e24ksSfm1QG5>rtD1-5?lMY)agjQK4CL z)|?HW6eW`Eq)45Jt%-QBLr%2cLl+P7#c;5|*`mdGHb7>L0c0EV0dPVYTg}`=)GmIp z^BrJ^f2Dz413LBA-5D2XKcZi2o&)l+!C0(bcKu0a!Oic%1=kBW8#7H<5pef=8VxdDmTCUy7P+c?Hg)G zCFI>w`-Ew__)CR_r&%VR2lG>obawEl4d!N)Y0MGudJ+6TUpUVWuy9Yfk(L!!5l6gQ zyY@g;(=nd&yxNbip9^JeodPzMH`?||d&*jXNFQ~1%_iv1VMjy~!*|C$IBd@~y;SD! z_JU(_K{&+n8h_+U4Pi(7qNpr*sm3=WpjyOSOCD z6x<`Bw440SpM#_S^H84uh8t3`Ac|Wm&RV4Ai84=|M$GPRBV&`Mtkf4P$FXQsS(=MM z9vO1GcOCVu`9w<>V;Q|8k(hMwyj)kv+w~JQDF*Wg_vh7|JmHy|8vC^TfuwF_mM@w% zLa5&y8zF?u7wyVB9l8CziqrO($A2F9up}oBTg=^&c?ZGsXW{?g9w^u)(NF;0wkNMV z@M>+ne#J{!>h@QJkQFK8-J#=U4}~&>{`;t}E_5V`o;r7?LqFr@)dxrJ)^!z5oPeb7 zK}9WN9#q+F&yL8GET%r;kI1fl+b)~R#$A>|mqQM^-eV)YAa#Dd@i3T`Ep_g0y=~H@ zzU(1Forq$KLwVIJq3DSt0>rpz&%D^g;2JM1m)Nb*S>_XPi49oZy8V(<_L-&bol(^n zH=|9-j%m@|eEaX%qh6dJI}z1&y~Ttrok0UInKl6OL0%lMgE#A1x|o0P8zs^)!U={Vl! zcF($u;u&mty?X_|z>X>AKF#t}8!Wfynu$4s3(5`II-z@cDE*IeAydmHX zwzt^SIi4I|sj?7qy@leGitfk>AaX>@OT{PO2#=f6C|Kk3?1 zr+YHxnbg<9+YfI3MWyG)q=V0)F+%F{U^Pz+=1tZ$o|oSR^{k)ERqUYr<xL3>J&v_pGy;;_I%T>r~JR^^}ZCKZ*%!RRIJo9^%6aBmJ|6IDmFRxT&Jb61` z=*3S?rPa7}F?(+DejzKMn5{*SBQ9dxc)IgFQ;mmpMdLQQQst|1$T8#Tvb(If^Z)N} zeHPsgTUj|cPy6+1{!rt#Y!3BF+8ZH5bLNLBoi%1l^~{%Kg?C@($oN}%+S3Xs^ml^o z*`b+7S|kH%te1}maXhi8e*cf7)s&qYXZO*6PG^;mmIs(_-xKow&(lY`z62Z99~XIZ zDx2?5+5O#MVtY6)19@xrOp@tAshiA$g5!=`ZDpLSN%}4WIb!SL5sMW)GU+VR;j}As zq9_5_0p%?s`r^FouP;7?MYX`HSgoxZUalZBtVC7sT(jyp^(~cpb6QC$k#m1p!t}5Z zO@!z@F}(AkfoH|vtI>5Vg;VPPT{Q@j%WV9XjRwXAZ-Mtv^a*v^`NG36>|3?#R_EO- zgrab&RE-`PnLn!?g3I8!l?ynzS2KiEw;En+*Nn71U)HMc3t}lwmzzmm9g`?~vgKGx z80G5EXRd>}Z0MxrE$ITdVOOtI(E&i~JlWeMS5T+Nt8}Nl4WQRP+MoG((Z()}5zPG6 zVi)f`iEb}EW^OuwXFSW=ptWsM`$+bD$2bp{KZsP;9=DxKj{1Ad_c?Bd->|A!wX!_z z6MeXZQ}P-7lJ#D+_vJ?!TC*n?avhP^i!VR9cSv8Kbp)T5jPB3|wRfGD{oPsPHa~3t z3z>=MvyG^8hpJ&+Zo%{$PO`qfFN0?#uJar%OL(lD0#52Fcordc4F6#3mtV6I4I8am za{9wtJza{MlM$pi-1^F&gNkd8BJ9@i`Gfe??JLTP@*d96q$AtSn--i$yyLwUPCUrw zI$9*-aoei5BR~6zl~fLV+}ST=J@k3G%wE{L@CCyJ9&_Ek@DL{R%aUh=Z@&y?kyiK; zQg~`maGtmHyZ@aR?k0)My*Ym;wY6O?pf}_AAbxXvXRSyqXFh81U@<=n$0Ry4bfcPn zU;_^Wgm}%u3~8oGwWNGIm9>x=a(7LAZWc|hCR1k(n{NwTzhM@`$HF=CNa%5@$L@#! zY}e77f=cZlBNCrlUt#9EE_f*2sifKLV;PVq5SdJVj$=ytHli$-5m}Fhs$q%b3*P%4 z1>t3FmWE!1g}L)fIg0~iGmyjI|23paB+|&6+mCfrlRxQJp%zMUHK)YUb)gF*DM3U~ z=Tw5%`o?m6Z=9A0-YLbY#6Ip@DNm|9Z!0lB{c_^>_~_^G7T$^0UMWxKy>O`jC$?h5 ze$GbyBir@mcW{x3s791g`U{l9L||Tbt5f+C){X!;F61#dtbpMRgP53L%Ui6=N9Ns} zgjjH-*GA*nZGYyjd7#1s&T|UzYOk3iDXhFmm9gDRl@l0Wqzz%!650F)f8U+3aS!=h z9*=Mz-M)wHS;XH@A6>s!xjc5Nc7zgI9!kO*ZMz+i=hv#b+MrQ$byysS3GZljwcP@H zI2e~?EqMMj^PsCl-fzoaw!Of7_}IEdZ{K+dt`26%OHMpUxMR1R)THZ?9ks<&b?Ay7 z^f$6>Hm~-m=1Pb3?(@y%mu}mQcN^FG;Y%485K3kmPU~9up$PE+YE`hc2{SUYl@l*| zSO$#iJTH^S@XmguTwniV5^_7KGIDDC zrYw!aboz}Z!WwdK6o+Gjo?UuyjXF8j>2;#$KKIpt66o^vt8#w{8wIXiKR50DYD zU_ss;9#*>21t3mh6aDjvIq$3hjd*I!8Qn37eJ}|yZ~3^`SErgep+F!d{?&_k&CNA3 z;QrU9m$Br$S3ZB4!Yp&O(0Gr;jWzXf?GZHfWvn0YCln&Bt* zMSsb|PIWjXwn@3>BF4s7e|*pkfVq2n5g!$oTkWY**Ztge^${mVoPx~ z#MCdx`m_?vf;M4Wiw*44AFovf`;>q85S$EgCZ1$Zk-1&|pXI_0bGeQjF*}8yb?DCr zBEeWTMt5r2T!%#`=D~+TL-yyL5)LKgT1rEJrisB)w(J#A*oUgaO2xJ08giVd&v0Q| zjCHg}5NCO@z6rZU8mrU+U@F+7B<8=ni03V9IaaQ?gG6wpqVV^dLi2_kL%k)^wtUj< z1B@lKt^#3TfIA+K!A2ReCHNmh_|2aFa>OBDb(U=(3xqI5KEjSE^9lZ}ao05_IX52T zO5}u2kosu8qdRaUxkz!1P?Ra={cODX!V5cCdotw%+^~QPpdUzH=Ol~Rg1WpGqv>a4%b)6LiT>jJ>P_>U?0xcF2;a9O7Kqsd&+&6L zJ{4|#RtaYaFI~bBzAn3_!4eLce^zf4heI7IS9VNSKL=|(d>~)}=PVK{kLvyNBn2{g z+*$+ifI2)@ppB~F6?>ijJ}V+*U^qEm{I5dw?(&b%eMi|7+~RoFio{jwd*6iPNFkx5 zzJ^*s*GrCJ6K(XG@!EeLM@+lFs=RM0m1D)Md|)vOdCG`OUe}pOzMuP8N<52objQc> zzP7l|Q-WJ}p?cX}Jhx6oK^)RPWLP|U|Jm%ZDy)%9icKg35A!!B-laYXI0m?_t%dN{e} zoI^*7WNzQ?ZoPjo=wnDOZ#EkSXOv2hHzY3Cjbxp+Rr!1^TSO9ZZ>8mQSY7X%(Ak3o zO8O0>`0zBstNtN+n({dN(SKU^y zGSmEtE~zEgHfk*AU2#=uuMBV&IL*NgRo#vgt~p3S<<+7EV5BjFC6e8rh^4!Y_~oUh zbv|`x(&Is96Q`Vosa)yU2i(Wrw`4({SbWTBi?-&e;j-%DeRMfEhNnidPezAb(`Mr% z>iQ85UCwJllmlW^&5{@KD;fV7{t4_nR;c7lPYUK=ZL13ozZsV1WYe`8zU9Lv+n(9` z{jNzYkCyB1YcG~lL;DCXL@bt@Sb6WiuUEbimeIR>XFTHsBIcP-Ft(Pa>+_MOFY$1N z@N*@5g;}qd@D2he;pP$bcNcP)6mTEM6P(_D&pziS1@s~&L8jzm%ohi=H4A$8{aIsD z_SvhI$7|pQ!`TJA7BXM!@{XBZ(xGKiGp@J0FRN>%tiTN9(udNuQ-YKam1?CWQ(eaF zg;pae`W=5X`hV*R%laIAonpiz2CAme?7i0)@3Ey#XKY4JCM#Gi5DA-_!*7BIEC|!<2BiJXk(`lw)I$ob7xy6U@m>$;zS;sw<5D|l+KN|LZeyuvi`hZNgoJEDYB;1rP zhsNCCEphFHfki;3t1n0o;*=AE1IL}wFV6B}qjhISzbDwu%}kc|W2HN9s^DHX8E@uB zG>W4>(PqAzA&q>G``x4V?kC?1qH5yTqJOK!#oQ{kYS0_~e%E%1NwZ=Tjq`Ps6P@TQ z>4`lR|ANdRxxKyqh?voxvNQ}fJ5g>M;lcd{)7$E0t2TV!^2dQAkr146?pd?8tWFKx zST2}_?PbzG?dLmJ+?6vl%*C@Ry2=!lC2p7j_cUcQSQEjY^O}0Vd|C5%Z*zlEaWq6? zX7ULu1OT_eLy`AfP&uRV@v6hBoW?1z9Y5q)Q3}$CUv4FJ<)h2IIX;mnSPPV4`0W#oPD?h%&esr6pu`m<)s(@=zkEf>Ecc1QcZP| zX|BUq^T=eB`zU>h`NV%ZXQjs>JAb|CLYM@LQTdOhdQQ^?ZESQr*90|W8E4N&e<9KRp3G2P28bH}#hBWBVg519+uA^KaW1sX4U-nKu z4+QF=d%y^C0D2{f@Nibr{7f$VvRBL9q* zKkURtQ!W*7;xaUDOb6S@Aijq7DB@l^Q@aOV)yO;SF6AV$;*N4dVXc#EBTfsDnm{pE zv3@f{qC7{cO(d&TuZLBni?vnLhpAOL&qQYTm38D+Jak)k3MQZ=lVv&f_IjsR`-wtp z(!(^KjT7yGQ`Q*1BC&;$3q$r6#a>0njvJ&aFF{F|wr5?ZDi8p%1!uiqi>co@MHt@p zvC5hJrbY0lL=#ksLtVviLWiIRy&Z;FRu!!+ONq-l716FrMHM+*M^Zu1=W`t?3d=m< zt<2<^&U+w#-7|;fC;-Lh*QxKX+sN1c6JTN#!$W@xm50J`td>uIDP~SzD{?QIEVha{ zBePvM6Y3PYSV3qLcB=DeNachstJhf7Z?zmGJS(qC+L)XYO>F9m$EdL4Y`LID#3dIb zu{CF(%5O%xcsdx-wl0R4`4wCamU%xKtMsga@jBB{|7Cn!QKoq=v)o-Pu`3oB4 z0HV{6q`HwOTw6v#VR^H;qukBah{^LvdoLqFg_9p!zQXdGmPZWq-A$=>ZAY!CMz_CQ8nlDRa(`FCgD1kgfWP5(fACDBBge){hrkhw;K8 zw-PDmJWY*wgeNU^bK1iCI-8YGY>grr(Y|9J^Urb#cwIn<1x_Xs>Up*M<1OGnyh<7d zQx-*reqUoxylDwy!<*DGd*fgCfkS{v0mqppaBOFUrSlQIZY%@PpVR41XBHqMn2~8i zlBD0)VOAdlJNeqN-j{k+$A*{nS2k9e)lbQ`8&~r-HCjkI3a_T3?HHe|wD7Mlq)_%9Y)@p;q*ywD;ij#q0*ZD^G7Z2F|tyfvAgg2^nuXZFw)U zSJw+y#H;m-2v0ACCYjhi8suRvG>*sf`(6V42F|dsIM<~U$q61#H%)li?Z4|zVeigm zi}G2}UxrVo+N5Dqu@*c%^Msl4`OJ)ec|i zv57p0iY6^)kf;5==~45B6VXOm_@`e!fO37FkK+jibdq-U_G_;^Nm+CF_*-|1ySsim z&8~CW=ATrTjrdZI^719&;CqjX9Sb6R{Q(pOiC(;S!&2+E2_&nGr$_nL(*(6>T*^nd zp;xXR?oK4@m5z=CYmDEH{3~0HOd!bVN4LMFpwE_8uv%qj7zxUpq$U%$k_~2W{wID` zFvz+bG}F1*{NiN;94A(b6PGfosvX!*Fkf16-pXFLy- z&DhpVH%L$j)VVD!% z{!AQ^{1-=*bD|7~UZF6o6q{A5*iG;oCFn9{OT)IHAQzxICfw2;zI=c|Fw=27X(`q` zwkhIaDyDf zQ={?;oqiPym%CimT_n}yp>_jB0p~LF8=lHT^xI}pxiKp7VAT1sR7oEW#@+}3*FoRQ9=6MUq5wBAX1>> zz>Ufg_ljKAJ?6&AR_Tr*b8lC`5p~|cteQNQuF{05m*Bb&t15YrQ0M&Qv=P}nVz{K4 zTFMg~&HX-Km8$qEqO=oG6j>(W1_txH{r7Jif$b@So9Vo1) zZZekq?bO(UOPfQX$Kr>mw(}qZta!v4x7rki-nbgu*#qfvv4jZjuvpf`B!|uI^jee{GvYm1>PN)ziB3b!O zbEQU1by9{D5Bu9hs;g@<4`O`GbEE^p@$8>YXVJB#Y!*-F<;RIfSm8 z@`o0I^f;E~Wb6fJs>8g>#@$7NPwnEMw!o6B1nq{?i`*zPg9~t6T7)0k^~519t@sR^n_8H(%opc3qS>nrTUb3CGRd^0mR4;@MtXb@-k0z=Vy9joW+qu0Od7=r_mk! zgo0t-nvi-yj;Ce^p+E^uTl1tnDz*}9J?x8;_LDnc5i1SpPz`ZOKfa8AJIBAxKT8S#js3F!I3K~}5#JUHr?RPyCkMR=U9UJal9^H(n z3$Drl?h8a>`#v$GUHOQxx;Ya>rE*g7MgIymdA&W@?yu3E&b%xmXje12WU~xD5EOlP zo3Dqz9T4Y^8@q01>|_jkKl$6M1X`FIO>Jb-H0^vOnHa=lQn~zVEsNw(IBlExDXWjqu8Z%~ZF{##lLeNkI9~GxfUv6MA zoX$*;aVX$~?)!kFfM%JOZ~Ebz|!kSMHdjg{mOG>E31x<09hQb)5wpCghui} z1?iQF7Lchoap^?p^-wpf}Kpgf{hNciIldy*gn zU=lNsxPh+ruB4G`0qJ@7kN$~Ng;SPaNq5@x_7A}~b3NuHoxkb?*lKV}+J)48yZo^C zNf+s8#gAUy2lgb}HrD+mXz6?0eCmHc@f%`YdV2R~YSAaNe8kn4Y_&68EtJmawQ(!d zZ|0Ie0xw+;f_u1beQQrGS46T>cP`tWW4icfL1D2>dK-0=P>8yF0pI>1&EZN651bDx zU5V(ezw5;fMUMI#5$k2rpb-ZqescG0 zn2$gDI&}>$vya=Y2RQ) ze#r?Ph9ShNm#fJ?htR)w7m}O&2PTP>EW$Mi#ymc0&|ex>AdQ);!?IdsWZ)DdmJ|2# zYcJqVbNtKeap%-O6rRm}8vWh4aH-t4kn^L zF}cxAz;yjbNtuSow;JSX^m0+akUgpC&-jydENddXUDY=(ImfW;b;yVbVH3SpMt-k7 zf`G`?yyRC`wJv|hWY|_8GEQdw`xKtg3B`HXLvlSO+;?+t#srK;4FeNAV!F;Yc*M6c zyb>oKy2i`CL&c*Tme^KA^snY-YCwVV`a*IPWc?Osf*ZW}`1P__3s)b*bvJv>NMf->7Q^pwaI$QV%Lz|T z1}m2~;-kkpgjbYo#z#E^(O75|!dR*1|6?>Y$;R z42R&(#_#DI?<$c~|6M&alr};fOF82#8Mt0;%_D!660uoJYcldWoO(jWiH%n#e}^3< zZ#5I#t`B=J%>n_KV@Gl}#qr5QyIYkfhc)S2lZ5b1@1uBSHN^S-IcEb&O{dQn8ZPM^ zR?pn(nNN(;FW`mdxVDzw)nlf5iHt`KC@xM;2%i&0XWX#wf|3#xU13{Zq2S|tG{6W9 zS(6fMru}foB5T{y>D${^2LPYCmhBeV>07ao#>e{YW71)DlH*Sz%YE58CXr55Y(QP3 zUWY>_)i@u=l)WN{_$~GN|7drwZ7mMZ)0iz5uI-Z8>Up~&e*{*HBBeGQv`YHr0>U-AFA1*&+fAM4K+}Gkx{o{M!Qo z(WVY=`03PCEWc5xo_cC9ZE^tm+JxhYwz~S&Q=?nmo!su-)+3>Ijb3G58tZw+3{)UV z3Cth~M3nxSK>T#KRilK>Y6x>Y39Pl3xn+6%z*Yua?JAOKJ_?7YO+~|Fu zFT`P(1f+JY-$XcdwkZ;D^3m#q-e&)hEo{6n3yu#v`EWjSu9&fbtQBso^yD_5o)C6i z#MuA%)5n%_B0fbO5p&Av7eXcfatx&Yt~@5Vt88kXsLR*oD{7Zt2iExZpF%6X>EbW8aB}2ML+Ch zxm^}f?zW}l7Cq%%wVhTxIJSM14tlu4EQ@nQ43grLpWBk@Ul?bd0H5=2P~ zMlj1}&)y9dQGXW%_)vL|a&fee)(5Sjr4`A5%=DIX>LOjuk^vmz=Qx~;tfq28t&--l zX+wj*>l5r|&ZP9C5%Q5T{14$eDzj@C|9LT1w?y2ig-n(uET6 zNSNOIQqTsx58SAsw*egISDTvb^HTNFzYy+^6zvJ%U_(e`^yTA%p_y}jl={uIE}t`O z*d4znk%8vizS>h(;jfL2!qTNu(Tfsx`e&4 zGR*Nrks9+H(_FlE+NHidGn{gyyJvA ziy6V5ye3<5E0m<&ECD>^(v_nFeQ`-btA2%~w2clhm?=s|As+Yo|I{Pi6i|hWp8q`L z$S_83oi6-=Wz8A?)V<{YwcTCipy(EW{L%2mg?b@4=+wO;H@po6gnZleyswFob!>v? zidt&$u`zNjNQLad~4*zM;nU+u0pfR)3B>2ij4O*t+$Uy z%snX*Jk`=YfxY?-8a3x+@?$`~9Q+fgh;It0bnue5%T0_{gA;@j^qonS8k$uvF~N&zzDBdY4SO+M$#ff0lC zj1};@D8d+U^ea-K3O>u*$F8dlA2QWk1_1DqB?PafSVsA7rtQREZimm$9#zpE` z=kXq+;zb@X0Z~#t|2p>bMa0hSm}SYJ;SNJxm!9$E90^8YV;taftaucD2J0F#n1VX0 zhI_i3=mx|Jv#>(35MLJq)UNW%okNJJy_~I(@UH38nU68i8iFEbGIJ7kXf?ZL z#G=}jjdQ|UU0Bvr#FZVX^0tckANw2YEQ2&2HKrVe)QmW=nuhrqF%RwWA*-SF+F7{ITrv_T)b9p2Sk5 zOjU#0xo*m||F92V|CtDf%-+fD<*)2IkxdA}M|W{SZD3m~@W&ljt9N8`K9$-?sJ77G zQyM%n#nj2DmC!Sm-7W%hCu4XyQYvq;62sSXuT>3um3`t5AdTNBHRXZo#iYpGiwP_K zPn><=f+n5opj4c_KYS~m{-urk7~>6*`i8#o22u3(dIuqF@VDN6R%~<{MogWgUVhy_H)xkO#z07LkJPZ*!l!Zl>X^ABphg5oQr z>NkFbvgpWIP7(V4DjK&2G_?wg5kD+*rzh`~M0tb%H}}p@{8z!W$OgD2eV9o^|`&f&dbm9XzW+3-ZD7Pb) zgm+NK)Q}=)-?h3s#K3C+v^mN?BvG`?NaJDu{AkeRa!WVkf}YmH4G@-9V6}Xz0ZXXuHlwaj z{G7+t?%g(PTxr!pbW6aN?ku6EE3U{36tVV?FZylD72`PHPccXHid7+r(*`F1b{ zW8<_KvHfiOzzoyEU{+QQCb&FoEYI0Cm5o2u!t`qi@!C5R5n!e&C%O|fMNVbh1CU4P z(V&c`>^e75-L+}I$RoIg^ZQ-#s%MW6E~R} z>x$LGI!(|Lk%Mq&Y;3}*7l+{u^z{rrO3yC zIbw*zN5Abw#ry9G8*p^}m&i#_(QhGpZ-zeCmDb2U1kDMm0M4+Cez$Cvg|V0Q&C{OH zx1lKj!uz61f!07sFt%_s4I6)u_T_yQ`L-Nvytc-i5)>3pV|%H^;`;%Kc(H&>)!n_E zN0|K`$rzOIdQPxHd2)}}J{N5KZYeA$$!$n~|Romld zZGJ~3lhG18&eRvy?HCR6aHXYE=HzAs zWpi6&PM;mq_|T>+<|2yEnG~^}S`wBErq>&+70$gI?QeF<_nh8W;tPhD0$!{?Y>IRX zD!Gh}wv&_y-Tl)99vZg3Qt*nMN6fFC{0fdsYMy-Zo+6_Mxmq9FJpL-mkVnG1ql2e* z<3;TJ1-_$>RC;30;^NJ?q(MT;*e}R%D)84|HC1OPX|zoT%6NVUH$sanMl~P#XaNd) z1a>esd-J1Ncs|Vwy;!o22mSYN4p@|rZiT5(Gw{>^MOrU{CT*%NHL-S4<9~cXENNv9 zlwPPn0KLUmQAoDR>DA3uhvV|x5i#E;0F6|UfMF<%@mf$S4>V6!C2A2gCZ6Jv!bAl8 zh^pV8D|mS>Q80>n8aXKgd$(XZ&%A%WdUuYKixP|v-S!tjFG0|s z{D5R|+%b6F=~H1JyHBqG;;O-^1ZMluYQ)EHbE9X?^hpnA5%;bjOWt}3&i;9us9;oY-P`|EtF< zBPVT5)Y5iox}z-cc02P~4c$t}*m&`U5@fOT29`?@3}%{t*T7))Y>~_$zJWM_?eB01 z-AcT`8#3wH&77J;{&{rjemwO4jq1XgXOJg{)q!K;v?eH3lWzXvWo5;KUfsvPz_>s2 zT0+Td_e;uo(c}EAz!t0dqy$?^YY(*p9Kq|*%|yT+G!d`ER#!pJ?&7q?ypbEd{=F|kpW{j6 z9~V<|*^-P`sL#vunB)}8yc)qP)|Wb!X6G|^?U&2t6KDB!_U>c7dv^6NM)l9bfbf?J zyvG>x=-m><8V54Wp@0RLrq+mLSEb+!_{V=rx`C!l1AW?(p}!VC(*J-dphfiIt^?2= z!7RHLt&K%oO&29%JK4F^m@T<&|I{2g^L=CGO;VGt`$9GFQQsX9PpbUD0&(0KOA*p6 z%K>e|G53g1H^-ZjHy!Nb59t)j zRDhDe0)d~ZkXMJt#(XX)X{f0kk2+X$_^K*aV`r(gYtbVRwvaNL(|eX5q-<(*f{@_$ z-518k5PUAyli0{$Nwrjiu>qB=G#=Y;`EG;2WN&b+y?D$;(yMf-KuZ)fWi?493cTl1eP0`WYU z3>Z+$M07I)V?fXww*Wq(bnfE9DRI+=aCS>ZD8EdvUs^KR*=x#~B722@%W z@1tVNYNiebQ)-9gp&)gTjCxLJQi-P?BzopOI}hL0V+hzzZ!4kCprfOwZn2t4s_5i{ zK_4>m!1o;pUW|Xm;ZvDkdjpCX^R8z#Ja+r`sJA!6Vr*p5i7nB8_&r3tt}&EeJqz54 z!{EXM%h&7wv#49uK_EXTr1O^7rmZuD_ioPZYw=<+Ha!4cd_H~bL9aoq^<(CBywS!= zuFQ|k(K}ijr77#c?MEzSpQQ(Muc~o+{|p%5Q@=4Q+^`h8vMN;}4@Df1M)9e8>@P^W zX||81%peBmw5@wY{f;0QTC-r1 z*wXHr6DWeIU&F*^^Ye@>`62(V6UnTGK66dHPUs4vArM#-2j&oMpfEDH7ye9`P!v-(D65moU-8M1^!fMsL+n8fcwv9?c&*&%q(QsGXfzZKnvW zo`Gn>9vU{>Z?u2in z?zdaTuQg*_Tm4-$y-_!esrHv`R{=nKnOf4N&+GejxFJqF8d`K;^qNVg=Db$oFR6C$ z64g1|saN-2Fy=C}ND?O&XiC-ma+3QPnn5EHd5_^MyQUTYc*kn;^3Cc-QOks|(X$a@ zQNQmJ>)KKl% zPcVlq@i$AHPHSY)2)?_6zUvNJj^Nf7UBt4B|D*`(^>CpZDyv}|Wm)oI{pjlVsnM5R zVeg~;561A@mI2UYZD?J^YZJ{5K+9puhHl@m(ls`~xg`{AM@|`#RCoTq?`&Fbm1y{_ zZ5(!{nWZ{6C#c`eNsiS>b#ZXE_ONeA!^l$8j6;4)WwAybx6m`OfDIaL1k$+E-$mdx z!o{y!Hank~{two8-vWj;3GSw4j!j9>J|=Mcns`>*yuHwT!e^9(n{w`3q17pB@b!yQ zF^%H0EBC246fNkTrm~z4rC;K#`E2D~_`r?cWeG(9r3u35TM|Q;bx0Y5fEhcBlOI}z zYaQRX(2n3!-!jn>T#sm4Yvol8R@zDXiu^;qH6Gd<)mqW5_6^iR-67vm)eC+Pn7W0Y zk9XQksm*+!>?;oVKJL%{sZmGaSzpy^9-&hy@HWu^$zRNIx#F{^E`IF_En}qOGv)+r|ZnC){5$sr-OAs`w9K{a#w%4UQlr7a+px_ z1JA@@m&>_@yD%+LoA$G8eCC5aqHd+y%P;p2TJD>}#Qqg24B|dU1QtB4R5%7x6(}gE zC^P@_tmM1yf7GiEDH6WqT~VxLQ(CJv!neZjMuMd<3hU9pR}E{{40GLpQWp2 zvL1#*6zY~m-G({UoXZs&=3>rTntmA~slt9}ZY~5KL>6_<7s6Y5SAx^`8fRY~_=eBh zg;&15=+~RC;|2vcSvtckNh4g^B{^-!(1tfX!b#(bC6-lHT{acmfFhPk{+yLW_}R#{ zqb)&2NdPmxG7CTo2`jfiDAhChZk5MvojHsBU0EYk5C^&91aSmg6~M z%bA{adHn*ZjExHe_Tp}GUFUdK>O8u@JU%Dv%$t4xtSY&MFKcza6|)>x0r&mi1P$IK z01ap-UQpo-y4|)S`g9e>3~`~#K>=C(r&#wHd0PPcuha_87L3)g2)`)MuD&!BO1};T z?xeb_)RwqqcJO!A6#2em2I;UC_DGhPgSM`m{N<9T@gabJZ-YJOpJ+ zw)3qHlDhZ64em4N>?kw*ybLWo+Hl5$PgTS+f-&%_{X)4TZKA-W@rqAIe}&BJ;GaV? zT+m9`CoH$%fEe%rca>3dZRy)y?)?|7uWO}09gGF3E|dNAXI!!z1S59wt(9b=`4b}U zyv(ZQ`PF&*xs;Wio7SoP$N!XZN&&=Umq7$WA>t@!2_4j%bho1=u1-x}@Qzd)$6u9E zV(6XaX=R5)00)AG9B4uZGjjp?1@zJK@+nQr6a|a27@k2q>dD_SDf1WZ&WQ2=eNy(* z9^}Jb{?t%g*oQjB=`+)Et<{On&CkvGUAPYna0)pyj$KO9<9j&NEz$K=YqnSSpzTI2qi?%N(}VH)s)JqZQOTko3=rTO?YS@9Xe@o~kU z)w$AOhU>KcK^9`7WDCq{Dcj_T$ZAvdt)oSPrXLHV{rKna9GyRP{_FV`wqeDMXG5lw zK_>>AYXV8mS=3#=8>?ECx1>$Ep#I#bKd@=Va7snQ@3=#C8?8e%yA9QL(Bm`8t|Zm1 zZp~V0Jkh-@yYDv&&%UdQxyu}W@xQ9Z^ZHflg6)NGPE=X6TVM6_J-oDTx@H8eSQ;7= zQ{@!phyCuo7Mpw#VR=hhW^TC#&fWlT)6TQp3gmmZBBT1X?jhdwGLqZT{duWr_u-NQ zlI1Z|>&r*)X*=S!sTj7$fjw&Pc_rV!4!9h=6AyMqb7MG%LSL(-4-)_Sri%i2P;_|S zt~nXyf3&O|vBdq@6Tg}vNJ!x1%Dx~avu=5Gq_??>U1px2`xr_;HWR-UVIOVZD#zNx zD!AiO(b0udchTI5g~i8m9$wIkN!ke4@OCN_AB573JtixKkR^XEIIOSud$t;O+>$o$ zx&QxB_2%(VfA9NvMMznu8ilc^Wl&UP8HCU-HDli;`%cI**<~5ZYf#xm8hiG25JqIn z%aVzaZIl>HmNAU)nO^VD@A3HkRe#m<%sJ;i_kG>hb=}(*$Fdi;lGV#J3EvDw8Umgh z#Tsi7ILxzzLw=QBb{XXS_+!)^Gy2(E{nz~adU6YqZorL^BfZ@)$g#?wr=EA5JbzS@ zEB>~ggBIak>q{+NZUKmbjle-$v+nGV!e!ovTewb*EcxqoUaq2OK`-Va)Z%W#DFH(B z#a9;MHcnh0bi1_q!qFmS3-$@X&^Q%fzS4L?4^e>->8$|y?^6meOlZ&x{`Dw$aT`FE z-_-NMS5U}jA09vYHV=Em@0OaCpCA4{0HGU(n7-u-Hg z`>r0rtBtd7x(UTxf@0Axt}78|PkTu#wa}<=ADG9^O!UEv-(Wc`K9vpYm@AEB%aD(O zJDo%BKR*oNP2dU@gbIGB8Z#}1B}A>W0cY9+iHogMiW59xqh*3IxLd- zY++DiNrzil$)~E#HnSBXZYA2T&1WrcI7M_st_FydNr-kV@&3qpqeBX|Ab2eYttn4k zu>_GoR`NLvz|co2#0%ojSKrv)vO}0?;JmM1VtYCKuCVX7+NN95eI2r=H-=18=KRlTBDV-EDh$qCAuXrk}ImUpc@U+l1)V ziHUJ6zEl9YI^nwd%%sp^>q3Fpz@rkWnt^}#3K{;*%UMfL(Eu?T3%V2%-s}3)%GA>$ z03N_-;$l|oH-tn}0H3JhNbkxwAZ*$n_LEY}8t^<7+yD%3h;$0@&rmVcuoVUj7u5g# zEC)^_?$`m5hFI;>xz(2}x+7m9P(Zr+BA_5{^|*dUxD0~bRyaL(9fI4ck7umT_Pp%1 z$uv4E5yY#xogVz7Y$w2Y6VimCw0X`2a50Tt{J!2ghb6nda;^DRKxxqOu;LB)e(@S; zzReV}KC*uQs!QqflGTBoD!}pPED@9Lr7h5@d)LorA3ZUwU=+b|&?;-9=UM5$x}BM} zrzVSx+})}Vkfb!V>B{bTlcRN)J8GyQbKrsaM=oLc@a7NTHABHD&&1p#c$`#D18g?R z@3KJQoAv2~2W#GHvD1%d&9}DE_oC|VxfwlNG*Uj)btE;Yh2Y%7y*E0wM~QY0pY7W! z4g-XKS-H=)c_g_P2BWIW|zoxOAGTJVl=7EzA1~D`T-6wjeZ6?JF+UK&Zzx&&Lf+IQ~BOXftb8 zyXatv{<(Ay&47!hfbaRV=GZ!es=iNUJgtwwSkkL4O$$%zYNy32WBt06JmPJI;z!c> zluuvNT(p{2TDne5_`r3lVwvOMni~Aqu!mW0AZp5BN(Xw?zfZv=V3HQx)IU7fKir>+ zH*8{~ulDOdSV|NDN~ghtrNJS70DN52AnWAU@fRR?{ruqB|PQ^Uz(~E zL}EB#vnI-2hcTWx5_g@xbr&WPuHMjAwIFjMhB??#H#v}upNEiGxxOsI)gH*aoF(0O zv$`y}Bvsv=9Jj|xikl5!(8yb}*O^+&^<6j6LfIQ`S7%}jvr02eG)My8rGKG7{H}IJ zEL`S91;*G!d7PUnyNWQmWMo-<#lpT~*}yb_r#`pO9u^HcS&P{l@3;i(KayGoYy#IB zDn*s>pP*svEZ&@0#XMC{%A6Msd8!^bSh17~SFwQA$h#iuO&D*`vz%Qi`s zoDgbvTkgpISrUi9$mRHq9Hb_ zG&`Q5;j#bLmA?$vNs(H0JeqKrR!`#wMVQQzCIz`O3|Y2LLnJ)`8;-2-KCoLXy{T&UZE!iQ+8o#|F-F}`vrM#|C;CkuHWu6Jz#Ioq7 zR6$_;p&yV9=WZMg(mUsU-q9TJW%^>y*-^i9-B|2y12@Zw`8#+`#|&yn zUSLmD@QHw3J{y^k7G>r+0Nve|PPK!;O(HlK?BDdJeT0?Gs-klex7Lg^FQpK~qG2C- zHP80-DnqjLEArQ=jd*%va4kG@2+&J3bxS$Ov7V*81o77t*bm>_Lb#YR={mloP1 zPoKkjX3{cgDYZ&I5kOx`^DL7ZR^yQq8Qzp1Ph=)Kl~i1I}|j=zmaIhSX5C?KR_&d)wPP zWB93o0eV`hbkx|=N0vMbZxH^W)pIMVLzKnA4VQDYY~8V8`l1x3IM#-aXN}_} zFp9Zoo860`%NhLRXch&}Gp5XQ5eD}eTqXnB>MyjnpX$eo#<_yz#6X z_?}$Cfuv7BCOW2%X+l8ByGmt{`85G1q|)vzi#}FRklX3cWpdTwn-vT&eMT{b$Gq>Y ze&O!26g4@Q`w%u<7cw#UQfiWq|Bmp{P{5_H z$OV!VO@iF1AlyDsqIOrz(+$mw*72wI@ca@$q?mGC5y-0=fZ9VKyyqxx5E5$p;s19$ zx*{?2HD0m_&xgbjH^wMoy!kPzU|O`t_&Wvq}-Kqh#I9sfCqTkrkKCX`+3*Ca8K1A{6U&4UU!S_SF0O((?@?y`y zCypIEXC`Zu-rDwO3k^J@)&%vH5^j6?Ha}*K-wgp`4rBl8R;ZW#HiB}NA(qyeP43AZ zTQRhH1H}-C^2|38h;nY2$fFc%lg~uQ>MXstcx>&7gXa%H{P=9k)p?H01$if|3I6c& z|7Mpeqs&92+oPsAT(VS*Jev_}JNLc^4rEM*+W%JaTO2bxneWMMm%9=!9ZSGjtCa(Ca-DA0UllAwfgB9KZPS#P)VAa>5_19DleND~-WyNA z@73-<-AYB%QYV?9;nrl)c5z9zjp?hJi&|Md-9#~U)&=|Kl4*98Ws^iuaB~p zSXCna*ha|ha3N%O`h-qJK82VjH#PH+2F;w2#&wUfX z^n$9pI4zb=gWWbU1nGwaVvYigElAQngAFgkb)m{$tA(1n+`^{H;G5Fk=i8c1UuR8# zDI~GzHYGAEcX*3j!q}SHp~E1&oRs5QQ`6LeDjtFgvc-AZ!`r(ocRMYm5uQyYY4;zR z-!T>*hCs^RqtyI1m@w{wOXsDLf59TC65EBkRz?^~t&yy9ki zFdcnVF(f?@(_1GiTc%)zoUjx3P|Vaa+3L~!DU)~(bwUw0I8^hrcnqYUd7MJ7K*g*$ zF$mGf;}S%5gTISk7hQO<1-Y!5d5!&8N8nt!hW1YRCvMY|S95LdMMgF1%Ngxb7?XG+ zDJQl9=9=#VgLf?lBFFd!Xw&^j*LfxQSjBIz`MsE}fc=Rrv!m(fFk%F$L%Q5TzbyeU zNa}sL^?tATRjrU%Ot7u`H+#T~3;Z**SKa2@>mD)qlHlX9Lfzs4wR{DSOWbUS`*c_1 zMN3e$t35#-4$Db6dOEnKbK$zyH|$SA^fbtL5qVmw}cx{d&@JQ|{3oFl5Ew&H$%EVFXb2g&1VzaWaj@;w(PhZ|dv>D(0h_i>e zN2X#8td`?3M0ujT;@>?poD;Fa5)ykle7yyDBKE6nr87(b^qtbH$R1R?JE;}eFZKH< zaYj*<+3qE-w0J&pCh#LCP65eEHFiJ$%{eRN{ieCNJv_@mLP&JFALcW!c@fS^?v};q zpqQ&Xb1Q$wS?=2S?fiW22i#UR?gBmnV$^0arnTZBkZgFwJI{BQ5nEqc>UMXBid$Tf zyt}F#cDPK!Va|~+G~B}z*c$?F{9TR6sL&q(_eEC?X284Lk=VZCl43Uay8sicoX|P= z@T^)`#15?;pdJ$&pp?H<{e4Z^X{k@S>8|Z zU-)UiGy6%-(rp?jfu(H%4n^l^O*s7%`PKCJq=ni(ZNN`gB-m&F>a1fGb1OisO4v0;%To8r!I`Fpp-xzmb(XFyUhK6%qD7@?G2hXf-bMH^L z1svyvtFE2$wx-KhEy!D1-9%%~(xd&7gx9mDz`y1XvdD=&hl-Vep30{xv|y{ORy7On zK6zktxz(~VIz&laid(AX6moexFxwdYYqusXaoID-h#-+STeDWv`wNJH;hVEaF;Th= zM0Qg!@+guz5Ene|Pt4zQPbWdhZzykATALeb<|=^Pf(RtRgOeT!dSh_&49O|!7uh~dRn|P>)Gmr>lW$? zXj~{BHZ!Ni1JsXwsg}>`@%=Q{40PW$roakI?{Q*}9|auGDOJUtYqLNYxHzCfNT#Go z?N`PQKG;iv%b`0fSLSQI{LrKn1DGEdo)* zO%FvSz!brA1d&bC$#&45&JO$h&vQr)3o`-DRe}BpGvG401_U5MNNA4dL@ZemH7{@I zB84m_+_RT=GdD)@fjzW`Z7CK&5MIu@rQ4M)X*EXnnKfmp;_fOp77x$?BDo}`NkAEz zS1;D~g&=eCMluPl_AaTmRlII1_08OZ*2p%}*MoV!fc5g!?|ZQKK5?PRJCo*SMnUct zS?RyX9%MWzcrkBMVF3yaQ!L09)=T}Gi~hRA3IPynlG*Jxv;t17IT9vH9Kx2g9>bb9 zgJ5Y2pwFG)SmnkF?x*)^Owvp3X>enaVYUJq5*Flah`7fC=HC5ni`TmBenM~a&^=*@ zxI7$d9}XAO4>xp@LY7jmrs};S_w^#@p{0lWMaYr18CvYnox*AIG=zu&yD02}hr4$^ zh0u?OO0?^nNts0loeR;U^`ji{bj1-GOBRU21*T-LgmqJ^>$D+qu$S25ptUspLXHbo z*{;ilhuUu20u0bEXlqd-@!~OIa-COjEq4D_TG?Lk7kJHZtgr6k_K4-)h&Ea8YXk5o zfUmOt90*?Vo&>n^NCxN`A1x7@1!`-MJr&P0lk3qzK=I{3fdWKV5aBf#;~0@(5Ru?i zu2@*UYNhTLdS|JNv`BH)K!;GhOu9EL@ykN=yh{H?j*WdJ>%?UHd)=u08oT1`6 zKErENpWC%dt3?I;2LyG{1EJbCDpi?c680K>x`o=5n=iH?_ z8obBgK%R#Jpm0LP@O_mHy?>_M@p}!)_mw}Od)D3!9&Fc%NR;9KU-%7W!VeB$-z~_i z8u^!_F$yjZAa;WnCOr%d9`WNZU%T)2 zW~b6k`&kGlkuwr50Q>3OEO@cpL2q)oST@C;@|h0MFRVo3&*?XFJM&v!z=+}Eju4^c z?g{d_Szy88zeaCB{}Ftwvdh@c$O!qV;m(%ef*cZg&v{ttMf8EGtya}N${W&YLIR~% zJ{^5j$?CDzu0hh+%Ub?W;LhiY0(svfk3gVjnygj%GpN;gWdKo$SLuH@2%eB)K#yy! zn9|gZNrGrFfjWndF?dw9rhKW(ykJ>#CA?`(r}*}j5{)db}b&7@Rq zpv(0NJ9pRPdFnYwb2xZInl@V)P`5Jr%fz5}=)!5xt}xGM zGe}@7T^D0G&Go=&< zhRcT;hZ<^W3xFN+( z|I*?u709XhwHiDvJ2xwlKq(ex;Jer4{{kvS@q=KTEx z?;u43V5IWaugIy>{oH;?idQh8wl=Ajm((~zYwP>}cMSz{K0d_O)-|uZSKIiok{!%Qv7zafLazz)g?vGP=f+B$OzK@`2l!Q){jr3+R3$RUWl{Nc~u2!6+qULjEBG?)=P zsIlFREhsKo{8EHNpm4VhOXE?6-3F9AFGO77JHsry0Aa9`_AqaZ43_3_E2jKq=hG-& zdh-18+y!wDa7;$IOA|SS%*J-7F1BpXXyc7b`*s64q)!o8Xb7Z@+Ggl%r*FTvim<@m z3P|guK!H}AAt%J1-V*3XOR(Q0za~kM(`>sK-sT2l0gUD^-du+3>&A`En+EkyOJ3Co z0QeXZrh&5fvDpwvY4+Q{L1p44D&%zU9rCj|u$`dg7BgKT3{3Da0Za^oH&g=NBG&L| zzV#qn22Xp7uLsK<6^Yl! zqA*FHS`jv;Blc;3j9sqG?P-9vL&B=i_C*MQc7gm2Z`h(|hOW@VZl)QgCGOc~m=&3A zB?i+gRv7dZ3I@MObq4r~q8pyv#i$+d{1NEw_RYOT%hy~YM1*Qlh7FpuuV6IwaWFHV zB4A!FAjW~5PX;&fuO{<4mB~RY`+fJQkjps})ln1XMU>QJFYFk~h;`(KA=3(z=D_J( z1TN|=z*ZwRK)ciam6?VUNmm;u|KTfi;`W4eu1&gB54Nz*FzawBv|oat3Uo)@b3GxY zyMzY&&KetmGH=?|0OIdEzeUDa=`aoKQj&89$wE-shB#bBXlxGx5JdZCJ%*O>mnFCC zH@Um8jnSV+r^C-5i;Ui%^rgt;?FAI>_j$Q+IQ+gs&nlbmd05tG5ZGKh&WCS9#H6=c zFDCuBdGLJ{O?qmdv9(n@raG6T)o`U>F|TpqjWZ}zfvl?7sv3M9Muu5*I1Cfd@5qwr*SNBvg>Pbqu<1%hg= zkEqEBuSoT{>#{sGN@zd{~1V&ESF_=2jZy!*b@FI`ZE&v1;k#d6hVnl%z;tz4aXCZiK>gO$CMvMnjRdJjGTE%xj}eVOPXA|`J8=twH*)n8Oh zOh189&5;PxMXnH6AsWwrUacs}k9Cb|y7b#r_-4P~bmOYv^wv`V3tZfB?UGA-r<|Ew zevJOPr3p}>_T&fLV@Ol3epBN@9y@_Rj+O(YSZ&E&dUbP0C%J0f7t!S1v$SB(c*Q5b zFO3Dd7)R zTKlPWok(e@P}ynH^I^}dAjd{=ce$tgj^u!vF|h@rxLpG228)pzdl(qJ;9R-qRuYu{ z(P=7aOsI^7xKInl55Sb0ys=dy;GJ&{wRcC(Qzt;9zX7m8-qV4i<2%n)b^7nh#-%cR z2q-HJxWfnxKz<&H22zuWR*fY#tfKHHVe$iG{nGwN5$XF!*?AaoEhMD}Uy8V(R0k>7 z60;9Zy;Sm@A%kD-($H2j{bOb<>AL+;f|_5MX6YgUI8X8~;d)Zx?&oUa#uGV&f7?b# zmddmo#UIopI92(uZYBqdAMjMAs!U(&bYCqETv_B+CriYcsN$x}Pk!g#>ZYnqO$HH0 z_G-5K)Tn>1?A1TER5Sp$`F@~kSM_*EYO%5o*2#EoNkI>SKNpf%?~I*QdRGDj@jtn~ z2jk$DaPUh0)I&Gmn^)EdA|z5z@`_0E|8h7oGpI&`S_=S%*qk~Ql+XKE;t!o^hw2;~ zVdf%BI{KvGR^UHMBqcy5G6% zQIsurpZg@$Nvrd!zGv(h*6cIbza>vE?UGkge#2E*?S2(VI&W=Nvmz zpQ}(*^U)B+M(nZS7OJ`oQhOOr*G{y26|vVE_&GK3Y9G#8df|*EbvxDiu#UDdx>|zm zeeTvXXbGz@o)C2WMjf*_PN=n*5(;LV1DqB5czaqR%Y9-qx=vJvzp2Zb98^ci^!?Fw zqS4u{+2fCU+vFbQb%kK?QrGZXQ0ripKkm)5Vs&Qz%Ib{)9LF=FQmQ~+Ja>F07@*L_NWG?@96nBd= z@vDY*>g}6>04DHwaOCsEb-6Ow`2}ovXVXM1scC}KR0{sIJ~y=*+8*x>V_JZS8m{EE zi(vOT4na7dK#0X^pWY4FG+Lp@Q^)l-1Nsn^n3oJ59Q~wLnaIjh>RIaB zU|NCRof78X6Q%{P3%1ZRfm+dBsjP9cCT{0}=K?hPsh~T)sc|mq5mHt*q3p_!u zjJte0_TLo^JZW3@odxE)05S3#HMR##F2Bi+|1!ca0w74cdP`b`3wc8(MJk z1BbAZ3(_miC{_V^_XPBvzbZGh35S@Aoi4`RHtohXfJ5LY6`LN|PpShi7~2FdFNG{m z`B>4+YaMf2l@5ajmg|)m4OZKK_kp!0uI~&cLpBUT0Xdmfs0}csdL94_cew}M% zzch4ZRm5sBkHzqtgCVJFZ)g2FDKQ%r78n*njH{Ora%>=XPXI9d)jqz4A)f5{$&5zt z?h!uI36xOM2|Quj{Dh*zT5*jeGu@Yz{BDPX4{VFbqoKz}5S3s)i7KBk+@C3?Ic4E* zy?M@CEEuG>?mHUfR3@|6}HEmb@zr z+Grfb$$N==^V=WGU=+r+^)C0bA*PAy3OjuXA$~zTQzss@x-WJPQ3}-cF1ah~6(`$5 z=za1J%&%1daoILNy_#+^Tt=rM1es0ibkH-^E#2SdS`&;XeGKo;FS&1g{=)0|n))^M zMPLZ#5opdhw-2hBYL#Dwd4FgAFrBA?Y!rZ$VbBucrJVe5&Qs7tU>q&#+3+Zolie#j z%}@{=au)4w=(}590Bg}Mf@f(XMbG6tJca#Z#-ASH{M@@M;Il1=Z#?jw`kBP>{xijR zIL{jG9nHoxfC!1o71uMeA=S6k@zL&8p|8eJRPL3Y=ZW0t+Oo!fvkyBytC}0RaJYT@ zCZmM+@^-p6wMQ^CX+9*W|JHAB-{y`@qQ^^5?>JsN*X?dX#fWg@(+L~=%tRvT-mcrS ziKHtQ)T5uJ!#{gV5qR5Jn4@L3z;LS?ri^bi!=wGkBp6sTtnO_EP_YyY3lE~a7P#__ z;Tap+Am4uo(qgmSO)zjLcLjM@!lP>9fm|Z&?1F~&`GOKN<2OiQXp!SY&y1py*^S7{ z@Q)>Ckn|{T5%POi(B^q5#RyP7vQ)}^j{!jr^kMF>k4fVrtG|AQ*zBzdjc+kdquqxm zYc%+t ztr~$_`rjiA_B2=95685f1*JD*O`Smqz5~h}xa<65VI`!rHuuTd2QQpR1LB4Prb<>f zIs@PQUEBcet^HkHm6GxmT+oH}O)ccaH@(f*gBl()JNb4VGLaYsjz1QG)a^OS2?9dI zZ{g?GazZv_3FcQaw|pbXL3?m}nq9pvn^S}ug-J88$(n6QB;8_Utf`d!-$Du|+u+PD z5okbH1OBWu0=ddW`uKkLE?PG{~p`Hmms76A;Pd0xmqio&{!pg6e(&O};e|yUwdvRu`@F*;fnQS^_HB4?~RVs#oFcxPX*d<|rR@ z;N&GR9&7SPw8#`wS~aPC%KTsTR*#2^9IQN=z2HGHxrSq|Y^^C_@jf8RP@Wn9D^X^q zr2p+T3i%2QebCm?ei>_I`dL`Bl;i%1oN&*>K(nj@T;RT2PQ9!hYhhn<>or+Mj66G( z)v0zv^bq~C8t}oW56S}m(;xGt!#M=4Uhk@Um7k8zZo|tMM6;86v7EWmk<6|N945o;wES15b$IJSu6G_qasB1q#cO3jX>pVefS5gKwz zG6lV!mndSt(LQ4McD4ED2QHzi!Zp=xHH1U*`#my=hnS{~d=-5Xx`O2;I^cB$FTx|@ zw}Ac8(SpO^(<_@Mcbln!oAM@hGk!18B5US~(LR#Q8^Vn1@=qLpc89Vg@2K;H5|}w|BqAe}t^!|UO@t}q0BGv8mF#OUY~0a++qlA2p{L~2A>&Y=;`mcEiA=f| zL~_i1g?Puop=CQc;s+2+)>!HGE(>67V!RzQZ=;$VraSfY_oK`%hR$>hiStp<>qO_o z6orPQ%>OT@!pnI=bo4QB)_yq=s- zwVav+4q%|c0pJT@XttySRi0Qu{zYYoKfeCbkBnvdZ~(hvhYAX9;|%Rm74pqQ>{@ZI zm+F~Kdjm7U^hT$|`f{WPMA{@8Oy+F`aCniM!RW`NBDb>TU4<20z(bQ%-qnNAslKn4YGNtAo?6ye(`-`p>m#i1H33M-L#v zCah8OF}^5z`aJ06l>hb30dp0cFNx$0M)8blEPXD{k)SyLMsvfmn=A;8h!OSp3S6H~q7T66CfbH39DSwP8xiokX5YS@7l&L9~B2J_9Yh<_AcM|Z~koubEV(~AHq7%pjxwEb9w3LSs?t9IzQH^AlbFWB(!SB-Ip|L~zs zP4G4{nV#=J>0QVS2Hi2wA!zIT_7m7|g+_YGQq5Yiu^UNVhdqGum7IJ#ko8IXW8^O) zrGJMQJWv*WlK5hSu%vh{A`iIgY?V9wtOK+@g+`W#8BV znpz8%7}Gp_zVDq_bfwsVdt{pp>=0YY>0YkW*uqtA8Th!ClN1{4nr;h| zQUUj2?I~I|C^MC|1Z|Y%&X$griZaN0UVgaX1!>Sfy?NRM*+ho)8qk&c-?gqWJ?D4? zs?Kx# zc5I2>kjr$uV5{t97jRSQ?w2q-+}_)>VLCCbZ6drJr?b-!453@dnMZ#BkBaYU;v$tW z&?HWLYPr7EZ!Hm0l&;G#xBdpZEbidJaInjKpKtuv5=X#xDg|>r{{q7c20dqCNG<(` z>5qthF1GhB5e%$hpjVGg&6TxPMqzL&P`y*{RYnHT45|f4U541=ZVSp5Hr?oy78z@$ z=Tu~X;P5ee(BQzi9J}YH3lAMd{I+n8B>Y5lP8HE6E3HdSXA8$66vXs>HclWN$TB1~ zL&dBe^l6!A7s@tW`5+3K+%VQ-Y+>l%wjxXWs?$6W$l2UZK&abw*B$BP49JwG++nQL zV&te{sxoV7}xMfd)fi@!{&{G)nM-BJFSH` zv;%I|gJYZJa*x_j@_WKrELF#I+vTdr`~^2-d)vbWg0P=k80XANex0EL_^2B_kx z{%-fo_LszbWG$=pDxE&*WJ`u$unxVL$~2ZgrK!6wJIsTw3nVRihv^C`Cjq~_fy(jJ z-DcXJ4&XJsN>|T>4R{UZw&5!yv>Uo0S5Ff?!6YiT8jz*|6w5JQ?9DbUOLjjmA%u!d zDSV6q+XkGB>w^lXnG=N!N4=Qg`&SlY7;O>-M*CbmbTHiQ;p`zc!dZAKH8%EV5{`3~ z*DEscygu!%woh5^*UU!4`4mi3nN&07TitS30EPrH|HN@G;&G{Mrd5W>+1gRy2#KU$ zNrYY1^m(6q=cHKp;M(hfpaP=(ANK>{HDD?xX(c&pcTUrpJtut4ibgs%dcvA%m_#aZ zoxk1)o9*Ke@Y#QSKxuYxBH+wlUcB5)na7AdbsF8ZEB~7F1UA3$I*QuwJi6gh*{3im z9Qb?4P_59RL+kKQ&8}tNBd~gv5ip^bk}~<>iTnkt2N!Z)Y39G`aYdd@m5PqcnY&F% z@{;^-MZmvM9hOwipTjZ|k~gu5SXZ9$HRYRu$tD0wWm|~uVjU1*?+m_Ve|1G~W6~6I zJc4kfKWL($zVShCqeOr;o`ZjP<%qzvyhgoPYjxq2$l>PUDeQz=;KM2hQ*{PE*DYjuiF04AQ_`k%>%k*k^@;|iQ^&ZiFG03z#v#- zaXOJ@d2#_qF@JGg_8o`dn#zZoMi}Jss3Bi-5VA?dWu9VbYDmaXqZiW~ZrJh0js*mAMZ!{G?0}xrd{Id;K!3)$<;9tLe)f5Dnej}&rqih7o=UUXuh`}P)G72&-;mI3{G(;u( z_c;)MguVwS3=U1XmhMbpVSG_YS7(l017f*`zt!)*!8S|9BS=JJc%y)RPF$&il$fD-^jEehF(mlt8`^<4QHOnD{qooiV9~q8LG%Au zHsZ=jjNoCyfvB<$8HXcnvwAyx?8mO|oidqkv zC@>%2EhQ}Cfm>)t*-}|6sYKIjYS93YyP58Kc5-&_ua!u;9J*AUr2Fqb13Q_G` zqPW2}mg@n(w$G_C*3^)I-qE9`_9j}z5OUt%i^lX?cLnIwQE``!2C5wP9Y2=I)7y$Z z2YSB#!Jq}W!PC#g<@f;R_*ZIM4}98qkkl_>vBE%8e;Qd+_*nnthXt-n_&;7{J1)Wq z(RfbSq}%CiLF^!?SeLxC?Y!^2;9MP?h~4C!;QV#QM>p2K@~^z3-!@R%re||~>$44d z#y1l~Z`zTr!ES}`#in3@mFAYH&uV#nkg6f6@oQ96K5kUC$`im1#__}5KXQY)4jtKV zVV=2hum(P6)dMb`)_HJJq=7CQ2HZ)ifPulHg}nRfX}HgGaGH;GJ$>*aHr7b~lEcr_ zxz)C*=1+gJpC(wgei-i~PC%@!m2$(B-kDXDAbYdl_;GmN2dUhHb1w!VJRI*1>Dj5x zc^fb9U#(ET3zP)?)W@_+UUKMOjI&%c22A8GaL*uql@S_w7F`3lZ>c%q>pV^Sd%@Wb zrb;uucaNOiCF3vM^sZf}$aq{n$viYsb!?>;7^=Irmk=$@*Np8EW45yyyLoPA!hO z4QWG^zECvTWDp1C;fVJHWS#}@N5SlK%Ve5Y0AE%$wZls+wZdXkqO=lF9HT&aW!0+`yDM^1YJ?J>3&+|TeU8j{&>+%1p_xn5d!N#II~*vjJ8 z16EJzWs+JgTWLoxL-lKvoL6IR|7sGKmexf+07d90DM`b#MFXkgW!?g87P>{iafCA{ z;x2q6JvHe5IU)O+3`=`g<1g1fAk=!vrz$RicX6TqK1~>mnPAEZHq3%4w*}8UL6tb? z4~j#W9p(rYM(_+tucx|PP%lEr|_dYwrZ2c!~alG8Ha8m9|Y z+s+EfUiSu^d{>2mhn?A8a1&%VE+7iTuKKepPB-i@v5V4xIU5ezq0;0L1A|n!;q%lY z+|~ZDi{5P#if^gW2)JjDnW=+H;!k0}bKrO4tO!ZnqITGSvS)r-nOZaZ z%yyrngXu?Cw=rsJ=z3ST8iQ510Nxy6zeuYEWR^R+f{LfDKu6ZEWJcMR-$d!@Q~>!f z8}}_104z0!mP00s!Kd#_yzgY$9e8H8S_h=wjR}I+o-#+H`+?yUKG#S=)F)JFropM@ zi2ZJL13Zhpwl7~?ptdhT#i-=*B1ceJz!)ESFTp1Q_a6cL-4$a|SXc&IP-!hRIfExY?Vzh^!X3l4igx@waW$bznY)q^NOahzt zxSbtcV4|azds(rp&;@hFG1E-LJho7jCkH2LkPDS=n5zB(y1)6DBe)usBV%VLe*$J@ z{BpL}fKoSE2@~wgt;o0bW`IiPwHvV)8|~YiQS}D|psF5^;EyDxBP>uSA$v>NOwIsY zq}sM}P_DtPE>!#2S@OZqh@=+m?1`+!{pA_uSyCA=E}r}~wNdJ~;Wd4L*z>>DIIRx0 z!T<^{n_!T*o#h8bY!^v|hU3o+kEQnrv6vHSDLAK*X}3oXy<~0e2z&^cxPUnd)92R? zQN4#elPYfbAT^AW;)Q~Kx*bpX40xGs645;H_z~Lcf{8>=#ZzXf5qC|F6}EylH#u## zzljDjBs@)5bfX0`5T!5tvj+TJcwDlUl7c0Ccwg1s2j*m57aJCH>l3x17fnXIiX2TA zr%7TAUQHuOs}65PwVDC7-~+U6g4&ejBcDl$?D9;|ajPa!gp_>B6M|rpjz_?iiG(3+ z(sfyR7}3Hd!VtBI`8?o;BNYBrONErQDE$YQ6tw;Jccdt?d-5_1Xv5I+7ep&Nb|{eglL12ennXr`;7m6<#W``OBnYi z%#vtLH0UCg{nc*X5!KiSlUOt9r;%b3z&`38>!EfHRNXu{ z)1(jJAuv8y2FB(!2c;zDosrQ1#n!Pf-FRv@4^Mol!O*X^{neuBgJEoK;e0#=ep3PV zN+e$9U01k5YJ;yhT)hZ%{j!Fg2cmU-TMWcBs?T$Vn1Y(y^MIjt<{u;TXGz=1TBLkjsZg z4DciS8;mmT#Qo=5t)-&hh5k*Bt0madPACI^x>ZQ+$UOS@$U4}a+%Nt|iji^b*e+a< z@OOo4q_)@|bEFy}5>v?Awd9$r`P$NuV(QxIBaDhk(?yB7XveW}@F}^lYU=9nTT8U- zj!cC9f&p;^iLWhuRHi>50;5O~%c3ZPjSZnmK-O+V@!yc6LfF# z91@xZ93dRd;Eo!w(->j{NHqu7_wg_^dfSgx_@ z0Ac0_=E+_GKGm^}rl4^Zw5m??ECJE|MiIz8q#%gD`@&oVrvpHR{Hw5^ZspqWmw9V@ zr`LojCn{VAq`#9-Sfc<5yL^a^E9g(2hkLM5WZsC|T_M{ZdFX~9rz@s>gsbmus zai0hGSEost@uh}AUF-GQEFc<76#{~I9{BW@5;x*JoMcjKo|%2Hq4Gv*k=Q48zjRy= zxy{v^Dpb7g>aB&;tSmg!wPaBGpr(xQBG$3=pM{T}6RWaiIGgdkL7s@&O6h@9OHQQdx>6fU4%lyz zgD*V3P#o)X@^)M#=c$)(eK&XdK8^t(jZQ!ujsH6LLR>Z&z_?^>0l>}h|Ly~K)zdjS z;Ce7P({^>mP5z?)gIhKNvxvoKBmK1}k?m0q%c4GWDn|E?3b{&FK%s*HbDT~JKd)3B zw6Q=Pu7HNJERQEBc-$E52HGQ*5bpy3LG(2sJ6eqR9YKC|l*>M@cl1!3go#SwVr^Ua z7|jfP)(Wh`tO;YMRqPGh4Br#;7~Ii0efDG}{`a+kuFrmDxE5PGc@|x@QlpYmx6@X<^R#1j^X10H31ZqFmFKjX;mXts-0a%m}VUYLD&@QHXVRO^2NbVbURbLHc^IjQaqs^2`EP#mRg)s`+8P93P4XXt5 zBMk{nwz_7=QMRPQ^I#cZ2cUJ_v-Ls|_u!kzO$q-w@4kA6_b_xpiQ=`jH;xtx9SyI$ zs=I1zV>yI=ivWw4FYb%L``7f}ulm7w88H!hehmB8J?G_^={DcjjlUu}L{LYgCvj&= zo`cH#IIl9!fTvxz>e*a{@Q5;pNR`(ENAZYbPz1=9epe0OKk8QwI=J~);9+9$9DU>B zD(Ial@@;!b_y>KBKD%YIG4xD()j$!aEg!a4!6p7E45HvQ?ZBcl{f*Q3AM$G3CeB;F z>{sLA{#(QeFbabY+#%1Y*VhWtPZW$O&DYgZ=eB4&FUCAevHo+(e$!4C9)aWr8iL!lNO+~$5w6)D ziR*J?m4#s)(zx5Uaroo9(|~~ohH=WAs(0a2Dx6!@&nOE(k>nnP+9P;=V7>LUMU?y( zyfX*Z>bBMz%+HP{cgm-*=pKWCp?eLyAJGvKCP&@t=TlZk4(f2S zG30uh0og@(Wb0V%)U&1B##C)*UDoG{crzYPi#+Lm>wgR>uP>wHmd-~foW{3ZHMu74 z(P6~ha9};K{%674ls{M3=X;2zw?NyxTB5-ylvls{8E^qgOSI#Hy)rNYui0x30j6aH zX{OEj5XY>lxPQk1Du?ihB9A5;w2(tcZn`PM{mnUm2)Lu^#A}V=BY^dyJ%8Eoa$fFh zsVrKhf#7-EM`>Urq*{a%=U?1clkoti{nvSO#M$FO1KY?AcIck()PjC6`T7Bj;1N)` z0eM7!K-0i{I(|2EtXLvXI!q@bp>54t3lJ=d zT*1Ulzic$p-Ufes0=_gcD@bYg>7=T5aBx^eAKzGw84UgY3lje2h%m}eN>k^U^gtPr zb~a#UjSx6uU)ck4)>pOv0xm(J11V7}Cg$fEi0Jx~F%sIt8(s@WsSI~Cl{ihgn5|lU z`?cGbyE7Ha7pb_9{1YG&-Xn3|gE70i;GI<#=`UmyWtS%}fj|52jZ^R{89~6zE!VhC zuGJ{|0_I;$nuEb{lRw{QsZqDy8d^|NUID!pa6cKUdG;8hkTwR+3l^LgHm?cC_Zw}q zz$n&a(GA)r(at`Luz9XD{8T977#yhte9|YMws?Z#^TsJazoOOD*MH<6mWHS3({8ZF zfLYI`kTYG)ZYXOTK2+!Bx97mViEMpW2pmv=l_9E6AE@t1u!GMn@gc;X3&(sl7P+QztN2CXaShGkFcKZlGG*hB!>uYY0~=2yM{W2U%c+msnn(Un)*yESLD)OKtniLsZTnt(q|(6xWy zSnzKYtwTuuB?e1l*H?tV*333R&i&A2TSY(Eakgd7Noid9T>Zx$@@C-0W=1r+&Q*F{ zz$w}+nphhQ6tX;6qBei)VPev{a&k_c8Tzh}lG4+l9fUU?IcloPXu zf#4i_dL{gioZ_3!(-x?ouW)8E+bqT^NfhpiT-sqb@H|zXl5>*aP90gk+sE=$hLaVS z&raJ{H&Wu>ocT3k3!=~y78}r$Mcq?3X(S{3C-oBt0dDZORq|+C+}QONzF`7vI58(4VlpD@z=_Uz+!uBA{L2ZO=AAx_9)ySjJfM^* zDO}>t#!OwsUvIS3+D1_QuDB zTeai~yDA^7Ds$>4?3y%aHv5Ul4~p!Gu)x3=URv>B=|#s!wJRYOf*64gF2kch}!9307bBYaTBAO2@^p+ii6kLDBFa15OJ(@S;;a?n#aq76i?q!(-TAP`x- zjrRa~zMKQ@Ajy++;Ibw*(w1`-k*^ZFzk6FK=iGp%jDbm<8Ru}mDC(NxULWH_5GI?y zdW6Vx#PYY~pKcIkMSN{#u9-2F$&<6Bj<_1-fAyFsIvVySZ)tCbTwXAAHWu8&lq?7hmVpW~h1CfSR@~9rX4M=j;=J=BPM9jojKm zThUKx1WMRcLjG>+tsh)cp4eZLAlke}2*90*{T^})S@+rC#%Y_#U8D6L&{4H{-tDI? z_fS%yXeQB&1_iywCz!UgO7EuUj7lTYKunYX4MvMn*Rc!7)`&km9lwOg$6Lf^Qscy( zAG-HsPFefkjNO7LiA&P?8W5sw32vi*f*!MJF3rCxwg}=w?1;{XE?Z2**}j@R?)!g@ zkCwJ03J-6Ge9YoebFp{G3G*?+??)qm97nY%ggg1sxD>bh^3eN&p-~ZL3y;9JjbcdKn2J z&QSVS0glDf`o}Bn)tQ3zd1`#8r^Q5g*-&lAUXJv(?$X0kKxp${4G)dGZIR z4IxsRWeTI;5Uuc+hKhs533)Cz5(hkEC>?l)3>^<8X0_-sT4%PxM7`p$wXA zgIgJ|>k+^9E$n_yojAJN2l+{wGY*{i^NwwZSB$b#QxSMqIbT|0VnwW;oNt>-;IV4D zJ64hUbR>w3YD*UOn?+kp{;~KKz`Ura>QR6su?~+j!D&GS{I%urU#$lFM&a z#4)@5osdWUH_cirM+p3{FR}~*S)UdBOR@s4<=a@ULbuXU80c~oMMxYRWC*#mQl_#a z1@D|E=kAiH$(Uh_KuOD79H<1>36O=OY!bW1Oz&{CxvyKZGBi89RS0k3mz{Q|zmDKW zj*frr;%;mPbub!6ZQ4erHoit9L#*4;H58d@>;5SB>Sa=6YvP@|VJ}KeBXu9J7Er6&c3zL|YX+D| zda%g-k_}>a-g+Kiahy#w!#Utjx2bT(A42lXBg};t_zSYzA3iE4L##l(01|&m@Cx*% zOM7)azqWOMffK>wN^py-;Qrvg8_&)_kl>#UfRzTI$b(*Zqj9n+gAl`VvK0I#V@9ZA z#&-OH*h?!L;3#gez$tj~P{Adac41ify3A57Qf~yUZ7R(sV9kvzN7!(=pxxtmvWqg` z3E%S_RnYbpAauywnNSIq<;TMiW44jPS=esVv#!m>(_R;I1=KoFHhR?y&Y{v?g0|UJ z>yD84FcDbQ=MQZR2Natm+x4H-+2W(UXxLziQy^@`?ft@=8DUG!yefIMnNrBrjWO3- z`ts0ts31D*d^c_Q%%_7-GR!zQbDuQ3vTgL243vlh*Hms9It721|`jQs{Os! z=U-=@Y3s4Wd&_(V20z|ZOj~CHB138KAt0$9zPO}kvr*5KHqe}t_xSKynb5IVGr zU9M%NuttDvboNUxrJpT;dJT@@oc{F)etwPi1kQHNri1|yC~fOS4EjcI(Rmt&)`N9K6S4!(t8?tNQQ^P!_Uegt+htQ1AH=HrA*# zgERgv_&IYD6H!^_)%hobl9k(c?}Bacv$=5g*PSmqx-_{b@BeW;`CbxK>+-2=EPNF9 z7?=>}@u}}iFjBDWfuzEIUd5KFc(L)+sh)R97MhS&JPfvZngnJ=oP{84}1oj z7yBr#(~)leflIp&%jf~L{VcLyGD0*X%(e7;G))-5Q*s}R-+$8C5^Ga0(L30DLv1`0V3f?7+6Xbe&6eZ)ocmSCUFey2|EBcg1-fD z?1=*Z+J=XCjkrU#H3OhQ90XJ({5Wx8Hx@TMF%Gd)46@Py)d&EJdOiv}Qs$KB@uL(N z0EFIQdAJk!sA^RBH%$>u5qTTHugEU6MIh2cX6M(jujXtuIF)S2fcl)Z%vbu{4rL5a zgur6UN{F;Y)9TqKgh?aN>3th9Le1TW;cot?snvKmsMi264=~8PFr5~tu4%o(4b-Rq zTd*stF!4Lwr(=9crA+M?qMaV-e|;H4=fX-{|KxC^mBK5Zp(`qvr?ZVY1_D1J=AJYK zBYqvhZ=_8HSfzl}@j(X8mf=wF{`pW2A{PG)|TZDiVM~sV(_ntdBW5f%nOX_wZQ?{CiYW8{>}o}rjXgc>m#mgo2>Z(5 z3o5Pw+^>0A6q^U_HXO;nEUORN`ec{`a`l5xk4K1YRJDlKN?S-W@vOTtkd$q3XXpXf zDi3-STh$?FHv{ynd?DKCuW0cGQAn&41{)yBj^;8I?~rHCHLt@YeA{NrF>cbo`Sr=z z{AT*U3I8!n0#L>(q=*#D!lzGU>e)pkOES~kE;pDB5Kv707)Jtca{KbnrO1UmL@JMNtmnlJAo-=5GpEI|8#E8A=VfYJ`; zNIqa`n>tutRK9APRNf4zJiG}a@b`3ml+mWVPCiTueX~cPJOV9iB0*v>8@bB_A+ryO4=1N-;nQqFw-cMJ8_puD6xV-qb@51H?F_kOYb@sRm*E`a4@y?H1B4f)zH4b*} zDd5-Syo}=VX67ry3c4P`!UQC}R0gCUE0~xFT4`w0bil=2T3OepoZS467XZlh+HJSG)BG+uKZp?!obwS<)t_J}s}WjS4`i-HHnx?uT0c(_hCS%u?2R=RKvyUf zY>1rXzNcfk6DE+JB^sYS@Y*%FLBhHG^*#<)4knM=Ul(|Q^1V~~Vc4rya1?10pzpy& ziJ}=1yrhf|NerWRUAE}6c?-zmU4xs=Hy;|9$u&oa=61D&;HVC&t15tv7jUu z$qj9Ngg^q_=7&6IiT+40*yqNkj+Oc~fjvBF;KBXK+3Q8#un_~c!E1DbxR!^A#&^Rw zQEf9>WIwbYX8dG;$#{z|nJJ^>aN$P3W$t#1FR_*1|Kr5YxW#H{~YlM0~1N+6|m4-+? z%7KaGQRS|l^)k!N03{L_(fbzQej^ z6%lg{&9>qo^8BG+&lXB<4Z*L={%$+<6zH2zBo%bOXpt~d5iKp(6rO-qV*YXCJWYzt zistd90}JSoSZkmvlefb(4hw4}uyhEjH*|4?-cd+@_AddsX&HKoQ zgeSJB6Smr6+m_=**Zn`aV^*bLcp#0PiFWP{4qnnvXu>UL7v@r)abdH z=qk*5_gnMt5F)X8N*s~l)+-l9sQyo51;Q}4>`Urw4MF7-YWvtFC0QFcoX8r3A3d zPt!${nLrB@<;~`cnH?}M7aV4tX}nO?{Z%x3!{9A;OA?Lr_x28hzhx2iswo-gVmbRm zp0vROdny8(?9an@j z7CWC4u4r#`yPIm43pX-w%b0W_hUq+g7DsGrHB0^l zk%UM+*Fd4gB_ za}7rWP)7tRPGJ&*0`d*dy#0&XQ5&0H$oKxtUYyWT?0Fh{;RuR}m>d+VSAhu~u#U5* z`WKz3K?Y#5zWi|8Yc%nE&=+0~frL+z{`Y--(25xG{oK5M!Hs3Rs@j-UoYvxLDwZd^ zhNy1u(=iB!T_M6M>?`19C)!>=;%6o9QesINB_~X|GYm~$1LPPBxe>NNJrakfWLJXU zG=NN#{NK&6T6m182vFuIa*0K97%2dAt`Ph-sIY?_Zf{|+J;Ie;NhXJ&GZ)tRrXF6F zqbR&AZ=xpYzo z2{y6ft zJb-NgzPm&tN=t`qM!Jrd`j}T}^mkVy#97o9otHEo*0G|yGHIV`HBphIFOn&@T9sI>%M`K;u7R-+X1aR7)hMrVm_D3KJ{2(TJ5 z{)UH|sk04Kp>fu4q%cvwsPH4ekmIW`1ROI}JWtv`E^A!%_WnbaF#~Vb?n~QKaRqFA zK50VQ)o{H@O7X?@R^KKgY3PM%zgXF|&8N^QfC%}q1)L)l+B5qs3IUjcj~`==>;L;0 z#*|I~L*e}UI zlRd$UpsV>qQ+NA7@|TEyH1RNbLgh*+b1WLu#a~Vmg^yN^(H`G7ceU%F%7QZm9EdIqZJc`r0XM5nGA+LsC6)rt!{2gHT!+7dN719GzuS~Gtg zJ3I{%G>>88A6={SQFxbDQIQRnKfm-I_6{6yGGEA%>juaaAk_(v4-iW6^=|#pel&T) z-433VVc7_1qjt9LAm~m8rkK$@okrTG-YzNj1*NKaNT39}=5&x<2oq$MiE@lUKZ3K(n&tW;Un)H{l(1tszM3Ea{K?6<%-unZwBt)^#>*7U$J2sgH6JfS6 zfSYpC@gO#84T%$l;Pg$JLUzvBH&b+8bchdExPgwXYkDY_p{GXogjO(pXqEacUQm(2 zk1xHK;5Xt_Z17h-I6%I+Q1iLvXL%J=xwjA8o^_SUBL-X223`_acb7?{R&=S7C@5}~ z8-zQ?@zm@#esSP1^F<&OoCCks>7!z+oF*&-hXux?0QAGtdM;w4? z3m5|M2|p8UV38h~UU>}X`wc1^%iM&0%ksc&P`N=H$=q5%E-;Li6pdE%NQZ~}$ne|i zlj~ao@kT9Ti9}O=F>${tv(z~+A13^MIw&R>ExTVH7(|G^9fO1IkcQVCnVzpfNnY_1 z(EA4(^Vmq8^CLuBrNN?nVffN^$4v#A<@nP8fBw2Pvj2Fk}uJfhmP0ozQzIN(%m->f_b0#4_xSE`%{lm}%Y0PQ5Q zn|4hXd%c!>RbBtn_6;rh-fk#R?#;xIxszPupNq9+q68!SY4vpfquYn05jZtU^Hc$Z zz+%=KfM7n!++}(o5#?-FMbI!TBCc51yfe!g#@(S32)Fy+-v>ws&_#Rr)I!(x5kLIC zInS2M0)zKn?ERdS@-j7%=P(TP_g--F3_A#haydU7=++~-f}+1h2xnHwsq}AfyL)a( z8;vRGy9xmafvL0^(56bGE1Z*D{WHQDV(-PMYFO!p{WANr`Z%nyzHfF1Ib2;Rm)Lkb zG!+uSYkRb`LtYm)*RS7!CHk1a;(X&fmPGsJoL}c@#l4$gRDGjyKjwE27N)PYV_xQg-^-qyPLmmgEt_)Vh3#n`jiQ*Nr`XhAW@yD)F;$FItV1z-4pWdSXL1p zEHzWQ!aggnpo5twGJq05>Ujsl?C}yR4!HFWGQ0d%^er zAfOO}S~(|ZCyUZ?8%r>2Bled))jE9??cN}M$OiT940e_BGnOo?xMf^CPaHpnk07eGc-*)e(5#y? z4dGJ;dXOGxtW*CTSz6DL2wmzpKJ!a97d5%=0C!eLB~_v_Hu15ftiIE!A`)Y_8r@qM zp3{qIGo@v#if*HoFQQ$!-4(JN*s7fxsgixm8|nPjuqEzoK?iMJ6x1|+HEWZHMc_7* z)#&no{i0Vh80&u_|2H#O`ez`?Ohm|44mmOJUA +#include + +#include +#include +#include +#include +#include +#include + +namespace StreamCompaction { + namespace Common { + __global__ void kernMapToBoolean(int n, int *bools, const int *idata); + + __global__ void kernScatter(int n, int *odata, + const int *idata, const int *bools, const int *indices); + + /** + * This class is used for timing the performance + * Uncopyable and unmovable + * + * Adapted from WindyDarian(https://github.com/WindyDarian) + */ + class PerformanceTimer + { + public: + PerformanceTimer() + { + cudaEventCreate(&event_start); + cudaEventCreate(&event_end); + } + + ~PerformanceTimer() + { + cudaEventDestroy(event_start); + cudaEventDestroy(event_end); + } + + void startCpuTimer() + { + if (cpu_timer_started) { throw std::runtime_error("CPU timer already started"); } + cpu_timer_started = true; + + time_start_cpu = std::chrono::high_resolution_clock::now(); + } + + void endCpuTimer() + { + time_end_cpu = std::chrono::high_resolution_clock::now(); + + if (!cpu_timer_started) { throw std::runtime_error("CPU timer not started"); } + + std::chrono::duration duro = time_end_cpu - time_start_cpu; + prev_elapsed_time_cpu_milliseconds = + static_cast(duro.count()); + + cpu_timer_started = false; + } + + void startGpuTimer() + { + if (gpu_timer_started) { throw std::runtime_error("GPU timer already started"); } + gpu_timer_started = true; + + cudaEventRecord(event_start); + } + + void endGpuTimer() + { + cudaEventRecord(event_end); + cudaEventSynchronize(event_end); + + if (!gpu_timer_started) { throw std::runtime_error("GPU timer not started"); } + + cudaEventElapsedTime(&prev_elapsed_time_gpu_milliseconds, event_start, event_end); + gpu_timer_started = false; + } + + float getCpuElapsedTimeForPreviousOperation() //noexcept //(damn I need VS 2015 + { + return prev_elapsed_time_cpu_milliseconds; + } + + float getGpuElapsedTimeForPreviousOperation() //noexcept + { + return prev_elapsed_time_gpu_milliseconds; + } + + // remove copy and move functions + PerformanceTimer(const PerformanceTimer&) = delete; + PerformanceTimer(PerformanceTimer&&) = delete; + PerformanceTimer& operator=(const PerformanceTimer&) = delete; + PerformanceTimer& operator=(PerformanceTimer&&) = delete; + + private: + cudaEvent_t event_start = nullptr; + cudaEvent_t event_end = nullptr; + + using time_point_t = std::chrono::high_resolution_clock::time_point; + time_point_t time_start_cpu; + time_point_t time_end_cpu; + + bool cpu_timer_started = false; + bool gpu_timer_started = false; + + float prev_elapsed_time_cpu_milliseconds = 0.f; + float prev_elapsed_time_gpu_milliseconds = 0.f; + }; + } +} diff --git a/src/rasterize.cu b/src/rasterize.cu index 8edf353..982bba0 100644 --- a/src/rasterize.cu +++ b/src/rasterize.cu @@ -11,6 +11,7 @@ #include #include #include +#include "common.h" #include #include #include "rasterizeTools.h" @@ -21,14 +22,29 @@ #define blockSize 256 // Toggle features -// Bilinear texture filtering and perspective correction works with TEXTURE enabled + +// Lambert lighting #define LIGHTING 1 + +// Bilinear texture filtering and perspective correction work with TEXTURE enabled #define TEXTURE 0 #define BILINEAR 0 #define PERSPECTIVE 0 + #define POINTCLOUD 50 -#define POINTS 0 -#define LINE 1 +#define POINTS 1 +#define LINE 0 + +using StreamCompaction::Common::PerformanceTimer; +PerformanceTimer& timer() +{ + static PerformanceTimer timer; + return timer; +} + +// timer().startGpuTimer(); +// timer().endGpuTimer(); +// cout << timer().getGpuElapsedTimeForPreviousOperation() << endl; namespace { @@ -725,7 +741,7 @@ void _primitiveAssembly(int numIndices, int curPrimitiveBeginId, Primitive* dev_ = primitive.diffuseTexWidth; dev_primitives[pid + curPrimitiveBeginId].texHeight = primitive.diffuseTexHeight; -#else +#elif !POINTS && !LINE dev_primitives[pid + curPrimitiveBeginId].v[iid % (int)primitive.primitiveType].col = glm::vec3(1.0f, 1.0f, 1.0f); // default is white #endif From b46fe9de7007e5f5b70cfb3bb6ed70c9b6e12f3c Mon Sep 17 00:00:00 2001 From: rickyrajani Date: Thu, 12 Oct 2017 15:07:26 -0400 Subject: [PATCH 06/18] Update README.md --- README.md | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 58 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index cad1abd..83265e2 100644 --- a/README.md +++ b/README.md @@ -5,14 +5,67 @@ CUDA Rasterizer **University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 4** -* (TODO) YOUR NAME HERE -* Tested on: (TODO) Windows 22, i7-2222 @ 2.22GHz 22GB, GTX 222 222MB (Moore 2222 Lab) +* Ricky Rajani +* Tested on: Windows 7, i7-6700 @ 3.40GHz 16GB, NVIDIA Quadro K620 (Moore 100C Lab) -### (TODO: Your README) +This project implements a simplified rasterized graphics pipeline, similar to the OpenGL pipeline, using CUDA. -*DO NOT* leave the README to the last minute! It is a crucial part of the -project, and we will not be able to grade you without a good README. +### Core Features: +- Vertex assembly +- Vertex shading +- Primitive assembly +- Depth test +- Rasterization +- Race avoidance using atomic function +- Fragment shading with lambert lighting +- Framebuffer +### Extra Features: +- UV texture mapping with bilinear texture filtering and perspective correct texture coordinates +- Support for rasterizing additional primitives: lines and points + +# Samples + +- Cow +- Duck normal +- 2 cylinder enginek + +Points +- duck - 20 +- duck - 50 +- Performance Analysis (timing for kernRasterize) + +Lines +- truck +- cow +- Performance Analysis (timing for kernRasterize) + +UV Texture Mapping +- Cesium Milk Truck +- Duck +- Performance Analysis (timing for kernTextureMap) + +Bilinear Texture filtering +- Checkerboard with +- Checkerboard without +- Performance Analysis (timing) + +Perspective Correction +- Checkerboard with +- Checkerboard without +- Performance Analysis (timing) + +# Performance Analysis +Pipeline Timing: Box +Pipeline Timing: Duck +Pipeline Timing: Cow + +- Number of primitives +- Vertex Transform and Assembly +- Primitive Assembly +- initDepth +- kernRasterize +- Render ### Credits From 907fcac519c9543e4b26a325d3a2e225046ad331 Mon Sep 17 00:00:00 2001 From: RICKY RAJANI Date: Thu, 12 Oct 2017 18:08:30 -0400 Subject: [PATCH 07/18] more screenshots --- renders/checkerboard-bilinear.PNG | Bin 0 -> 30627 bytes renders/checkerboard-normal.PNG | Bin 0 -> 10340 bytes renders/checkerboard-perspective.PNG | Bin 0 -> 11032 bytes renders/duck_lines.PNG | Bin 0 -> 76397 bytes src/rasterize.cu | 22 +++++++++++++++++++--- 5 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 renders/checkerboard-bilinear.PNG create mode 100644 renders/checkerboard-normal.PNG create mode 100644 renders/checkerboard-perspective.PNG create mode 100644 renders/duck_lines.PNG diff --git a/renders/checkerboard-bilinear.PNG b/renders/checkerboard-bilinear.PNG new file mode 100644 index 0000000000000000000000000000000000000000..de29585d0fd95c50ec73019ef0996c581fdc3c7d GIT binary patch literal 30627 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 literal 0 HcmV?d00001 diff --git a/renders/checkerboard-perspective.PNG b/renders/checkerboard-perspective.PNG new file mode 100644 index 0000000000000000000000000000000000000000..4e91dd1b2e152c591fb28557529bf0d5557fb3ef GIT binary patch literal 11032 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 literal 0 HcmV?d00001 diff --git a/renders/duck_lines.PNG b/renders/duck_lines.PNG new file mode 100644 index 0000000000000000000000000000000000000000..a46202f1ccf301b2c526405db0f400dd190b12d0 GIT binary patch literal 76397 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 z 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 J4Y~d3{{SxY8bJU6 literal 0 HcmV?d00001 diff --git a/src/rasterize.cu b/src/rasterize.cu index 982bba0..247b677 100644 --- a/src/rasterize.cu +++ b/src/rasterize.cu @@ -32,7 +32,7 @@ #define PERSPECTIVE 0 #define POINTCLOUD 50 -#define POINTS 1 +#define POINTS 0 #define LINE 0 using StreamCompaction::Common::PerformanceTimer; @@ -892,6 +892,7 @@ void rasterize(uchar4 *pbo, const glm::mat4 & MVP, const glm::mat4 & MV, const g dim3 blockCount2d((width - 1) / blockSize2d.x + 1, (height - 1) / blockSize2d.y + 1); dim3 numBlocksPrimitives((totalNumPrimitives + blockSize - 1) / blockSize); + //std::cout << totalNumPrimitives << std::endl; // Execute your rasterization pipeline here // (See README for rasterization pipeline outline.) @@ -904,6 +905,7 @@ void rasterize(uchar4 *pbo, const glm::mat4 & MVP, const glm::mat4 & MV, const g auto it = mesh2PrimitivesMap.begin(); auto itEnd = mesh2PrimitivesMap.end(); + //timer().startGpuTimer(); for (; it != itEnd; ++it) { auto p = (it->second).begin(); // each primitive auto pEnd = (it->second).end(); @@ -927,22 +929,36 @@ void rasterize(uchar4 *pbo, const glm::mat4 & MVP, const glm::mat4 & MV, const g checkCUDAError("Vertex Processing and Primitive Assembly"); } - + //timer().endGpuTimer(); + //std::cout << timer().getGpuElapsedTimeForPreviousOperation() << std::endl; + cudaMemset(dev_fragmentBuffer, 0, width * height * sizeof(Fragment)); + //timer().startGpuTimer(); initDepth << > >(width, height, dev_depth); - + //timer().endGpuTimer(); + //std::cout << timer().getGpuElapsedTimeForPreviousOperation() << std::endl; + // TODO: rasterize + //timer().startGpuTimer(); kernRasterize << > >(totalNumPrimitives, dev_primitives, dev_fragmentBuffer, dev_depth, width, height); + //timer().endGpuTimer(); + //std::cout << timer().getGpuElapsedTimeForPreviousOperation() << std::endl; checkCUDAError("kernRasterize failed"); #if TEXTURE // UV Texture Map + //timer().startGpuTimer(); kernTextureMap << > >(width, height, dev_fragmentBuffer); + //timer().endGpuTimer(); + //std::cout << timer().getGpuElapsedTimeForPreviousOperation() << std::endl; checkCUDAError("kernTextureMap failed"); #endif // Copy depthbuffer colors into framebuffer + //timer().startGpuTimer(); render << > >(width, height, dev_fragmentBuffer, dev_framebuffer); + //timer().endGpuTimer(); + //std::cout << timer().getGpuElapsedTimeForPreviousOperation() << std::endl; checkCUDAError("fragment shader"); // Copy framebuffer into OpenGL buffer for OpenGL previewing sendImageToPBO<<>>(pbo, width, height, dev_framebuffer); From a3f38341f44857cd79f1627837a53af6bb495c98 Mon Sep 17 00:00:00 2001 From: rickyrajani Date: Thu, 12 Oct 2017 18:46:15 -0400 Subject: [PATCH 08/18] Update README.md --- README.md | 77 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 43 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index 83265e2..f9a724f 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,6 @@ CUDA Rasterizer =============== -[CLICK ME FOR INSTRUCTION OF THIS PROJECT](./INSTRUCTION.md) - **University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 4** * Ricky Rajani @@ -26,46 +24,57 @@ This project implements a simplified rasterized graphics pipeline, similar to th # Samples -- Cow -- Duck normal -- 2 cylinder enginek +Demos of scenes using basic rasterization pipeline using Lambert lighting. -Points -- duck - 20 -- duck - 50 -- Performance Analysis (timing for kernRasterize) +Cow | Duck +:-------------------------------: | :-------------------------------: +![](renders/cow_normal.PNG) | ![](renders/duck_normal.PNG) + +Engine | Truck +:-------------------------------: | :-------------------------------: +![](renders/engine_normal.PNG) | ![](renders/truck_normal.PNG) + +Demos of scenes using additional primitives + +Point cloud: 50 + +Duck | Cow | Truck +:-------------------------------: | :-------------------------------: | :-------------------------------: +![](renders/duck_points.PNG) | ![](renders/cow_points.PNG) | ![](renders/truck_points.PNG) -Lines -- truck -- cow - Performance Analysis (timing for kernRasterize) -UV Texture Mapping -- Cesium Milk Truck -- Duck -- Performance Analysis (timing for kernTextureMap) +Duck | Truck +:-------------------------------: | :-------------------------------: +![](renders/duck_lines.PNG) | ![](renders/truck_lines.PNG) + +![](renders/rasterize-graph.PNG) +// TODO: add performance analysis -Bilinear Texture filtering -- Checkerboard with -- Checkerboard without -- Performance Analysis (timing) +Demos of scenes using UV texture mapping -Perspective Correction -- Checkerboard with -- Checkerboard without -- Performance Analysis (timing) +Duck | Truck +:-------------------------------: | :-------------------------------: +![](renders/duck_texture.PNG) | ![](renders/truck_texture.PNG) + + +Checkerboard | Checkerboard with Bilinear Filtering | Checkerboard with Perspective Correction +:-------------------------------: | :-------------------------------: | :-------------------------------: +![](renders/checkerboard-normal.PNG) | ![](renders/checkerboard-bilinear.PNG) | ![](renders/checkerboard-perspective.PNG) + +// TODO: Add performance analysis + +Timing for Checkerboard +kernTextureMap 0.88 +kernTextureMap with Bilinear Texture Filtering 1.02 +kernRasterize 90 +kernRasterize with Perspective Correction 66 # Performance Analysis -Pipeline Timing: Box -Pipeline Timing: Duck -Pipeline Timing: Cow - -- Number of primitives -- Vertex Transform and Assembly -- Primitive Assembly -- initDepth -- kernRasterize -- Render + +![](renders/fps_graph.PNG) + +![](renders/pipeline_timing_graph.PNG) ### Credits From 75dd70598350f2fac3184112fb778dba6cb78e7d Mon Sep 17 00:00:00 2001 From: RICKY RAJANI Date: Thu, 12 Oct 2017 18:46:30 -0400 Subject: [PATCH 09/18] graphs --- renders/fps_graph.PNG | Bin 0 -> 21364 bytes renders/pipeline_timing_graph.PNG | Bin 0 -> 18729 bytes renders/rasterize-graph.PNG | Bin 0 -> 14051 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 renders/fps_graph.PNG create mode 100644 renders/pipeline_timing_graph.PNG create mode 100644 renders/rasterize-graph.PNG diff --git a/renders/fps_graph.PNG b/renders/fps_graph.PNG new file mode 100644 index 0000000000000000000000000000000000000000..bc415a0270d9d09262c594e5cb4d1c6e9f8e0da5 GIT binary patch literal 21364 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 O#qpy?dbv7w!T%St+;(07 literal 0 HcmV?d00001 diff --git a/renders/pipeline_timing_graph.PNG b/renders/pipeline_timing_graph.PNG new file mode 100644 index 0000000000000000000000000000000000000000..2631a162f81f2840e18006c0284363ece9e8fd23 GIT binary patch literal 18729 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 literal 0 HcmV?d00001 diff --git a/renders/rasterize-graph.PNG b/renders/rasterize-graph.PNG new file mode 100644 index 0000000000000000000000000000000000000000..0695f33c5fa5e30815b5c316f3039328b23d5144 GIT binary patch literal 14051 zcmeHudsvcrw>C|a&QxkmnUk83hgsYpMQH5D28@abVvO5a>HU5NHwn2MyqpjUzLaz|*3*Bkp@Zb$y0B;LZ2Z zuHLR7P<{5Yx#LTK_dlLJ5F7^rX?Lps7Ih;kPl7;p7d`g5`d^F?jPVdaOKy!!Ac0b#kD*sIZgkQylngoxv>tph-e&2uA`n>KUx7(LiN0|Py-%ZmhSNr=D z@3-Ih<@(uxdkVJ|M=7$J4{mZ2yMs28Onbs$i_rloOC`05i8GDJ6yVWWwPg_q^t$e_ z7x1*x_kZXyYrp`}eh2Sem^+SE2*$zEVTel36bZ2^C-A4It9Z|{3_4I-h&M6pLVE;0 z%fKGbV^mb=IDfvMIMY!Pg_KR?3AZ0A*uDuo|M?v+(~>+1)*l@xb7%avb_cyRfsd4e zc8|U48f=6y>2#c@@DlyyAir-}~oa47GxrqKbE zbXqXB!@B9r7={T^q#P=C%t4E*ArpJ{Ea~d-ABHP-G?j9BvQ@T}W(50?W&6iH@-9pC zon=kLOjbhhxR}pm-~FYHly%DA-y))Yr(m?%a;!C>TKe*)tx?zDi@RGGJvnA^So--% z$k;Gx(S6vn+I-~4Cz=daBaE?w=5)7g5$8d=QIA0nu)K;mZl5^9+In+qeru3i*AG%r z9Yn?tpVEy=Rkl~R5Z5`7ZaOT*Zj6+6V?6K9^9!OL3uu*fOGE>w3Q zF(SohxT85ADIH6UTUl8X(m2(3J_f^5RCoMgidl5u3|NFI>Q@ZOeUHIG_@vky{mWsm zvC!}W+Rcv%jg4r2Sh^uLbzatP|2g7Ai)gi9sm$Rm*kpQ}6k!qe`1Tr$u>6W% zBU4cL_6J?}?rF_LW`phC7X36vInk9dC-7hV)G}2@70LO;)QLI$l)d2iN#Br%$6V)! zs}{XuQsxupFI0E;C}8@%B+XVvg%3N4BC%Pjbp%=4cTF}ngU-W-a@xSRb0%WR(K`fE zV|Wr3)yzOsBp^H!!6t)se34{4Q93YdXA2?5WpR27^O$KRL~uq>T^J7>cY41WzD8zF z{mg<9aqD(ncvTQB2p$;!L3fekT*Jv1zt07m$x~6mHs0Q$GaEWB3Z3IpBvCYiwl(2r z**jy^&a(yO+Y)#5Cap}Fj&+I3zJsS6@4Ozi%_e8!GXpz+FV9a{Bkrf&PpG?aU)aPF z(j$W0;)-nvwXm7D_mi37tcVRN$j&*g<$<9%XKm%P>OUZS4n@&_%TaK}zTY zyae|0#8d;#*^>sAzAElC&(K)u9Ylj!bRW$P;(Mf3*>R8^8j)ib>F%|Qy!d|U?l$Xm z3q#g`>lXP^t0yda_?|s)bhUm(x|m1Db!0#D^MYCpwe~+a2ChpQ+CFKO(|3*Tup47v zyD>!@@Zfdl@{bY+NMfVyA09#f7>*Z*)w=YibKHftF$Md$R~koIsF{w$Xi%VW|G2I< zX!0_0~_}A zHaIU!(ZD38Y!(2<4rM)#aGCUdS0CAZUUlSC445cdT+1!>3gw5TOiL-Ml!zdVk2%aF zre_Wo9y@NM3eg7pr0=InqW_X?9~Nj{LV91cPI&#tWv63vl4eS;K?k2nGbYGFf+uN6xt`!9IKbrw?Mn*=bM_53}MQl%lA&&ha_{Bz7 zM2Yl>21?5ii-tBQt(ou@+Wf8Gm%=y^nouiBXnW!h^`&Wk4}hNRb|=E zJyMTg7gNJ@2URple7qMCOc7ibJ-xXqi7d*OgycLqtRjo(o-(xV(rb7Eln*|cAH^_Q zqZ=*g^om+$LN78i)yAEuK-`l zNr;5MY((3^SvDs|diVi<*=io-*}vA_&XUK_i1)<;8 z2#+y<7i6H}-f(|-WAM{86INjj7cGQ#UZ}NHM?_x`h1TTMoa{WY!}r06vmv3Wc8?!F z2%?Q423(HR-IX@!Ne2R?PvK`4OCD5bN%+ zMPJX{6u7Xtn;vm}1P!WWKGyYPZ4Ehm?!lrO4+AURpkD0$JRAFyrDKz<{Mea6Gh+Mi zG(tW3g~Z@>56EU~)Y(TG(}+RNoIWcql6c^h8av_3#SyI0as)ZBC&Ci;+CoF?WKaZ;49^|Z2I-q2rqFcxfHDYvXSW8bo9&s`b;pM15=m~ zhuUKhrE;=-?tW)N+2P|jWAr5T`cl&r=uhUtqr-;_wiGXp7N5g?SckAg`JqyH%I;Pr z$d~xzu9p>A59~5n;=0arZX@f6Zx0ys;|J`D)Q0Ll8nah^r8A{H^PFikL-wQyxinU zgA9GQzat-ZbV1C8#4m+AdMwOg!<*{BduBMBRe1z zG0HNN@Zw_M;8CXHzRZm8i@JHs(1G68tU{5P!ATtnefNwQ5oPC1vL!I;i@zMpU04CU zfS9WAsdSUv*`&NH{>|c~V6GQ5yHRq3kWJ8;T$W|4f(vAbSR(OwlQC$@_ITI5nCyF! z9vdm^-XeFdhYgkpKE(Rj-u@&2o}Wpn$|x2+DhRtHqbcOpVo?C8o80vlH-F+K+i8IGs*e)l$=wlx>?E)0~(0wHv#dysK0xh;0QI=P@97H|m~oNy+p z!6n8r-^gq<<2Z|IHL3#=WBN}VB=I2z?(mnSCuWOp*&!X5S7zl!5E0d^=XRQzoc$06 zvo2NnK5Pl5glV|b{}^w@HT2r@4!7QACt|JoTYjF9@6bQm)0m2J;ZEECl{pRT3zh99 zXJlX`NvkJ(pIK4O^iPZObAy;Jrl|3nMZ5Xru;_zs|Qdfz1^*FI_PqRv_GC| zTVi9byC1V9<#6nplM_Oqu9d@B+Lb>K+t}33MqpfeqZ?c*XL8V0Z{4Ty9lu2>7Tu3n z72%cBo$%SUZNhEIZM!S1KcMdjS(O%7EBAOb7cQO*FRt1<+b=R0=70hKW#)^G_U1BWfJbdX8z*@CdK24r5fYx9g^5m<*%{%0xfiC?iA=f32epo2PHH=CR>qGO~R!1VU(dnO- zirob`#)h*U*{oL1CyGizaTmQPO_Pr_Akf+S|F4hI!I4bJ zEfZ`}$2h9%{eEkJvQ8J6P+bnHq?&ErMJ}lq3DTYyW+$x^-aX3_jiY986V$wl=#nIW ze*_ipO0+N!e)Ow%v7>Eok;4uFn?jKuI0#g{2mSC~Eq6y6qAP@4n$!q5YvMZJ!6Ll%o>7Wu zAoRYqlNGv-rz+QqA+G$J&0}aP{`t zfuHS5w&ER6`C8+yc%ZNmC_!VG6+l6@nTI{@KW*dqedXPeMyV;L+a7CUV7b;=^>HS( zhrbHcZw%~bxhY;mby_#9019E0w0thCcyEGuYN#DZD5_u2TSwW3otGYVT>_fS23E@I zx+mEkPEK}ERbPP)l)6C`5`j!Y@T;J=Ckg4A#>uyh883K_?e@8y$>FDL!`?0f-FE?u z0oC)X@WJ-wx%9XAPBbkw4Udj}_S;$>P&U5Yg3Z)c^cL^3$NJa;wQl@m|AXXIo50RZ zWDrPRmcM7`e|=flF&)!7Gw+h^kbWzi*KvNfG{34SVEGCN2$b;P-!K1_?QrP_BX%>4|#ObgVhoj4Jb!}7B7v^ zpWnn!4HD*BYeSnk`=S#rzFoHB@=()F%Ny0gbeUv&Y}dp55FqStlpbgnV;Z7q_@IcS zO?m;POkzl*={hjdhCTl9_}=kdy2V3pZd&gCK5%q1d41i-u0a467=Si%A(}P_@F2#E zyO55HtedO0%$8Iw)3bQLH^tFrCjdgp7k$$~(it`zb!uB+`W7;1((kE)U7Ec{9X?OPM`L!Y@dU9k}g{4U+S|q+al_?%`?ViM+@cPK2&1JfN;ineZ z3&;<+69=x{Uixdet-hiqPTn_Qt!EcLCiC0_V%=Ah1ck73DYzWU(qwp|tdXLSs<5n3aodr9h zXOEM!o#k6+3XuHTX8K(p=Ylh@9uJ`Q8!iOSt@!1wkS#^kw|^?$h2!SMReqH&+^mPn zAXDnJfYnQQ|NM@qf3FUXGA|~!+*fA>q-emM0aUjr+O35a0CHh=-yMugDq3AZT2#i* zw$$yw#o;-9#f7)l?Hc|DyQ{Y0KPG;?CewwfCG$kp`Gtp{;qvJoEVVeSu7Vp*^&Vu) z`Vwa;t+fg&@vW8Y=(>{6-|air2!Ffm?Ri~4$HSqi+deDUDzyBG4*GTpTFw(mMiK0r z83fhmY}NB@UeZe9`tgK?mzZwNKXP33Hq#QHZj9cUA{mM9K*6JFCEnRivj@=5ONQQ` zSb*jHx=fRGt-BJY{N;ehprp(3Kr6&>wlHkroy;2jak904!V>){vt4hBmO39NXQnEd zqFO|X8HD)b-Modke9iv1%rE-t`kvMaO1W4>h0JeLa-Jt+L@N}<-cj>D}nT&0wa zC0>fyo-j2S4}{csgVo5wd!wIs;vjb)Zw33$Ys=ij7KIO3%Ht2|Zr<|M$&YyP<|?5K zd=_$3yqEJg+ipGgZvT9owWhY=wD8eY?DKLA2HZzu@TOYD4qe1ZQ_8>6QHTl=`oz0qOtiInl?19T-ajK&aJ zw=6XHd1DSEYGq(;NY1ox@}5A`if_Kr&~LGDoG90~P3d?(x}$sAy}! z^}5-Y=?M6^I`HQUljT9p4v?>xYtR|5v2||^dIw0+sNwHK1B(y6-mnY+5eSl(k8occ8S9Og# zen!&11PemQtKv>%8)2PO9DDPvH-@)gte1Lu*?n`vj=WLx+jje^a4+6`eZ;19(voii z^2~U90lRBdFcQha;#~!f39*i;^T{*8`KQ0};RJvh zi2hitQ+{ok9*06@{$^2dA9m>Y*UPc!@)t6bC)a%AdSj2zZ3NFg-^lyp^5PEEH!cjs zewwBZ9)T7X@YlFlYyDFO)^VrB z|0EzACWpEOnAH5TFlr}E@#Co~rKrqUxiw|(Q@8AFgklA|W9Q4}#F=qxJ-;o7iVk?@ zZu8Ky2%8)eCbsS$R`Ij8oAJ6zgQAp4k7SIu&`A|?__S9LGx>B3R4BbWh6yRLxRvlx%iF zb~Q26!oR8`B>XqEXAC1Zm&57-^4k?c3%~Jf=kh=|Yuw&D*r`>jMv)z%^xiit#K|VYal|NDsc0Zqn}$_{*fpDhamyk%X4c?P}C?;sW5;x z-gKDu1KwZtko@7VFrxlV z3jWne!M`wH`5#@{hD-vWA(u1iY)*CDqww&CLbjPxtPxYKo%+0#(#GjsEO3lk*q1B>c~;I zuOtuAacAAVk>+@9!=1MS>%s~$O-KH#7zD(bDghYXAOW&72_4QcLF8m*~$Q-;9ILEzA{Fq0om+>dhS7Ge&NGkcT$xVVE=0w1e|9crxO+F z@RAv|F!@)R;tye+i#aqbmUitY-9T!td0U*rRXhNGxRy9B2j=y+j#DW;@Rj@ph)+K+ zRMfr&E49|V;O70WI~*?g%(=_ie&>x)M>Sv3?%dWBvKe59|1?YZDRZ3`Mdke|Q&`ds z%NzeBobd&XPEYgd9_3yG6vnOiFQn8nFPOSFnP&RUDe&o&oTBi=(<6X?+=D^wu*dn7RiLDvMnf6rRtQ3<4~H z4%EdA^{h>%=>R_n;DWb|z!(JLuZJ6EiZj$Li#&^l-1N`%fZ<0gAS;3bx&{H#bADUz z9#7Q6;kxj`Q@xlR^?0hzqG@&S^5s!=SY=aXcrf5^lRfl6pw7tbZAAoGwJBHqmac|6OgHl(G5exa}9yPhW3SI4IH3neY zoM5l=#B6Qzc#lCjHO~^5R1+s?9lATPPtPw3Tz!eYyVN+g2w=->`oPxJJ2!njBDJ||a9`nb@r^U3`Byv)ZXWT1+BcDTycyjo=I;}Ew^(H)z)g1L z<@UdRh*rwKOfMrq38ATEu6l?!H8+}p_f86#Xu;+G&bfY+!LSeMIQ7ro>f+{772g?* z=T5d@0%dk#8XS&|XdV*{rIm49>(OHlEYfB(^T@TA;$=GFk=|^K!aTjC?c%4mq?m!y zUBn^WKGDe34)psw?sP6TwFEnA@f~Jy1cl~~q1+k*L_%mzLTv((wp*|lwVD*P7kgN? zV{szuL5yWAZ!xCgh?gC=nvFc&hk!;7 z%L{(!mF-HL4x5f^6=mjDzuemZ$rFDBih&AxXdrg&S48N0VFe$LQBx4Ss-c z9Z!*tk$`#Oc5B~mrqP$WEu4Y|>m8jatgt&G-(1Da9R*4S>S7r%dHlOQ$^DjLi}2{k z?k1@hbgxp)-u2G3`c~PM0M7fuz!>b#prc|+)KjDHp)ny*8-p__YWbN~rjedy|Zx&2Z>PDf3zfj{^iRUdUonu|esLYkRrG2~h_m{meJu1H8i)Vi-dHCi@t1T(0kuB9xWe-JQxX-V6# zvinlT`N`~QegpFnZysoVipPHpceP$}*KRp$_lLjg-}PPECLbPr)erl_VsYTwrI;sR6VEJ4StonyTX;=1tBs-jZf4{*f@x9xDH-~!KB@_sH^H&f+X8i43u9@6dU)9d zBIS2PAbGfz*_q?jtNn15{l~V*w~4$XXi%D89LS7Rqrc5XDPmk^=r8kb9*Lmx1McTo z>fy4gDuFSI?;bcn1W9Lz-LooJesnu@UKC+^%jR(&dXNaIzBDjvGup;!tI6XaV`s*O zO4bM(>CqcHC45P=)ypP#evpaH7%-%=nHZS@{OiHkTv4HFMp~eQq(oy=?3&HNnqzK& zogCZhw2250)_t`ECqu&xF=>QStxCIcfmR45t8TLXQ9a{zxs)Ea&n-t|i$I$xq8>MZ ze=pv0nRHmr^GU_n?~eLtVqiWHH`*r2dGr9*R~8Y(+3O4l(d|sv#gCR_hEL+6{LfX< z4pBFz<(Adtm8P_{oEhZ@qn45?_S?ibtLB8V+eZt~!Oh59Xld7TQ46r1VExpp=lJzMqTTvw z?F{{gVFp_VK|@YXqX-9*b5HACiGb4zpNC+x`?O5>KB-Z=)7{lwWCTA6$eHQe2TMrI z1K0=So`OAsy*#PC)u?dL@DH1xVcBWggnJhpVnQMZ&JYD)zh39pV>^ZhBfi)KUE5SQ zVFCvRB8Shv^0wYI@sPOG%{%cg^w|9J>m!mFWo}c2<$n1UfAY~A%@BJRE=Q$E;Y21; zj`+_5|9f%VGC=dN*OS3lH)5Mx=ZRVEb{cX{O{9YL5e7<9ikU*yr~!#1kX%2Uos(4@ z!_xn3YXyx|_3fH@51lG9Oi>Ib$2=Uqk9!g#EPv9l+D{&20E6Eq)eo&F3Rj7oz!3JF z2!S%9s)MW-!QUPeayKA&zxiEGC{;X>2a$wpgM)}BtY+$^{&`BwJ7R|)>oea;PwN7P ztl_I=ge0?m)28rRLP z3cmA5aZjfvR9zZ=^H3QAw57t_?k#T+473LJI8CZTnAZTyF(ZX4rLzz{Q;|T7VoHeH zR(1K?1Ewq2+8ei#ao0Lvy-o9tsmd$ zN`H;ty8-Eyc1Oc%pyda7;~hIP>jxN;bz>@t)e(Vq7%b@qM(cOq&qBrNB|BX0M*ud9 zTbpn(aB-2w6q@>gJ7w#pxUhBwOQol^9JnFJrW*P$J&21E1y2bF9vBU9D>^*|c4e+^ zSfVqc7wf!BYo~lkNh#zVFAkvwCWf+?<~<-(c*C|GL=D{>4hc$Bz{r4^#v&B|Fq1hI zM(oHPy*ivZL=?AkF6<^P53w`hdoz7KL1m59ymM5!|l+%x;@9P{0Do+LDB#K literal 0 HcmV?d00001 From 4bf4ce1780f3b75ad94de3dcaaa6c6f89c780962 Mon Sep 17 00:00:00 2001 From: rickyrajani Date: Thu, 12 Oct 2017 18:52:31 -0400 Subject: [PATCH 10/18] Update README.md --- README.md | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f9a724f..a8316a7 100644 --- a/README.md +++ b/README.md @@ -38,21 +38,30 @@ Demos of scenes using additional primitives Point cloud: 50 -Duck | Cow | Truck -:-------------------------------: | :-------------------------------: | :-------------------------------: -![](renders/duck_points.PNG) | ![](renders/cow_points.PNG) | ![](renders/truck_points.PNG) +Duck + +![](renders/duck_points.PNG) + +Cow + +![](renders/cow_points.PNG) + +Truck -- Performance Analysis (timing for kernRasterize) +![](renders/truck_points.PNG) Duck | Truck :-------------------------------: | :-------------------------------: ![](renders/duck_lines.PNG) | ![](renders/truck_lines.PNG) + ![](renders/rasterize-graph.PNG) + // TODO: add performance analysis Demos of scenes using UV texture mapping + Duck | Truck :-------------------------------: | :-------------------------------: ![](renders/duck_texture.PNG) | ![](renders/truck_texture.PNG) @@ -76,6 +85,8 @@ kernRasterize with Perspective Correction 66 ![](renders/pipeline_timing_graph.PNG) +*CMakeLists modified to include 'common.h' for recording performance time + ### Credits * [tinygltfloader](https://github.com/syoyo/tinygltfloader) by [@soyoyo](https://github.com/syoyo) From 72a101808ae2b63e9a6ceeced2bc43268fd61694 Mon Sep 17 00:00:00 2001 From: rickyrajani Date: Thu, 12 Oct 2017 18:52:58 -0400 Subject: [PATCH 11/18] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a8316a7..7030529 100644 --- a/README.md +++ b/README.md @@ -19,8 +19,8 @@ This project implements a simplified rasterized graphics pipeline, similar to th - Framebuffer ### Extra Features: -- UV texture mapping with bilinear texture filtering and perspective correct texture coordinates - Support for rasterizing additional primitives: lines and points +- UV texture mapping with bilinear texture filtering and perspective correct texture coordinates # Samples From f9288f5a1ef1d2ab2f8c6ef92bd7852ecb403c43 Mon Sep 17 00:00:00 2001 From: rickyrajani Date: Thu, 12 Oct 2017 18:54:23 -0400 Subject: [PATCH 12/18] Update README.md --- README.md | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 7030529..09fe194 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ This project implements a simplified rasterized graphics pipeline, similar to th # Samples -Demos of scenes using basic rasterization pipeline using Lambert lighting. +#### Demos of scenes using basic rasterization pipeline using Lambert lighting Cow | Duck :-------------------------------: | :-------------------------------: @@ -34,8 +34,7 @@ Engine | Truck :-------------------------------: | :-------------------------------: ![](renders/engine_normal.PNG) | ![](renders/truck_normal.PNG) -Demos of scenes using additional primitives - +### Demos of scenes using additional primitives Point cloud: 50 Duck @@ -46,10 +45,6 @@ Cow ![](renders/cow_points.PNG) -Truck - -![](renders/truck_points.PNG) - Duck | Truck :-------------------------------: | :-------------------------------: ![](renders/duck_lines.PNG) | ![](renders/truck_lines.PNG) @@ -59,8 +54,7 @@ Duck | Truck // TODO: add performance analysis -Demos of scenes using UV texture mapping - +#### Demos of scenes using UV texture mapping Duck | Truck :-------------------------------: | :-------------------------------: From ed95f52e67a7a82e8caf861d0cf9392b9e7d091c Mon Sep 17 00:00:00 2001 From: Sarah Forcier Date: Mon, 16 Oct 2017 15:11:57 -0400 Subject: [PATCH 13/18] updated screenshots --- renders/cow_points_10.PNG | Bin 0 -> 17411 bytes renders/duck_points_10.PNG | Bin 0 -> 16204 bytes src/rasterize.cu | 6 +++--- 3 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 renders/cow_points_10.PNG create mode 100644 renders/duck_points_10.PNG diff --git a/renders/cow_points_10.PNG b/renders/cow_points_10.PNG new file mode 100644 index 0000000000000000000000000000000000000000..8f3ff338005deecaa2c63a2e0c1bdae762205ece GIT binary patch literal 17411 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 Bh$8?1 literal 0 HcmV?d00001 diff --git a/src/rasterize.cu b/src/rasterize.cu index 247b677..d60926a 100644 --- a/src/rasterize.cu +++ b/src/rasterize.cu @@ -23,7 +23,7 @@ // Toggle features -// Lambert lighting +// Lambert shading #define LIGHTING 1 // Bilinear texture filtering and perspective correction work with TEXTURE enabled @@ -31,7 +31,7 @@ #define BILINEAR 0 #define PERSPECTIVE 0 -#define POINTCLOUD 50 +#define POINTCLOUD 10 #define POINTS 0 #define LINE 0 @@ -185,7 +185,7 @@ void render(int w, int h, Fragment *fragmentBuffer, glm::vec3 *framebuffer) { // TODO: add your fragment shader code here framebuffer[index] = fragmentBuffer[index].color; #if LIGHTING - glm::vec3 light = glm::normalize(glm::vec3(1, 1, 1)); + glm::vec3 light = glm::normalize(glm::vec3(3, 5, 2)); framebuffer[index] *= glm::dot(light, fragmentBuffer[index].eyeNor); #endif } From 360eae3d63e2077f4508c2dd06f04b91929c7ca0 Mon Sep 17 00:00:00 2001 From: rickyrajani Date: Mon, 16 Oct 2017 15:17:47 -0400 Subject: [PATCH 14/18] Update README.md --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 09fe194..f47d2f7 100644 --- a/README.md +++ b/README.md @@ -35,15 +35,13 @@ Engine | Truck ![](renders/engine_normal.PNG) | ![](renders/truck_normal.PNG) ### Demos of scenes using additional primitives -Point cloud: 50 - Duck -![](renders/duck_points.PNG) +![](renders/duck_points_10.PNG) Cow -![](renders/cow_points.PNG) +![](renders/cow_points_10.PNG) Duck | Truck :-------------------------------: | :-------------------------------: From b70e4438921bbba79d06e0bf08674d53d1fbfac8 Mon Sep 17 00:00:00 2001 From: rickyrajani Date: Mon, 16 Oct 2017 15:20:40 -0400 Subject: [PATCH 15/18] more screenshots --- renders/cow_lines.PNG | Bin 0 -> 78783 bytes src/rasterize.cu | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 renders/cow_lines.PNG diff --git a/renders/cow_lines.PNG b/renders/cow_lines.PNG new file mode 100644 index 0000000000000000000000000000000000000000..88a71c245cfe5a6961a775baad0b6fe1e246bd29 GIT binary patch literal 78783 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

puxfYxV6^Jo&#f+Fkg;l6K#AA`^H{;w;kPK6d1) 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 literal 0 HcmV?d00001 diff --git a/src/rasterize.cu b/src/rasterize.cu index d60926a..27b3b5a 100644 --- a/src/rasterize.cu +++ b/src/rasterize.cu @@ -32,7 +32,7 @@ #define PERSPECTIVE 0 #define POINTCLOUD 10 -#define POINTS 0 +#define POINTS 1 #define LINE 0 using StreamCompaction::Common::PerformanceTimer; From a72a97519c6f538b17de545f21eda96bd13ad8c2 Mon Sep 17 00:00:00 2001 From: rickyrajani Date: Mon, 16 Oct 2017 15:22:37 -0400 Subject: [PATCH 16/18] Update README.md --- README.md | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index f47d2f7..c602001 100644 --- a/README.md +++ b/README.md @@ -35,17 +35,13 @@ Engine | Truck ![](renders/engine_normal.PNG) | ![](renders/truck_normal.PNG) ### Demos of scenes using additional primitives -Duck - -![](renders/duck_points_10.PNG) - -Cow - -![](renders/cow_points_10.PNG) - -Duck | Truck +Duck | Cow :-------------------------------: | :-------------------------------: -![](renders/duck_lines.PNG) | ![](renders/truck_lines.PNG) +![](renders/duck_points_10.PNG) | ![](renders/cow_points_10.PNG) + +Duck | Cow | Truck +:-------------------------------: | :-------------------------------: | :-------------------------------: +![](renders/duck_lines.PNG) | ![](renders/cow_lines.PNG) | ![](renders/truck_lines.PNG) ![](renders/rasterize-graph.PNG) From 560f44a6968f3d573a3aee5af5ba73f74cebd6bc Mon Sep 17 00:00:00 2001 From: rickyrajani Date: Tue, 17 Oct 2017 22:41:17 -0400 Subject: [PATCH 17/18] Update README.md --- README.md | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index c602001..58f4059 100644 --- a/README.md +++ b/README.md @@ -22,9 +22,19 @@ This project implements a simplified rasterized graphics pipeline, similar to th - Support for rasterizing additional primitives: lines and points - UV texture mapping with bilinear texture filtering and perspective correct texture coordinates +### Flags: +These flags can be found at the top of ```rasterize.cu``` +- ```LIGHTING``` - Enables lambertian shading +- ```TEXTURE``` - Enables UV texture mapping, models are white by default +- ```BILINEAR``` - Enables bilinear texture filtering when ```TEXTURE``` is enabled +- ```PERSPECTIVE``` - Enables perspective correction when ```TEXTURE``` is enabled +- ```POINTS``` - Enables points instead of triangle primitives +- ```POINTCLOUD``` - Sparsity of points +- ```LINE``` - Enables lines instead of triangle primitives + # Samples -#### Demos of scenes using basic rasterization pipeline using Lambert lighting +#### Demos of scenes using basic rasterization pipeline using Lambertian shading Cow | Duck :-------------------------------: | :-------------------------------: @@ -46,7 +56,7 @@ Duck | Cow | Truck ![](renders/rasterize-graph.PNG) -// TODO: add performance analysis +The points have a step size of 50 so it is understandable that there is not as great a performance hit when using point primitives as it requires less iterations than using line primitives. #### Demos of scenes using UV texture mapping @@ -59,13 +69,9 @@ Checkerboard | Checkerboard with Bilinear Filtering | Checkerboard with Perspect :-------------------------------: | :-------------------------------: | :-------------------------------: ![](renders/checkerboard-normal.PNG) | ![](renders/checkerboard-bilinear.PNG) | ![](renders/checkerboard-perspective.PNG) -// TODO: Add performance analysis +Bilinear filtering is an antialiasing technique which creates smoother edges on the checkerboard compared to UV texture mapping without the filtering. In this method the four nearest texels to the pixel center are sampled, and their colors are combined by weighted average according to distance. This removes the 'blockiness' seen during magnification, as there is now a smooth gradient of color change from one texel to the next, instead of an abrupt jump as the pixel center crosses the texel boundary. After profiling ```kernTextureMap``` when biliniear texture filterring is turned off and on, it seems that there is a performance hit. Without the filtering the kernel takes 0.88 ms for each iteration and 1.02 ms with filtering. -Timing for Checkerboard -kernTextureMap 0.88 -kernTextureMap with Bilinear Texture Filtering 1.02 -kernRasterize 90 -kernRasterize with Perspective Correction 66 +The perspective correction fixed the distortion that was occuring. As can be seen from the charts below, it greatly reduceds the FPS causing a non-trivial performance hit. Likewise, the same occurs with bilinear texture filtering, but the performance hit is not as great as perspective correction. # Performance Analysis @@ -73,9 +79,13 @@ kernRasterize with Perspective Correction 66 ![](renders/pipeline_timing_graph.PNG) +It is interesting to note that the number of primitives in a scene does not have a direct effect on the time spent in each pipeline stage, specifically the rasterization stage which consumes the most amount of time. Examining the charts above with various scenes, the cow has over 5000 primitives and the rasterization stage takes a third of the total time, whereas the box only has 12 primitives but the rasterization stage takes up most of the total time. An explanation for this could be the size of the primitives. Each kernel iterates through an enture bounding box; therefore, if a primitive has a large size then its bounding box will be bigger and there is more work each kernel must do during each iteration. This may lead to a considerable performance hit. + *CMakeLists modified to include 'common.h' for recording performance time ### Credits * [tinygltfloader](https://github.com/syoyo/tinygltfloader) by [@soyoyo](https://github.com/syoyo) * [glTF Sample Models](https://github.com/KhronosGroup/glTF/blob/master/sampleModels/README.md) +* [Bilineary texture filtering](https://en.wikipedia.org/wiki/Bilinear_interpolation) +* [Perspective correctness](https://en.wikipedia.org/wiki/Texture_mapping#Perspective_correctness) From b93bc8e9d0a80286938ee27e8924a31534e34fdb Mon Sep 17 00:00:00 2001 From: rickyrajani Date: Tue, 17 Oct 2017 22:46:19 -0400 Subject: [PATCH 18/18] Update README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 58f4059..879b2bb 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ This project implements a simplified rasterized graphics pipeline, similar to th - Depth test - Rasterization - Race avoidance using atomic function -- Fragment shading with lambert lighting +- Fragment shading with lambertian shading - Framebuffer ### Extra Features: @@ -56,7 +56,7 @@ Duck | Cow | Truck ![](renders/rasterize-graph.PNG) -The points have a step size of 50 so it is understandable that there is not as great a performance hit when using point primitives as it requires less iterations than using line primitives. +The points have a step size of 50, so it is understandable that there is not as great a performance hit when using point primitives as it requires less iterations than using line primitives. #### Demos of scenes using UV texture mapping @@ -69,9 +69,9 @@ Checkerboard | Checkerboard with Bilinear Filtering | Checkerboard with Perspect :-------------------------------: | :-------------------------------: | :-------------------------------: ![](renders/checkerboard-normal.PNG) | ![](renders/checkerboard-bilinear.PNG) | ![](renders/checkerboard-perspective.PNG) -Bilinear filtering is an antialiasing technique which creates smoother edges on the checkerboard compared to UV texture mapping without the filtering. In this method the four nearest texels to the pixel center are sampled, and their colors are combined by weighted average according to distance. This removes the 'blockiness' seen during magnification, as there is now a smooth gradient of color change from one texel to the next, instead of an abrupt jump as the pixel center crosses the texel boundary. After profiling ```kernTextureMap``` when biliniear texture filterring is turned off and on, it seems that there is a performance hit. Without the filtering the kernel takes 0.88 ms for each iteration and 1.02 ms with filtering. +Bilinear filtering is an antialiasing technique which creates smoother edges on the checkerboard compared to UV texture mapping without the filtering. In this method the four nearest texels to the pixel center are sampled, and their colors are combined by weighted average according to distance. This removes the 'blockiness' seen during magnification, as there is now a smooth gradient of color change from one texel to the next. After profiling ```kernTextureMap``` when biliniear texture filtering is turned off and on, it seems that there is a performance hit. Without the filtering the kernel takes 0.88 ms for each iteration and 1.02 ms with filtering. -The perspective correction fixed the distortion that was occuring. As can be seen from the charts below, it greatly reduceds the FPS causing a non-trivial performance hit. Likewise, the same occurs with bilinear texture filtering, but the performance hit is not as great as perspective correction. +The perspective correction fixed the distortion that was occuring. As can be seen from the charts below, it greatly reduced the FPS causing a non-trivial performance hit. Likewise, the same occurs with bilinear texture filtering, but the performance hit is not as great as perspective correction. # Performance Analysis @@ -79,7 +79,7 @@ The perspective correction fixed the distortion that was occuring. As can be see ![](renders/pipeline_timing_graph.PNG) -It is interesting to note that the number of primitives in a scene does not have a direct effect on the time spent in each pipeline stage, specifically the rasterization stage which consumes the most amount of time. Examining the charts above with various scenes, the cow has over 5000 primitives and the rasterization stage takes a third of the total time, whereas the box only has 12 primitives but the rasterization stage takes up most of the total time. An explanation for this could be the size of the primitives. Each kernel iterates through an enture bounding box; therefore, if a primitive has a large size then its bounding box will be bigger and there is more work each kernel must do during each iteration. This may lead to a considerable performance hit. +It is important to note that the number of primitives in a scene does not have a direct effect on the time spent in each pipeline stage, specifically the rasterization stage which consumes the most amount of time. Examining the charts above with various scenes, the cow has over 5000 primitives and the rasterization stage takes a third of the total time, whereas the box only has 12 primitives but the rasterization stage takes up most of the total time. An explanation for this could be the size of the primitives. Each kernel iterates through an entire bounding box; therefore, if a primitive has a large size then its bounding box will be bigger and there is more work each kernel must do during each iteration. This may lead to a considerable performance hit. *CMakeLists modified to include 'common.h' for recording performance time