From f2d5415f4624af0885362611131473228f045cf3 Mon Sep 17 00:00:00 2001 From: An Duong Date: Thu, 7 Oct 2021 03:01:38 -0400 Subject: [PATCH 01/12] done? --- src/shaders/flat-frag.glsl | 348 ++++++++++++++++++++++++++++++++++++- 1 file changed, 347 insertions(+), 1 deletion(-) diff --git a/src/shaders/flat-frag.glsl b/src/shaders/flat-frag.glsl index 50434bd..31aed58 100644 --- a/src/shaders/flat-frag.glsl +++ b/src/shaders/flat-frag.glsl @@ -1,6 +1,11 @@ #version 300 es precision highp float; +const int MAX_RAY_STEPS = 256; +const float EPSILON = 1e-4; +const float FOV = 60.0; +const float MAX_DISTANCE = 20.0; + uniform vec3 u_Eye, u_Ref, u_Up; uniform vec2 u_Dimensions; uniform float u_Time; @@ -8,6 +13,347 @@ uniform float u_Time; in vec2 fs_Pos; out vec4 out_Col; +struct Ray +{ + vec3 origin; + vec3 direction; +}; + +struct Intersection +{ + vec3 position; + vec3 normal; + float distance_t; + int material_id; +}; + +// HELPERS // +vec3 rgb(vec3 col) +{ + return col / 255.0; +} + +float triangleWave(float x, float freq, float amplitude) +{ + return abs(mod(x * freq, amplitude) - (0.5 * amplitude)); +} + +// SDF CODE // +mat4 rotateX(float theta) { + float c = cos(theta); + float s = sin(theta); + + mat4 m = mat4( + vec4(c, 0, s, 0), + vec4(0, 1, 0, 0), + vec4(-s, 0, c, 0), + vec4(0, 0, 0, 1) + ); + return inverse(m); +} + +mat4 rotateY(float theta) { + float c = cos(theta); + float s = sin(theta); + + mat4 m = mat4( + vec4(1, 0, 0, 0), + vec4(0, c, -s, 0), + vec4(0, s, c, 0), + vec4(0, 0, 0, 1) + ); + return inverse(m); +} + +mat4 rotateZ(float theta) { + float c = cos(theta); + float s = sin(theta); + + mat4 m = mat4( + vec4(c, -s, 0, 0), + vec4(s, c, 0, 0), + vec4(0, 0, 1, 0), + vec4(0, 0, 0, 1) + ); + return inverse(m); +} + +vec3 bendPoint(vec3 p, float k) +{ + float c = cos(k*p.y); + float s = sin(k*p.y); + mat2 m = mat2(c,-s,s,c); + vec3 q = vec3(m*p.xy,p.z); + return q; +} + +float sdfSphere(vec3 query_position, vec3 position, float radius) +{ + return length(query_position - position) - radius; +} + +// from IQ +float sdCylinder(vec3 p, vec3 a, vec3 b, float r) +{ + vec3 ba = b - a; + vec3 pa = p - a; + float baba = dot(ba,ba); + float paba = dot(pa,ba); + float x = length(pa*baba-ba*paba) - r*baba; + float y = abs(paba-baba*0.5)-baba*0.5; + float x2 = x*x; + float y2 = y*y*baba; + float d = (max(x,y)<0.0)?-min(x2,y2):(((x>0.0)?x2:0.0)+((y>0.0)?y2:0.0)); + return sign(d)*sqrt(abs(d))/baba; +} + +float sdRoundBox( vec3 p, vec3 b, float r ) +{ + vec3 q = abs(p) - b; + return length(max(q,0.0)) + min(max(q.x,max(q.y,q.z)),0.0) - r; +} + +float plane(vec3 p, vec4 n) +{ + return dot(p,n.xyz) + n.w; +} + +float smin( float a, float b, float k ) +{ + float h = clamp( 0.5+0.5*(b-a)/k, 0.0, 1.0 ); + return mix( b, a, h ) - k*h*(1.0-h); +} + +// from IQ +vec3 opRep(vec3 p, vec3 c) +{ + return mod(p+0.5*c,c)-0.5*c; +} + +vec3 opRepLim(vec3 p, float c, vec3 l) +{ + return p-c*clamp(round(p/c),-l,l); +} + +vec3 opTwist( vec3 p ) +{ + const float k = 10.0; // or some other amount + float c = cos(k*p.y); + float s = sin(k*p.y); + mat2 m = mat2(c,-s,s,c); + return vec3(m*p.xz,p.y); +} + +vec3 opRevolution( in vec3 p, float o ) +{ + return vec3( length(p.xz) - o, p.y , 0); +} + +float pillar(vec3 pos, float rotation) +{ + return sdCylinder(pos, (rotateX(rotation) * vec4(0.57, -0.3, 0.0, 1.0)).xyz, + (rotateX(rotation) * vec4(0.57, 0.3, 0.0, 1.0)).xyz, 0.02); +} + +float towerFloor(vec3 pos) +{ + float rotation = radians(45.0); + float tFloor = sdCylinder(pos, vec3(0.0, -0.05, 0.0), vec3(0.0, 0.05, 0.0), 0.64); + float p1 = pillar(pos, 0.0); + float p2 = pillar(pos, rotation * 1.0); + float p3 = pillar(pos, rotation * 2.0); + float p4 = pillar(pos, rotation * 3.0); + float p5 = pillar(pos, rotation * 4.0); + float p6 = pillar(pos, rotation * 5.0); + float p7 = pillar(pos, rotation * 6.0); + float p8 = pillar(pos, rotation * 7.0); + + return smin(tFloor, min(p1, min(p2, min(p3, min(p4, min(p5, min(p6, min(p7, p8))))))), 0.05); +} + +float towerBody(vec3 pos) +{ + vec3 displacement = vec3(0.0, 0.4, 0.0); + float middle = sdCylinder(pos, vec3(0.0, -1.5, 0.0), vec3(0.0, 1.9, 0.0), 0.5); + float levels = towerFloor(opRepLim(pos, 0.5, vec3(0.0, 2.0, 0.0))); + float top = sdCylinder(pos + vec3(0.0, -1.3, 0.0), vec3(0.0, -0.05, 0.0), vec3(0.0, 0.05, 0.0), 0.64); + return smin(middle, min(levels, top), 0.05); +} + +float towerBase(vec3 pos) +{ + float middle = sdCylinder(pos, vec3(0.0, -0.5, 0.0), vec3(0.0, 0.5, 0.0), 0.64); + return middle; +} + +float tower(vec3 pos) +{ + float rotation = radians(-25.0) * (sin(u_Time / 50.0) + 1.0) / 2.0; + vec3 rotatedPos = (rotateZ(rotation) * vec4(pos + vec3(0.0, 3.0, 0.0), 1.0)).xyz + vec3(0.0, -3.0, 0.0) + vec3(0.0, 0.2, 0.0); + return min(towerBody(rotatedPos), towerBase(rotatedPos + vec3(0.0, 1.8, 0.0))); +} + +float people(vec3 pos, float size) +{ + vec3 movement = vec3(0.0, 0.08, 0.0) * triangleWave((u_Time + 3.5 * fs_Pos.x + 1.2 * fs_Pos.y) / 25.0, 10.0, 2.0); + float crowd = sdCylinder(opRepLim(pos + vec3(0.0, 2.4, 0.0) + movement, 0.25, vec3(size, 0.0, size)), vec3(0.0, 0.0,0.0), vec3(0.0,0.05,0.0), 0.02); + return crowd; +} + +// SCENE // +#define FLOOR plane(queryPos, vec4(0.0, 1.0, 0.0, 2.5)) +#define BODY tower(queryPos + vec3(0.0, 0.2, 0.0)) +#define THING min(people(queryPos + vec3(-1.3, 0.0, 1.2), 3.0), min(people(queryPos + vec3(2.0, 0.0, -2.4), 2.0), people(queryPos + vec3(-1.5, 0.0, -1.5), 4.0))) + +#define FLOOR_NUM 0 +#define BODY_NUM 2 +#define THING_NUM 3 + +float sceneSDF(vec3 queryPos) +{ + float dist = FLOOR; + dist = min(dist, BODY); + dist = min(dist, THING); + return dist; +} + +void sceneSDF(vec3 queryPos, out float dist, out int material_id) +{ + dist = FLOOR; + float dist2; + material_id = FLOOR_NUM; + if ((dist2 = BODY) < dist) + { + dist = dist2; + material_id = BODY_NUM; + } + if ((dist2 = THING) < dist) + { + dist = dist2; + material_id = THING_NUM; + } +} + +vec3 sdfNormal(vec3 pos) +{ + vec2 epsilon = vec2(0.0, EPSILON); + return normalize( vec3( sceneSDF(pos + epsilon.yxx) - sceneSDF(pos - epsilon.yxx), + sceneSDF(pos + epsilon.xyx) - sceneSDF(pos - epsilon.xyx), + sceneSDF(pos + epsilon.xxy) - sceneSDF(pos - epsilon.xxy))); +} + +// RAYMARCH CODE // +Ray getRay(vec2 uv) +{ + Ray r; + + vec3 look = normalize(u_Ref - u_Eye); + vec3 camera_RIGHT = normalize(cross(look, u_Up)); + vec3 camera_UP = cross(camera_RIGHT, look); + float len = distance(u_Eye, u_Ref); + + float aspect_ratio = u_Dimensions.x / u_Dimensions.y; + vec3 screen_vertical = camera_UP * len * tan(FOV); + vec3 screen_horizontal = camera_RIGHT * len * aspect_ratio * tan(FOV); + vec3 screen_point = (look + uv.x * screen_horizontal + uv.y * screen_vertical); + + r.origin = u_Eye; + r.direction = normalize(screen_point - u_Eye); + + return r; +} + +Intersection getRaymarchedIntersection(vec2 uv) +{ + Ray ray = getRay(uv); + Intersection intersection; + + intersection.distance_t = -1.0; + intersection.position = u_Eye; + intersection.normal = vec3(0, 0, 0); + intersection.material_id = -1; + + float t = 0.0; + for (int i = 0; i < MAX_RAY_STEPS; i++) + { + // get position + vec3 pos = ray.origin + t * ray.direction; + if (t > MAX_DISTANCE) + { + break; + } + + float dist; + int material_id; + sceneSDF(pos, dist, material_id); + // if dist is on surface of sdf, then we're done + if (dist < EPSILON) + { + intersection.position = pos; + intersection.distance_t = t; + intersection.normal = sdfNormal(intersection.position); + intersection.material_id = material_id; + break; + } + t += dist; + } + + return intersection; +} + +float hardShadow(vec3 origin, vec3 dir, float min_t, float max_t) { + for(float t = min_t; t < max_t;) + { + vec3 pos = origin + t * dir; + float dist = sceneSDF(origin + t * dir); + if(dist < EPSILON) + { + return 0.0; + } + t += dist; + } + return 1.0; +} + +vec3 calculateMaterial(int material_id, vec3 normal, vec3 lightDir) +{ + float ambient = 0.2; + float lambert = max(0.0, dot(normal, lightDir)) + ambient; + + switch (material_id) + { + case FLOOR_NUM: + return rgb(vec3(82, 143, 47)) * lambert; + break; + case BODY_NUM: + return rgb(vec3(226, 227, 200)) * lambert; + break; + case THING_NUM: + return rgb(vec3(88, 230, 232)) * lambert; + break; + case -1: + return rgb(vec3(149, 228, 252)); + break; + } + return rgb(vec3(153, 139, 83)); +} + +vec3 getSceneColor(vec2 uv, vec3 lightPos) +{ + Intersection intersection = getRaymarchedIntersection(uv); + vec3 lightDir = normalize(lightPos - intersection.position); + vec3 light_t = (lightPos - intersection.position) / lightDir; + float hardShadow = hardShadow(intersection.position, lightDir, 0.1, light_t.x); + vec3 col = calculateMaterial(intersection.material_id, intersection.normal, lightDir); + return col * hardShadow; +} + void main() { - out_Col = vec4(0.5 * (fs_Pos + vec2(1.0)), 0.5 * (sin(u_Time * 3.14159 * 0.01) + 1.0), 1.0); + vec3 lightPos = vec3(-5.0, 7.45, -5.0); + + vec2 uv = fs_Pos; + + vec3 col = getSceneColor(uv, lightPos); + + out_Col = vec4(col, 1.0); } From 644c002860503c19d3041b4bbd2e6f76b1ded9f2 Mon Sep 17 00:00:00 2001 From: An Duong Date: Thu, 7 Oct 2021 03:04:04 -0400 Subject: [PATCH 02/12] change readme --- README.md => INSTRUCTIONS.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename README.md => INSTRUCTIONS.md (100%) diff --git a/README.md b/INSTRUCTIONS.md similarity index 100% rename from README.md rename to INSTRUCTIONS.md From f0e01f365289b655a15a67448b94437d64a99cc3 Mon Sep 17 00:00:00 2001 From: An Duong Date: Thu, 7 Oct 2021 03:12:10 -0400 Subject: [PATCH 03/12] fix --- src/main.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main.ts b/src/main.ts index fe526f9..5f52839 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,6 +1,6 @@ import {vec2, vec3} from 'gl-matrix'; -// import * as Stats from 'stats-js'; -// import * as DAT from 'dat-gui'; +import * as Stats from 'stats-js'; +import * as DAT from 'dat-gui'; import Square from './geometry/Square'; import OpenGLRenderer from './rendering/gl/OpenGLRenderer'; import Camera from './Camera'; From ab559b711d20e8a867abbffce150a41650d51c98 Mon Sep 17 00:00:00 2001 From: An Duong Date: Thu, 7 Oct 2021 03:26:33 -0400 Subject: [PATCH 04/12] fix2 --- src/main.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main.ts b/src/main.ts index 5f52839..ea141d5 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,6 +1,4 @@ import {vec2, vec3} from 'gl-matrix'; -import * as Stats from 'stats-js'; -import * as DAT from 'dat-gui'; import Square from './geometry/Square'; import OpenGLRenderer from './rendering/gl/OpenGLRenderer'; import Camera from './Camera'; From 95075593c2e199054ff89a6cc0abdd9837e3b670 Mon Sep 17 00:00:00 2001 From: An Duong Date: Thu, 7 Oct 2021 03:40:02 -0400 Subject: [PATCH 05/12] added readme --- README.md | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..ae3da83 --- /dev/null +++ b/README.md @@ -0,0 +1,81 @@ +# CIS 566 Homework 2: Implicit Surfaces + +## Objective +- Gain experience with signed distance functions +- Experiment with animation curves + +## Base Code + +Please feel free to use this code as a base (https://www.shadertoy.com/view/fsdXzM) + +The code we have provided for this assignment features the following: +- A square that spans the range [-1, 1] in X and Y that is rendered with a +shader that does not apply a projection matrix to it, thus rendering it as the +entirety of your screen +- TypeScript code just like the code in homework 1 to set up a WebGL framework +- Code that passes certain camera attributes (listed in the next section), +the screen dimensions, and a time counter to the shader program. + +## Assignment Requirements +- __(10 points)__ Modify the provided `flat-frag.glsl` to cast rays from a +virtual camera. We have set up uniform variables in your shader that take in +the eye position, reference point position, and up vector of the `Camera` in +the provided TypeScript code, along with a uniform that stores the screen width +and height. Using these uniform variables, and only these uniform variables, +you must write a function that uses the NDC coordinates of the current fragment +(i.e. its fs_Pos value) and projects a ray from that pixel. Refer to the [slides +on ray casting](https://docs.google.com/presentation/d/e/2PACX-1vSN5ntJISgdOXOSNyoHimSVKblnPnL-Nywd6aRPI-XPucX9CeqzIEGTjFTwvmjYUgCglTqgvyP1CpxZ/pub?start=false&loop=false&delayms=60000&slide=id.g27215b64c6_0_107) +from CIS 560 for reference on how to cast a ray without an explicit +view-projection matrix. You'll have to compute your camera's Right vector based +on the provided Up vector, Eye point, and Ref point. You can test your ray +casting function by converting your ray directions to colors using the formula +`color = 0.5 * (dir + vec3(1.0, 1.0, 1.0))`. If your screen looks like the +following image, your rays are being cast correctly: +![](rayDir.png) +- __(70 points)__ Create a scene using raymarched signed distance functions. +The subject of your scene should be based on some reference image, such as a +shot from a movie or a piece of artwork. Your scene should incorporate the +following elements: + - The SDF combination operation Smooth Blend. + - Basic Lambertian reflection using a hard-coded light source and SDF surface normals. + - Animation of at least one element of the scene, with at least two Toolbox Functions + used to control the animation(s). + - Hard-edged shadows cast by shapes in the scene onto one another using a shadow-feeler ray. + +For the next assignment you will build upon this scene with procedural textures and more +advanced lighting and reflection models, so don't worry if your scene looks a bit drab +given the requirements listed above. + +- __(10 points)__ Following the specifications listed +[here](https://github.com/pjcozzi/Articles/blob/master/CIS565/GitHubRepo/README.md), +create your own README.md, renaming this file to INSTRUCTIONS.md. Don't worry +about discussing runtime optimization for this project. Make sure your +README contains the following information: + - Your name and PennKey + - Citation of any external resources you found helpful when implementing this + assignment. + - A link to your live github.io demo (refer to the pinned Piazza post on + how to make a live demo through github.io) + - An explanation of the techniques you used to model and animate your scene. + +## Useful Links +- [IQ's Article on SDFs](http://www.iquilezles.org/www/articles/distfunctions/distfunctions.htm) +- [IQ's Article on Smooth Blending](http://www.iquilezles.org/www/articles/smin/smin.htm) +- [IQ's Article on Useful Functions](http://www.iquilezles.org/www/articles/functions/functions.htm) +- [Breakdown of Rendering an SDF Scene](http://www.iquilezles.org/www/material/nvscene2008/rwwtt.pdf) + + +## Submission +Commit and push to Github, then submit a link to your commit on Canvas. Remember +to make your own README! + +## Inspiration +- [Alien Corridor](https://www.shadertoy.com/view/4slyRs) +- [The Evolution of Motion](https://www.shadertoy.com/view/XlfGzH) +- [Fractal Land](https://www.shadertoy.com/view/XsBXWt) +- [Voxel Edges](https://www.shadertoy.com/view/4dfGzs) +- [Snail](https://www.shadertoy.com/view/ld3Gz2) +- [Cubescape](https://www.shadertoy.com/view/Msl3Rr) +- [Journey Tribute](https://www.shadertoy.com/view/ldlcRf) +- [Stormy Landscape](https://www.shadertoy.com/view/4ts3z2) +- [Generators](https://www.shadertoy.com/view/Xtf3Rn) From b837a2200f5f4be0f8aac4d70598821cbafba7f5 Mon Sep 17 00:00:00 2001 From: An Duong <60829666+onlyname1@users.noreply.github.com> Date: Thu, 7 Oct 2021 13:37:44 -0400 Subject: [PATCH 06/12] Add files via upload --- Pisa1.png | Bin 0 -> 189529 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Pisa1.png diff --git a/Pisa1.png b/Pisa1.png new file mode 100644 index 0000000000000000000000000000000000000000..f0263de9feb483df24eef8a43ef006a91e6398c2 GIT binary patch literal 189529 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
7tz3J;qwcZ4hq+Jhyaob&Nldk#t)Qf?Cl=g zQ-uJ%xxxcV9TvklV9e)tAJOv-SvcrkKfc>LIZ0eUSAVDDS;?Mp<37MZ-!X)3ul{GN z+Q+<0c-csAKhjT%G#U2Pei?N@e`S>Or-`{* z2;T#H2gxFq`0!$yg;(~-qJdBqq&dYSQvnTAg)(Wjj8#Wm`2JRKRa`og2&@zt%$tE1 z`cO!8PqDyEY)W)RzV?1Mx3rx5jgzN|=MRYOY3&G{UB!4GTs5-cRqdrykRfvlE1ZT( ze}JiTKztSA9b)brlsVLdF@f;pmRdV4YKrI&2^1?))UIRSj5(xXjv@KcdS2X36@!eQ z(fh98Sq6iQn^8+kYjR=XXsPPrF49X<`x!rTQXtvp?nkY<@vE21^QyGy=uY%sE?VU= zHq`t4ay)qznb1RuXx_{Dx{WM z4Bz;^mFcZcL7p`vMPy*a+vkQn*7)cKeK*M}^ro{rExikSg_YA2fsfnra;8l=vJ=qe z`t8`aQuVs6jt^CYM=wQ5nT;I!2@Dt%94fg;L^QJ1mA_+UT!Jb|nPk3WTRmfiGQqa+ zU(t!OIaB9-aoe-#?VR^h&Gc;d(zS3d39lmreweHM*5G!Q%X>qk>a(UcP}B%l_B1#5 zLOzs_E9jJB#~q2(9bmAG~h=#+o(4Cy{qZxuc1xYE$Z$QB~T9IBYNIi z@GTqC=^x1{6d!c>b?$7ep$UCb({ zF9H=w5<&Nl=HfjrG`ByghXEEh44wr#CcN;QQdR@x+tfKHALc&h{kkQY-VrnvHK1_!b z2@$oXlTO0G6x(nPvhg<`0uh4FnRooSNv_oJ#m(@zL4tU};wJ??o#3&Fs2jUeTyjMf zsZi0mNtBE>8H4K|Q_>dZ9Um=j3W@azt#V>_e`s%32&~3NfS2(Bfg?ri;;mbVvsU{=v@Fl{Y={ReRCRdF|f9 z86M8z58HD$gQ3hN4orJRme+@S=VdNhROI*b_jxTX)8aa0{fD!2bCR%9tC$B13AigA zC`Q|DXP6A*-(9Dc(4CrjwLufdQcx`mOeik-g&ao@-{P943UUTR&NXCDhc==UH8KgS z)h8B@1b)rA<~=PMlG+KqdL-3;prGL4Whq(BI8xDvhdXD~w;Qv7duI&LR1-7XaIg{X z==V59rY7OR{E-`cO24hvtEtR;kCXr0I@tXI_cn{u9(iTOI8LNUw#~^}SYlnrdy;h9KZ5V}c_V?<#Z{Dl)-hUAzgn`><}V z*_F)dbP6d>$SUt;8yX)&xu^k!*vNL9R+bbxqod44D+Jcffb67a6(8JnDs>HkWPVkG z@));z%YcD0_AEgyQetW6Hgb$hQ!=ywz5ppIjsiKDSQK%oJAe69MXBmE9AsY*QmIy~2tb zzYF(D;LEF8cGODww@@a7;3T?86(kF4sQz6bMxB|T4#KF3#?m)CD@!iBAzNs?sXkVH! zX#y$gb_Gik(H&lV~45zE>}|{p3phfhiRgJqv>RF#7K?m{R59@Y4^P|w|1wf@Ea?rt1yrmGkRxmoOJ#CtP~6Zy)O z^^)RZjV2Fw8jhq-9m{KL`Vi__v5-m%7u)wQNgWk$1cTKeW;USzmD>Sz@yK>)>&RI|w{2)5yi5rTWIfBN=SI_GiS%J- z5i^lX;Qu9m8n7Chr4fB z@wO#z{Hl~n#+_>o`|t9S@uvY3r(Fr3earl8$w)?Ho2tv>TC(4GDmv^!(KVGk)PUiNB)suvw;Y!^ zAX)=$k*#%PktHE!)D`ff)mC)o0Q&n961d-rHiqcX-upnfDDf$E({^;)t-dx;$OyRI4>FO>-C}R3Pyoc!Rcqqfg*um|?&$t=beM z8?@s|o3Y}gNVk8G^o8ThvOE>%#|J+2MJrA@eg zA+dtM!nVJI>M27qtg0f2+xUKA*xUSs3eN`2`QvZ5f7KDPaB%!MQ^;TviQq>BXRNIq z5t4|@pgi#UMyPDVrNd`|ep+#u2Rut?7i6RwjX!EUI#=SrLi;V_A;|xlF5zvI!eT8z$~XnwPT|aSY;dexlYv!zPOvRhJ%4E+9qO-ZItMCT zGK5uIWwJ;;UY^2ql>5m+t)9}``J}bBujWv|O64~KM3XE;C9HS@c-4ZcOiQ;42|R`= zR%gsB#zo%3_6!Gk+hL)Xyna!Re?uRDPq{Qs=V67`@ID1!sY2u@87^%DrCmxWaDfMg zaG9ZxkCT)35cehz!?O*yXmvI$q%+I80QvVmy6^2@5pDN4sLv7_^;R6&GC{S3c6f@q zTFT1^N%^Q@q*?n2s#iyQBu09v4r8DuVnCOP}1-X?n#EL#D$CyuC zrU&H57GP+=$`a?>1W@hqxyW75w#fZfC070c>EmA@0XMO>LL+{CoKPyue{*xqo0U>P z$w@qJ^`TIt8=e*AVE-^-cGg)7=&>S|np;<=UY~&SC^Fml!z5LSoiDU%lun61^-JCQ ziZ-`LmL=sx``a>N>64CHQ@n*^8UKa}ZvuAl?orYwT2FSJis8&1aeHs3<&g$M0OB(JM{wJk{`gyo^IJ<<)# zt)_B8xQ!!;JN!<|snuIoesCw9X+|o^=q)wz9~Oi*s49gwxkfjb|7wW*<5CtLE6Go&Ri3Z-#la2>h)^fw)V;;8V61yw$VECyEKsD!0*xmQ?U#1DBUEtRPNw>#e z3T_4SO9?CGi*_*aFld6HYg0EIVxgqCV_=(4AAKby(<-&$>zCrB8_kau2< z_-#I@vhey=glo^~@A>dpOQo)%Iaqbb_0~v--hv2;XKXd742}uzomq~GSVJwC*UCzX zP@SBzz1mV{l9utDLd>=AXmq9o8Y=!hSQPLyH1^x6<+16-nXw6^8cIoy&dvv3gMhS` zL0rQI5q{riTjj;1{mm)27o%6KV2X4>hPy1;^P^-kC$x&4efpLm1xcK9A;1FPZQW9B zhh5^np;fzq^r-?yD-oz_{M%&pQrm&qDEs_upk%6 zO_~2Vj&nz?fBXe815YYrQ>ys)8$_JZk9XS;2<#50kV597ZLx883dtpZLf%Kn|6oB^ z^8n${FESVPiY(lv%GcS?BX7qUr65+0On_R;nQfO!9IM*z}Nc9nfH zi$~j~lgq&Bl?8k8+|<+##4GRtNSip%13GO-9<0ik zrl77h_F=fMRwpPc!XohI*D#N(xqt?v>Uo=3Z;7M02Rgc6QsiBeSa!p$@}iy}CM7Ks z5w=La0aZ)MjKOjO-c>^i!W)GkU7V*~usY@|LcFVsJf^!}o@fKkM(pfMOJA@@1XiG* zs<%Ymm1P#r!7PCoe+adY-`qP5-<5xl?fB}2JIX2DtSQO>(fEXe*pbGL>&(I|rj#oN zv#FJ~wt}0Q-M3Dol^1F)%B54-KLlznT^*$mM1(hva4Hga)x{>8upMpoH~>bQbP2SF zw4`XV89EQd)C^k!$}RRrKvTg_EZ(KLd9`~Ma1J|*AEYjQDQ4;l$*qU(fB*0;*MdIF zn`Z(ppin}5!piOr%834#!M_z)kPptRai%&SerEe2T+h&1V@U24(twXc1TnrIV!Tb# z+fS7zBkJTg9yTG1%S!Y7&U5ediO1yoR-*E61}qV=zdlfE1umz6Y1tHd@$195j#18c z%nWuL)1VPxDw@!np`@h}AM7j0@{K}tO3;TmGM;6a@!7^D+bwf?c2)xBq4oGh@{WNa zyiDLuU(XnLKr-fWt!6@6XQg(U`_l;#pH1k^h3OP%S;aK+u`t6d*qMW01Pv4VQD-is zd{gVK0gQO>@${ghT6?8Hi0@o>vc7brizUAG1=7x#i)<{1^R*YfjJK^`i4x25QAD~} zeGX|K7*upYRe1;{%^=-ovq)G7Fvk3aJ5*Eetr%iXbZ96dq5St)QucE*x1F0WG;aVu zUR@QscAc8VMZdtn>)EIqmy^QH+wNP?KEMRl7>^*h9XE3D%DGMEitU|{E51bQ#8cv2 zTOb6D0uM9~yB%tDRkLuo^&<6_n)<4%TPQNpMc93RbU*$EHQ^W28kmXje5T+FU0RV5 z^XgH;+% z&)R(Wv*o`Xc>M#}rEZxIOXOONM~K%S!3OE<9J9rRHNf$=5f|ra+^DPttBQ{9XJIAm z5FMN;G@GFH7J%>RP;^X;er?F0{cXSa6QsTvs0G8ZALmx-ZjEq{OCvRB(g86T zZ2vVC(niCq#DmO&H^>X^X06yvZ~1|yMMY`4UmLokENQ=hoeA|v_q9EZd#AbVlDshV zok`KUdJZnHF9%iy?v1We(92{DJ0Zj&#o5EbEw07%LxM}5CYjLLtfc|Hr4E)8o-vb5 zAe{{32H9kH)oNnT=3#@)#o2g(l%KmLQbAu$W^aiQ2~*cWV8iuf=f*w-V1M6F{;&_x zkAJ|c&9l+VdW&0=U{6AfsM$h%_@R?_Q@L$^L*-NCWh( z1_ES4Hs>P^c%_$aCn~H=q7(x$>m`S>s3xbTaxT(uj;#{%^ASck!SEZ)6d6u-EI}qn z#>{D8M!Zo@A)+P4y)+XS>kRKlijGbJ2n_APv+0i#PDI4AEsb0Wk`W=XLTT0z=I$4J zZip4`yawJtSoyjIC9W@i4RxR{{Um;C+j<~%6oiNSgD8Y-TVpsG#gGjyo0kkQ(htG} zv)pGbXtNj~d7o|Zd~)jT`83I`R4$Ih!}&L{M8DSH8f2?q+prM(DAPLJa7y2J&ipKv zRusKT#RM9k!3x$*3Na$s4+1mZyD~;$g)U8QI;R6HoP6AtuC-*@$)oo7>9yR5MNqpM zUcy>8rr^8IAI+ESdKaoj?UHfEQrvo@>z{yf3Ngi#S27_wt5I1i4QVcTjk# z#M)GM%df^oVMH`T?VpTm515kaWGXeSSkC2?0Rbg!&{ z(9-1@VCO1O`!mqP`D-E52xx=b0V2(u5M(C2Ss3`FFg?fdW@#y?L>&SZT2q0i^kbL2@|8!w`knR~5py7vxhxi)xNgwL-ywHAScj1lz7n1>)^cMW zG&XQMx{8v9tJa?D+BrR(EZ+l>=m&shN>W&CWcy8E?O4%5e?i>FOdO2Sd^e z$%8i4oxZIks=H7xwG`wkRsCFZ;O>Q>hfLLRo74Fjyd+uVD8wtWo%92V(18;Oy}RPZ zK=1uBvSqp^c(p+~TCYSU-v7uG+7YZ`Tw*|E96p~b=g^ZWSMe02kIg7?U3 zjSpsKHYe>Wp$1eMlDIglFfbk!v?;~ z;35aHlIw!L{v&TL{tj?6Y^K4&yePM=O__-JfYQRWa7q;l4WFJ>l9I8CKT!D|n!cV^ zRrQ9p232u-NucKjz?f5%KsGL+7+_08^@>7(yDAha=FL*1IU?_8Krx*?$)|pYB6t%7 z_3jx$sh+-9LQv{t>JuXC}To$ODam=1%cev^cTg3M!#wHCf{f-|{0u zwUxrmaz5Y7&a@q>K#jbDdb!0#-aNPGm){*kRI7W)=9Jh5IN6s>(jLc;xbH2kcJW8t zu9HoMQzMRfnv6Zkqk+fA4mH;`NlF`&JnB*jNaoedrElWZsWI^EsMGr4&2Z&D9lVVQ zaR3kRsZwz({J`>;ez*(aVqipAy9=u@HLWvB;pjRHG`?v(`Lro&6Mg>u;=vyY*!R~@ z{qbi6^Aoe$&F*6xp2NC_brgfprAnKzZe>LxS(^%H`R~?QU{dA2lbl>8%BRCrO;yuS z$M3s-64x85J>{W2U6pKp4wPkiy)Cxk`jr*dHV08!d^eH~4xx%lDiY!z1t_eBA;4bg z%k3hhI=!X030)Od#k4#88Uk;|ye2AsYqy|WUCm3Ebq30#+a08=_GPp|mhTmG96Yrm z_x^=?XtYH>hBQHHfsK1#>G1s18)iBaZD*u^Bh-)yu>Tyh!^k*gli6VfbMtkCp2V2-XfsUhEu*#$KV(0X0>Eo`@Mi)G2t^=Sk!;;VRRd3cp-!vvLUldfu%66bI5e zi`URfrvih{B<_x1#`q8#*<-P!PNlth$C!{j=Pf<>c5K!GcAI~V%__kzPbc2-QmZaG z<*ob`x^u8bnRms?t+_tTNV+p#t8*dDfT;%mhYplAL(>;>9@HXO%nfr-XOTAXYY%tY zBVL=epJ4I$_*mJO1&r5NQ!|geVNV-T-0I5tQcLHgq)d6F+o2Zbm>E}oc?99AYZKw* zy%mi6d4Kb2V;f+{&86@;n=P9Q734vRid`VyHKZaC@gopS&Xit({sWBTGq=BoiP|)& zRwypQ14^Ui%;X_}Q5&Y1`HomD-7rf%+8=EW8wu~}ZoS}1v#wlykBT)<4K&jCdYg-? zs~KjDbaU^aFD)KM*PkS;^e*c=S?h z_X-WERWw(HiMr{o$9BKIWT+~t(is^UebQ3;{)%v68^JImeZfaBShOq6H3AR4m@fAG z{8I=0%6t>b!VcDNk56+b;w0lYZzLKha_*|W9!g7&HDrYGYH|=_icgg)zos{wiE-k_ ztD8(OuyP)6vI&%!6%;HkSup-B%czmyCJ{nA9A#$nj5@&Z&IO;sujLJQ!GDe}xXCGJ zi1qW%n8f|pN5MC~R{0exiZPa`0YrbmcJS}7e`+Alk)}ylSe!)F%{r6juS`t5^SI$0I$pVF{~VSzOTVAy+6AS!*L*RQ zbYXds;p^Wx*5>$l;n+-%J#y`}OdM#c*mvAxEoFly&XAMjTQzSeOw+!&E9z{6RNmZDNAP;~K^hmv<5_=vm77 zTXN$uvjqpXHPU}E&^z?2LNVDXKsL2dxoA7OLOVMw%b7zdx5@Oq1Jv9NGuDFLk>6Ab zAHKc61?fY6e7#9}q0Y%2Oc~MqCW35Z60Xvln%7*#q4n08sZ}?CW}BtU(Z-lI#R0}9 zI&Qytm)Z70h1#!0kLgOU;>+ zAV8VR1+De?#gly0UhADqqLi6gFh=Bi$84Nz`z^@@LLZ{YFy|ZT-)h6H#>QwJW}j&X z4zz7NUZzrTzSLAy-J(3!eh9K?d4BrpwRb`s)z&5mqyH1zwBuSQiT9ypt>n-&bhJXc zJ`vOY>>^jkpGLLap_{=TXIRgW@kD1N)?)wHNISfgw8%bcPkU$z#3VX??hPuq&FbGK z>WdC~n1}0&KcHb^ie6RxQ29h{5O2ApO^<8E?9Vey(5B-tQTxezk9-d%M`-i>fvSBU zU_CgEd#~rrlfygOw9}{3228VgG;LsRchJw#d+=9P#`o_h?e~&Ve+}oM$_N|7JZd+1 zi_3bDSweNz-wHy{Ddtb^FS?3Dr6{6AwQrh2jRxa_+eWVJB4Z{g2gaBkwac)50736) zA1DH3sKJZ|yDlt9=D1^{cNE{!3E0mLyR)!^0HJ`mhB`qzA=@wI#Rp)dqT)yXWGf2$ zh}SKcCkU7)Ox%^B5pBmq6hWm-W#VdvzX5~lP433ZZb(a#Jqy1&;_fZ)5U;9>+qbMH zU2mOSIba6<7k~CD>wKko-tt*qdn^+JnYZXG{H|&f9oz2-FEw}KwNF$Pm6Rl%ocu#} zrQY+%RgVM0=f?;sL3sUVPs49LWjG@MGsh{>k(`iI>1#WLm@AlF$tFkQ9{eZjcyyK#=b4knZjpy1To(n*oNnALn@P zUF-hi7i+$m?|t{)Pi+{M2puTvw}3bgDgO(1YP5~#-x(1uzAJ?}mX9+mH;rzI<%(3GLqPPD<+lwym^3YhJG%6(~ z8_hx6G<&{bUZm5p0yNV@kcSrlSCS-y2LJAGA@Vr%)1H9CNFpI{tnIr`PjpVo01%NbEP7489(}R3+ULN zi?)y6#F2Hhvaxx7sgL1+o>+hU`0*5>=2Q7V=DT-AWQSL0?jDElnqkMF_kwf5Stm7c(OlbHLmFb*FhqA>|c%&H6dCck6oj=VQL_u zx-XuMh&6%7`1Cn$meu48Un5xuaa>z1TXaqc>DV`?{`_whg0~0rm5PAbE{ky0+nXEL zhkd+m==vkRsOCOX;L03gkp{UJqL;K0zPNVj5I=mPmG0R=Kg!R!Dr(KsvqE&jZSo%r z^16J9Dk?*%b7M*mN_t{SbrGo?&|%)(^c} zRYvX8>rA<=1XOT4_XhI`aiKW>IUQvQEYk?d&-~5IRGoeHr=hAb1wV7*bsL?F0V0Nf}5K=GrdvbGx=d*e!gg4UT@+j$y_ZF7crJ$L0*c0eNQX? zO?K5u!n5QyVk6uU>_^H7Ukpkke949Nb{e=X$7nTqtsn(Wq}b_#R824E%ZC0yn>l-;>@#W9>~_$fsx3yJ(f(`f z?vcg*DwC=p;_aAKLJ7Uu`UfHnKWuA+ziNHTXL@WrDww@C_V?l{c4ikNv2}HCatjOP zM${A)3x$0_TAjd{Pa0ln%JFCw)F0g6k#33q)d$ugq_N2VgOSFLJpWx`T3&X%1teRb-`v5XxNx`nCK>GX8nP0 zNIT#X**n&vrA91qnAp>B^Rq~)uvjn%3c_csAZ&}_;iRs$&$f+t)M9FWw z*ZaNl{GzdWBKFIK578><1w+M(7Cq*s={QfSfM*);*Wp2TnB5~+f;m)FSUBEKGs{HF z6SZsK_?_KQnPr&3AegQY)%LTwUTQ!9S|aW{=8^Y_zkS*J)IRl>9ek_OnA~MqZiPy= zPh7Ne?3!-nUqe-HTvJI0QCw-G&FNVb`a6&Jd%d}O{>_H7(5=E-SUdATYg-*a1g#Sm69qp;1* z-_lQn_cyu2P+kT>0@pzE1kj|t=d9kATU;lJWZqUhscP%bZKvycAD=JcE%&P-$6D$? zHcT;Zs`Yvmj_9cQs6%j4huM&|gH~47IF%OAFFv#dt^g>i57$8KkQ&zmajtqVEenY1 zZwyxGa}uNk{e^T`-z?HmwEH3{8QY1sc_?EF-b~jMR^lpi6Z5@L#52P_)kW*f^Ycq_ ziN2RRhrvT+GOPf202(ErR+p8f_ff%=_-a*ZU@Cu}$5}aq9(!CFTc!MM53ky_C)Q1c z*5o?_1-&#UEXTLYWgqa>%CEmAT3B36eepCYfoEMW2PaX(#iWz76vm>kNdN1boj!

yw<;SZmrkZ0qy!J8_gA*7r18NqH0U$vp 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 Bauomo literal 0 HcmV?d00001 From 0d96937a55958761ab7a40b449ba074dfb84bd47 Mon Sep 17 00:00:00 2001 From: An Duong <60829666+onlyname1@users.noreply.github.com> Date: Thu, 7 Oct 2021 13:56:38 -0400 Subject: [PATCH 07/12] Update README.md --- README.md | 86 ++++++++----------------------------------------------- 1 file changed, 12 insertions(+), 74 deletions(-) diff --git a/README.md b/README.md index ae3da83..90d8f95 100644 --- a/README.md +++ b/README.md @@ -1,81 +1,19 @@ -# CIS 566 Homework 2: Implicit Surfaces +# Leaning Tower of Pisa - SDF Recreation -## Objective -- Gain experience with signed distance functions -- Experiment with animation curves +By An Duong -## Base Code +Pennkey: onlyname -Please feel free to use this code as a base (https://www.shadertoy.com/view/fsdXzM) +## Overview +* **Leaning Tower of Pisa Recreation** + -The code we have provided for this assignment features the following: -- A square that spans the range [-1, 1] in X and Y that is rendered with a -shader that does not apply a projection matrix to it, thus rendering it as the -entirety of your screen -- TypeScript code just like the code in homework 1 to set up a WebGL framework -- Code that passes certain camera attributes (listed in the next section), -the screen dimensions, and a time counter to the shader program. +[Live Demo](https://onlyname1.github.io/hw02-raymarching-sdfs/) -## Assignment Requirements -- __(10 points)__ Modify the provided `flat-frag.glsl` to cast rays from a -virtual camera. We have set up uniform variables in your shader that take in -the eye position, reference point position, and up vector of the `Camera` in -the provided TypeScript code, along with a uniform that stores the screen width -and height. Using these uniform variables, and only these uniform variables, -you must write a function that uses the NDC coordinates of the current fragment -(i.e. its fs_Pos value) and projects a ray from that pixel. Refer to the [slides -on ray casting](https://docs.google.com/presentation/d/e/2PACX-1vSN5ntJISgdOXOSNyoHimSVKblnPnL-Nywd6aRPI-XPucX9CeqzIEGTjFTwvmjYUgCglTqgvyP1CpxZ/pub?start=false&loop=false&delayms=60000&slide=id.g27215b64c6_0_107) -from CIS 560 for reference on how to cast a ray without an explicit -view-projection matrix. You'll have to compute your camera's Right vector based -on the provided Up vector, Eye point, and Ref point. You can test your ray -casting function by converting your ray directions to colors using the formula -`color = 0.5 * (dir + vec3(1.0, 1.0, 1.0))`. If your screen looks like the -following image, your rays are being cast correctly: -![](rayDir.png) -- __(70 points)__ Create a scene using raymarched signed distance functions. -The subject of your scene should be based on some reference image, such as a -shot from a movie or a piece of artwork. Your scene should incorporate the -following elements: - - The SDF combination operation Smooth Blend. - - Basic Lambertian reflection using a hard-coded light source and SDF surface normals. - - Animation of at least one element of the scene, with at least two Toolbox Functions - used to control the animation(s). - - Hard-edged shadows cast by shapes in the scene onto one another using a shadow-feeler ray. +## Implementation +The Tower of Pisa was recreated using a fragment shader that rendered the scene through raymarched signed distance functions. The scene also includes basic Lambertian reflection, hard shadows implemented via raymarched shadow feeler rays, as well as basic materials. The tower is made up of the smooth blend and union of SDF cylinders. The floors of the tower were created using the repetition of a singular floor through the SDF limited modullo function. The tower leans over time via a sine function. The crowds of people were also created by repeating an SDF cylinder over an area. The crowds jump up and down by offsetting their position with a triangle wave function dependent on time and a specific person's position. -For the next assignment you will build upon this scene with procedural textures and more -advanced lighting and reflection models, so don't worry if your scene looks a bit drab -given the requirements listed above. +## Citations +[Useful SDF Transformations](http://jamie-wong.com/2016/07/15/ray-marching-signed-distance-functions/#rotation-and-translation) -- __(10 points)__ Following the specifications listed -[here](https://github.com/pjcozzi/Articles/blob/master/CIS565/GitHubRepo/README.md), -create your own README.md, renaming this file to INSTRUCTIONS.md. Don't worry -about discussing runtime optimization for this project. Make sure your -README contains the following information: - - Your name and PennKey - - Citation of any external resources you found helpful when implementing this - assignment. - - A link to your live github.io demo (refer to the pinned Piazza post on - how to make a live demo through github.io) - - An explanation of the techniques you used to model and animate your scene. - -## Useful Links -- [IQ's Article on SDFs](http://www.iquilezles.org/www/articles/distfunctions/distfunctions.htm) -- [IQ's Article on Smooth Blending](http://www.iquilezles.org/www/articles/smin/smin.htm) -- [IQ's Article on Useful Functions](http://www.iquilezles.org/www/articles/functions/functions.htm) -- [Breakdown of Rendering an SDF Scene](http://www.iquilezles.org/www/material/nvscene2008/rwwtt.pdf) - - -## Submission -Commit and push to Github, then submit a link to your commit on Canvas. Remember -to make your own README! - -## Inspiration -- [Alien Corridor](https://www.shadertoy.com/view/4slyRs) -- [The Evolution of Motion](https://www.shadertoy.com/view/XlfGzH) -- [Fractal Land](https://www.shadertoy.com/view/XsBXWt) -- [Voxel Edges](https://www.shadertoy.com/view/4dfGzs) -- [Snail](https://www.shadertoy.com/view/ld3Gz2) -- [Cubescape](https://www.shadertoy.com/view/Msl3Rr) -- [Journey Tribute](https://www.shadertoy.com/view/ldlcRf) -- [Stormy Landscape](https://www.shadertoy.com/view/4ts3z2) -- [Generators](https://www.shadertoy.com/view/Xtf3Rn) +[SDF Functions](https://www.iquilezles.org/www/articles/distfunctions/distfunctions.htm) From 775daa035d51d25504784fe343b26637f36e7f7b Mon Sep 17 00:00:00 2001 From: An Duong <60829666+onlyname1@users.noreply.github.com> Date: Thu, 7 Oct 2021 13:58:16 -0400 Subject: [PATCH 08/12] Add files via upload --- pisa-leaning-tower1.jpg | Bin 0 -> 119273 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 pisa-leaning-tower1.jpg diff --git a/pisa-leaning-tower1.jpg b/pisa-leaning-tower1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f49d5c5e0367141e8a8068ac4e0f7009233f96c4 GIT binary patch literal 119273 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

prMLhOH@6H~5kyr~ z7ZEG;#PwjcTM2b>$y-<%(k6-P7-ME@}<{Xk~0nuD0(RuBz9^ z6qT|uxJ<3^DpK$A{rCYQpo)I6v0oZ}n&NO9xOikfX=#3cDTK$wRbeS`m9?TJ0O&v$ zzuxZH=1$vrCQTKqS$i@?tGr{9MK=)3ZXkgJM!YptQS)=HSHq?{-%6vOX32N28y|P0 z&e+xJXEo(`b8kcQgV6Bi`Mny$7js@#p(^gbzxZP$)44lx{T-dYP}dvC*b_Ckdk2!g zGwY8jwdHfr*8?K#+mZ8rch{_&lJeY>i7}W*qcGC8QNAQYlq&%iy;W(CMzl&|CmN}k zq9Kj9kmFT`+Ysj)Kmlr#Eos^27`)dLm?IdMLBgC&NjPpa+h{F-s-02gs`TWltr1rkcW7Tmc5cuf z&v4rBoTFt-#WOQvTQtiscRaA7>y(F7c!e8zP{C2e4&^~nPKvn34}va8+OOEzYV zf!TMn7M^9Nrc;H<1sMq=mh3T6vClF_;?jVLMqE{NlVC$rUbxIPU(oZJJ1w)LvwWSe z5oI!t&JuZi#v)!Mg(sP-m$MNFE-9fj1d5b+6xWq{86rcCby=H?I4#N)YVdrqM|At$g)~&toyb(ibIuTnq%6+ zTbVMGS&}zZ{{XfS={1g;K|aIqlOv4>)z_hqi^TS(PAVgGN>_BZ8>6=L<08m?C9pd6 zrZVvdTM1k|^DV(fdee{0AR@t6)m|EfEEr~KMD~^07Py$`t=?6x@7#7qjAU&<%zdCU z)^f?ZicxtUe z$|YZZHZ}N%U2y88X6mZ0`>k$Oug4yN&^Z1kyuXU^XHMy3^Aw}}zJ;utMH^1~DlG(j zu!PsNLU8%YsdW>Xez^4I!06A2eO*1`w1;(Uzm5o?380f|Hmxl$JPcqa{{Y5rqq_3_ zoDm{73eo7Qi}q>Z%Wq6OpeGD?cJT^?l()Ji{$DHsXqmXXtJOGv&k_I@%Hbg-6|Z}! z{{X%UG%b?1LaMKOt;>hZEFKWuaPpS^9q;8_0Ry(e>9Qdbcwo6mgwIPrZml|OSU#>O zKqi#h^!fSVxWPv_Vk$|=vXw5o{+u#4Hz|FkMYrIXECD9fIYh)zgS$>rr&YTUm?1xA zv@V=Fe_SGw8%FIBChh&9DwTY&I1Q^|MQB!=k)>DVinOF2GsSXDYO9W>0DTUG^h9NuQ~r>RGL4E7C6h+IIf!$Jme~sk z^hzzM(umS^#+;ZGUTDqHv!W4YV`APzh;j7ftAw|zbx-vi86DaymCn!XQ5@}rTvWk7+FGln&i_dv>eYk&5l_H%c#-DD7zBa@lT^* zt%9ko7M&3nA3ZY^PMbZLotQze`~*ABzZR{)zK$>gs!kv_zDT=t#x%6KbJEAxzRVgR z#$V9g2+oYdO@BDj~X(c-W^NT6@S4aKedSjyc=W%cax(SnX2IPSuRI#AF6c&l5s9m#agR zz4*9fej|q4Y_to;W$qh_Za8MAWkFMXVLc`7IT3re?l)eKKdvqDvN`?Df_r2 z*q5_-mX)g8?<)07HXu-F4Y*@e>&@fS@4?}?@o?#Vy-UO8@xr-Q0k?ZS`qeitwfVac zTL5s$&Qa*Qb5p|(=vKIGa7%{a_qRL(7VhSAYmqsZ^GqDdBO`AqDguh)TBO(&K}1zK ze114!h%F_&G7|ACx?Sg7LS=2WkTqKK@e{j%0!`W+h%^EHs^B3Jl__y2QW5U|0GktW zq9}{OU?(v0en0Jp;qr-Jxoozl;fHiu6|qC9lb#E8%gjsDY*cBY65|b&F-jRH=kl0W z98q~8v`DQ=eX3Xeu&UX%R*I@3_2H*2KbAC1;z}SPTljX{cKoN|fIxR$!M4Ss+@5$Y zi4|e(8*U2Iygv2FJqlAJYz25f!02~5f7SKxS?n^}9 zmlE5`?jjFgzol>mg|nLCIw<|6@x=9akV)0?>EJj5!jm?*q=JiLqTNr=h6SzL`jAyb zuTt>x#E#Y>!V8WNm9)O7ROS3}3{gmxL;nD|PGR5p;N%>|Hb_9P1rhy{=EoWK%bJmD zZf;tliw#0SgGJp6G#`HIxa!?2oAMaHdKH!>;wOAsIQodE ziN3$r8H{6)@Y-E37gTE%5{5S=ZmAllUcKCT+;uy%cREMWLmL+EuxFg~O}-6fT{_HD zC2&|o04E@h6cto{FH)7qr_Qv^(Fk&P$1V z(8-(R(*bn<0Jr*+0WK~XDLD5D#+*FXqbm(I+b?@nq1LYH_{68*jUZ;tsU~PbO$gTx#1=&@^4T%3`#M9k7(9mP^ ze0lv^Mxod7VR2{;9}$t@W_`OeW@(e7p1M&HuaOB=9VlrGz8nYPLYX<^O}spOdSNAz zO?zv^W!$5ta(t^a%QESNRMI+24lJyD@vN|Ix}Xa~bvTtWBt=y^)oZpc8RaMYb^g`! zG|iSNeei!nUCm-MD0(@yD>LSKnnulY4C-=G(-?5zq(h&jAt08G^-IC7pME%j#?c;e z@j?_;?(O(v)4B^E!c>3H{xLc)OCRE4{XaHSAm#6=ZC~A7D}cbZqzYaY@U>BTX+*UP$?Xm%r^!3qZc5rEQvU#N>wu-eytvpXh?)&iDx>93{{UAI0UWW%A4F8=OK!LQ zFw;1fxk+1B8WmLK-{Za+rbWjT2ZojVT(^E}g5=W0J0)C30+0pe%HqnfFtb$gstVfn0#;m4U#I_ z8!taEFZ)sVd2;gBasmfBTTVR6E##sPo6jjv@T?W&l;Pa zBC@_@ZYm0GG*?0~$2iQ3P1*>p_)$<*QkyP1hf8X%rky|J{2AIhGfDNcpWhUDa=u&B zT+H06OQ;%|I+jUgt&BS^NMx-{qF)fUh@3~5Y-?|duge+qi8~$4hKe0k5fv3Gi*JzTZ$^x+C5H2coOYCha<@2AJn18i z;JuJoXN>5OGJcVk;gNps>nOAoMOy7eT4N}yCN}sVPcqJ- zX&z#Qgnk25vixEz2np&lM(iq4HVW;J7P@39)~Z8gEVCp4asm>41v-m~h&14n5RQY$ z-BPNiXTzdWlmk^%qE{6i2A-yGmgM6nmc0h$icZEvMAQ||kmH93_y_X(Y zmu+oi%#Js7JTyW=deJ9$hTJ1`um1pK{_GUERDH3x{!xD+RO1Er!Tn85t8KX}^ij!) z@=-aPaFGh#Ih0JlY0a5<|KlsGyJuBB259#@_ z3K*O&P%EkLCwYJ03t$N)u2fQ#A@EPm*zTuUAv89Kkg6!{%)G_%#3o28A|hTGM6eT0 zlity8yJQ;ow&{Z7B0__;g+scX<@w+mC##{4DGHxOyM6xvJ~#x+4z@%VC;tFWi+A{+T;Tkk1&3tzfT3d-s zR~R9Zyb%?k`=Xb7-+n2y&?s{#RTsTyhtm{>kmU@^fI(m{{{TaJW~Nxw$MbCgur4K~gB<4fS@8D>0ATbAB-Hfb%soOVHg<+)8l4h~*x z7JyDU5g8DR`$p=9%2e2+_}N zDa>-$mK{+yrC{h?Q;}5_5m8kWYT;4cG;0{y7p%kRx9oY4*Yt1wy=su}k7j9bOn}CR=`55i7k=jm2>jo5cljkmb!q^yK8nm~s~( zXvV8S&{fFU9ONOKiTN7vMu>~{F`LrkRx+mheD>6pOCuZApGPijlpGZriFQvC^mh~$ zJ)`Wo48y6(%&05y-7)OYZ%N-`tf!XcnqcI{dzBUlQWzlfL_6yGmGoM;L(W^(cdvVG zuviniGi@O~JIqt*?AlqcnLcqWoW-={G(^59`@(;HelLXJkx>;%`f~2H=$P?n9!kyH zYXhyClbmwIbh08kWiyV47`FcaUdlNTZMX`RLP84{Z-yK&=SVLIkT{wafYIk4@-WYiG5|&P(AFqja4oi(RTK zG_LNW^M4D)+p;T`*i>nl0S^98Vv=1;&6at2Q<^d0IDg@vbGK*3$5$$x*|) z6^ZKNLQ6|-uY2Cad9W0@!L=1ArQP2GV@kwGcE^~U@T%?I{#Yc!4Q)jcCBbx9-l@y% z*3r3Bt;2}pR*?HnOZ&sr>4k6wqp+!ScwD|;kG+UZh>>u~Zm+s@+vS4gBKq4xNpprp zw!=?9&rBfzvQ<fZ!W!MZ zI{0|da0pzvDyWEbp%=S=mO>r~+U3H1E$`hPqtjFXLn zU?^5qE%$LFYT{apRYw3shH6$RY9S>Adv55rCN zx8RF@UmV?;v*bjEOD{K}8-z4*mdyu<+N~Q!CF{>c`qvaS<+=J!A#(E)xT1uHhCp)K z2#boeKviEWYeed*IO-EmtC87auQYAuGf~7oh6|SWcslw_< zZ~A*Pj#<;aOVicR7-@oKN&Z)dW?3?78RnXWmqHrBLo}%1qO-(tn37teSFgW~bLfiE z&2-jo)G`Q}6sB`E%UN=9E`Kmh*@~~|SV))6mmIj&6%ktpb_&s3MW)!|=ai>oc*Q82 z>(j^D+f`&;uOYi3Xj`F_vW8X4^5~T*OueLXVv%U$jQ~93YH1GJVA@a>5nWeQx3-oq zLoRvNss8|Kc@|Tb#Y|dB^iavB)5th&iLzn$ntjVg#C^U4hz47#8m9Z zr&9GSIl|QLZLZ!vnO@DBbFQ=g%voMZs#5`wJNi0tpE8bS8A2p$XGg{zvTekDSuwGA zf-T;J0*WJCbQfT5)J$h=#F`zb(Xe^hxx|^g(~+~c=*A%4%o5igRvm67md3`TAz}qv zc|w4^rihi?gtJMaCq>3FW$QlrK=Ra+K1Z?H^EqW*NRwp{H*+3e$k~`)pFy_Lm#jF< z3#}V*V#oriw#(q=#)yivOmBIdUXp5_n851PObmlJ<+-FAGe{@m#`OqdC@U?K)e zs)bawwO#sRqQur#X<0{N&cVH*a^mMbCdo%9U?L6~*!?@0ISK0T1A=DTu*+?Z0_|zB zc%kh?RK;eyEcTkw_=wEI*{`)cboA7KlPYIs+d_0vR`lZtB@UL+O}{$fz5#Pec81p& zO?t?zc3am81A0@al1Sv3OXc%+Y=E1aEt_i4ydKOD(evTBm2FnaDyh>Pn;8ia4-oV_ z$!RoZ*@%)Ys*6pDHeLKj>5oO|PAN+ZQw`28{`7Rdl;QH$h9{J-@F=*)G82{|AH7Y! zKRgzpc%#EEMOCj)E{Trr&aRfCi)ck@Ha;o*@i+~<*C{Q^h_>~@xh$L%8=SN%M_#tC z&*O+J2>z{0b@J~gdj-ZpheGbWw^e*OdVDZA3Qt<%AluNr(!~KdXhp+qzENKH$Mffc z*tX}iY{gN29q%6>o&lkajtW&Pc^=zf6flBWe=vsSZz%qHVs22z%MK|rAeBV-lgIku zT7&>0po-JorUW|;>SzH`3y;oN0#{Dga>@xWAU973-2uTSHFv9J>y){!so33z-kqz#bTL<4T#TVdRGAp@P( z%D43J-{XZQkO@dfqF23C9+)mjI4aot8)zxs?RVS5 z*0wJ-(a@fd{WXHoZqqZ4%DR7?CUZ=!rZTB!R)un6>OSL6wFcYqL0ba9-eR8Ul*9Tu zG)GbO+qB$+v&K-={K=CV&2B6_OzSDeKMNBM(``6>RN;^b+17_t>(aQxtL9Q>LEEBr zG1flPQ+bTp_}G?mxt>*(`pc&n`M}Fep&NC_oT8e!!#7u=A--spN)|Rhqi#>yYICSF z{TJ-}tPSLsCk=$=B55#yhKrW^ybDe%jk^xxM(Ub_yoSl50-~XT-h`1VW4?xj)QCBz zqv!0)p5-%VV#75|<7W&EXAg)85fE=Sj!+R5Y&5MrQ|XSo^iKAMhV01H?;&LF&Jv8> zGL=jdHai_XC!wRE5g@%*CN-zf9c{MT0kO`7!!=qeB{7nY`Kx)LawfcGA=ci|S(h~B z{Ho4cZ#K{7QLOHZt_q?Uu>RLuTKnp0PJ&{bXO?)Jf{t2txufg+`*GF zc6Q40Y|Af^#zaCiF}|v9Ml4HUsMF27$Tkh}fjQB7n5wF3(rk4eXrqDq1<$jti0h_A z)(55$@_1=H#syt$Qlk#ozR5bgAyqT6v2hhG-4xT`-@ZLAn$O!;(fgRCUzt4oq9R2#V4MaIGfZJ47-CxS9f*qQw;RH7-PKW^il~U2PqJ5RES(vr5xt=^ zrfVriQ=7rO{K5i#GJaz6t((Fqw0;J3YtS|IadY{o8{_?FK}W}(S5 z_h)RWB+hb(NKDk!^7m!!x=uR;kmV4=#@p0FR-87HlvE{4SAPyBak3{Dh~k~gRlApZ z_+!%g8;4NAO20Wj1aw}LS8~M0ha|jNOn_I}iJ+qFh3@@R5y3)I8~z|7o*3>cf!3cA z6eEsS)l&WC@x%l|TU_KcqR^>&dDpa8oVO*kEE)}GKb$i5@7vG48qFkwJbp4zc0f>!hvW7$FGSi6t`Vx!-lum3TSX8TD^wlGxl{eHT;V>!NxMZGa7LT+eWm(fILP-! zP=|Wlw_RU`3yMpyL2lawtmwVew*!WjdqNuRK_&70{{S2^0l+)05l{~TBJSWe#f|$# z6bg51b`xW<9EB1qiB(8b-ro?Jxz6y~p7VUSd3-RyMsidX{KiE$fM6|cI!X@uQ|mBm&Yw3gE5P5yX<%VdJtFF{`FTlnDQ32JFy zNOaJoy^eE$kR|cy2LRZL?N=h%_}63=T4U!794MA}a2sA&XlF~7>xzgir`=WivFF_> zv&P5zSBpE(M>N7e>V62#G%g%ji2n36phO2Ud?=XqF)eNAc()!VNTN+q9H;)=b%!0( zuqVvUGq#V#WZa3TQ-`MaE_0GQJO;@U)Eq+!vwIHYan0SaG`A^> zP{->zu2{o@JjUW9!fL3W70l9=Nwvut`u9FpcgNLIB)w*v;%xuy0On!+*$7-dhU z`-1&(xV;6L0tI~_atVVlO?~x)#L1vJ1D5wOl5xPUea47_O~$G}YZY(vj^I zpCv&phnmbC^@(4sUmpeQ4k@&63UUe=lBFu9n^h9KZC^$lzFQ}T*4*B~yvj+mx@x>l z#G5xQ>Hh%kemmnUZrrr>v6l80^g!j^N`#PWe`q6hyq^0_#Y-~0GXDU1pEqF9$DBm= zED()Q0eFrk^=&%kQ{5WVzR&sdwiL5O+in&|F36DZ4a#AjBW_;&czbAMDy=M0q9;&8 zMCh2oM|`-uBPH}zWS%xY?HAPjT#3~|r@Y}kyyAvqd;TOcu zdrx{LGKQA=J|qDrokjlu+74ZefOcmxhm3Q9GYKHrs6LThliUY*L<= zIbX9%#AQyw+QFxKgyvmh7gpwO<%wH)i5vA`7NG-)5MZu>vg>O5#@e@ftAN_4g5y8Y zDLm<}!rAk)*J$Yj5`3{bnEwFzIhgXhLdP0q4`IB+rt5~`frD_!jst4nBZ#gc+L+Bf z<4l{r({6V1&$%yCw9g>w21bj9dJ8bcMns1U+i~WFrde->=>n=FoI-U}E3&VGqT`mx z5lEF5sYs}wowx0`d|o;2?fMe-8sB#?CR9v{38%t!~>$b!uY)eQ6;iWE4QA{Q@f-Un> zs#h;kPp8wnfMBb0P6~?byy<_6_;_JlqVlbc#2eI-ysO?%3@Jm4V`#QlQoO$R`tstA z4pKHZw`!eyIZ(N92`?iOAyDbd?ydoW!E9W%yN<{{HSxd}uAsN&-5);hjsk2bsMspW ziYQesAM)aG(7BC1HkZ5dz!m_qL|jfF+N(>bT)&;M6}H5XOJL}w;eZ;riqUm0@lv=_ zY3)v7lMVi8l{cmDu} zJo}`3_~+_g2Y1*DE(v8?&}YQ}>?X}06IOjgM$9?$QK8Fmi8=QS48d}Ui zD}f0$dSPwEwxcl4AMqqyaT@a`vGmI>wnojhyR}Y#%u*Ogsgu*Z;WvnC77Wm>Lzq8j zdyx`?o2sH?=r5uxv$NV8uQLeAjM5G+dKnTrHZAxUZ(BKoJ(iMcEZr zx!HBPF77HXgAg!rL;mTi98s4@Cw zAj*iJ{{T785(rgFuHut8cbD*Gadqv52-@~a)W|`5fDdJ~1wHX8+0;&Y>Fii*49Cr@0)ke-cq zvsQMklxBRVs!_R9FzQ_EF*y02U?H43gxs~*`&~#lX3#;l*kOT(Y$%mmDz#i{?i)fN z@bZ;ytugE!AE2=NHi})JHhHGosOsbDKUaWFtBk{iRjq?*Z`XVy$X8r6y*=99kFy>J z%tW+ANUK_^(1)*2%HlTN^r#5*r`f|}O2i>oE;8KHZc^^2?yew-7kI0^KDEOdR|qiE zuM=wGj@{aKw!)|@Ora{BqtvP6<%zhht;u6wscgD?zCSO!5SVP01Pyt%;t_LTxlAG| z^I>6)cjf+=0@#iFt!cj969vXkR||uk6?{sbAJ-6@A?6_3l!i z-Fo@&i9iw#a;bZ?_IV~))NbDD^I$3syr8_PdUJWFUH+IZaDYtMK@Z;BaUbL5 ziD8g%=)Ed}Tic2YAQ0RpLP9p~w%uB$1B5OGx2^vGvw#31MRR0!p>4{Z6zPECD~ESc z>uC4C906nnK_j;6CwWWk{#OCETXhkzZBcjqtWCs~zyuXu*_PP{6=Ww3Dh62sD^eC2m}*mh{GZ1i4d@?fA$xhj=Lxhq`o37p zlX;VlIaHz}A{GAttFAb6{IhuaV)hu*D9G%XI*9zizg&)VT{t(RIAe0E8mgy?rT#1C zn`7v2U`($O37&O&bvIN6gUYg*Y7=S)M0I1HFM{{St~l?~vA$g{Y#z|jvAIXGW_O7d zhk50aJqDhx(OO9mqQZ19{{TDStK+pXjrt$*4fDpUUe zy@^kCgpt{8wh@rRt9=O(P)S$u#}{N4$200Sahkxywr4xn#u#z76%3SR(1G3*U8t}% zs{Ncy2|HFUC74J@BHvmALZ)T*Q4+Z3&cjOP;=`iGuU6JKhvY(?3rz07pSmpS3n{#`GBPJ}kW8}5rqWv+m@I(_UgS{!;${i81ur?qBjbXSaLmJ*%^PC|1}tgN9A~ z8-igKF{nsIqDIo7N|jIA{+RX6j+`(wQ~imNf*$Ss$iDJ-aV%0E<(AT)JT^WdK;jk7A|j&Gm)*o61#E~% zy}h*Y#N4E;D{P++gW$de?_dLI$W5Qc1e3dp1hfef7~J5fSeuXI{BaGDa95p9!A@c> zUq2iJT98NGwJb_tIN6AUH6@~RUEUl3ka!5;b2@|-_gBN^fveDE>egTY%%qV zg-LzX#6fhEmfO5hFd?GwqQa^Xw1_M33MYmXnkR)xK>~=Kf680o+>kT~XiYe1i&XDzf*>dYDuZa&f#P02(*??~q|lJ@3DQ*` zbbagvXb7$+d{>x9;ez2|R1v;w``a!8!=VYdN`^f-u3Q%tg;rI^2#MaQUY!&8Vi-8! z5}Sv0SNbRWV7Mi43oCyP(LwMbL@RMPWZ2q4%A0d_75M%C0EP>NfGzvHMCDI;KMYS- z;jOf&l{??V1;=0$2gJEl3aeYbADUt`CWA)?(@pLXyAlalrbuY296Nk|y+58U*~>TO zT|dh)nZrC!Tb9b85e_0EDGJaGk z=8%Diab1dbLk9}%OQeV?L~Z9l6JbuOxbr=ujD{w>>Yjsu!mK?AK-+R3{{R58IV+MF zmNogt;y_z<$a#c>6!xX|@aUU(ZlAr3&q-z;j14l(a9O%>mHS6VJt}>u*hb3r!wwP; z5o+XMDqdnoL`ovKsGA~VeD)#jSLnO!uQ;3L2>nUasq|FtR^*yuGt861RE2i#Fhi6q zO7Nx zpodVV>slq)>JHESulok&2z>Pf{{U`WfcN&{*kx#m$6yW^A=p3=HFdC3Rkdoh+Vxsv z3X+4B%@S5JzR+3!07$jFL1Hx5MSDrnn z<8(Jc!%w3#l(IH)89F({LFMShie#HH1VBd+cc3;E@Y`*%IiVPaNl4%Fti+LWgq%#E zBBkaPCn4fnTG0}#N+$bOnB>05`e~jaGcH%m`P(N;;9}<*gP5}%OJCWwmdqhqh;Cry zKN;RDm!Tv;QArzJg(5zY zq9*vm`#5EYjJ)i=UmYiU9OZc`MJ_^o6jTTjD~KDSEmM-eOeXhgp(f9dQB@R zpb&;Byvq)nHQ+)7Lmy*YRaQI!{Jrk? zQ5-v=q(<2LE#G%uYF&zMFePY`5`OX)1jk{ChKNW>n|J5;es~Tt1c^WjcojLYT@*nP zZXX-MsL^$dM}~?I@JD>*a-TNLxgksUfO;qW4$xNZfGI-#)+R9D{i15iq!A* zxTK18v{5izEKV0HkvO*!>>`Et(*aW6RUYqA?uf6FU<)D?GL4&BI1V>!ciddb-mSLb zCKe)tf`HY;t4bBLOR?n48D>qIq>))yG0EAPKunuhc!(IJxF2ZtP+uOs6*omhRHCLL zqHeSQiB`B9TOvD=~rsAq1s@Y1W zErS;^jEfng$q3n^@V`{p@m8y{3avKj^v9J|ROz<^(&@bEGT|8$nq!%9=BE(JEoQ2u z^eatVRi$t6@cO1blAP5uD0X2+dkA3l$kS}gns{AAO{jJIbw#g--HEhRio42tqNDSi zOsyM;fRrnRLqc)^D^9D?Yy7cF1|u;{9&R323onXLbX40YGiQX~j}w_`y;6x<{INL` z5}Pv2ua@&(Y0c2GC#2az7~>QhZYnuqpumYwU_(pN^}A%+tFn8z+>srI=MvdeR%p(e zpOYYEOx0hAmW0|b)nU@wI%8!J4C;W3Q&mOVY-N&@`(~-T6g2y?-hk@fXk#hm4R(>g zHi%V7cz307P|n09#Z*9x7Vn}|`4rVCwM=fAFQMvZDM*>LmtALa7opwtQ;e47o?@66WA%)1x-J5D?E|Hfc}9e0IUa0g27L_^7_f5&SA^3r#K{HK+^R#i%g>Fr z#0T1_s1&c79hjCS1pyXc5tv8Yy_?%vWZK2?zeyXD}v)lBq7`o_vvtg z;2Q`-caKCXzC9NWG1&@0qiB)$aS9&cr_cCx!njzR0l1sus%=#rxmU)Eh)u6C z30+#(WWjMFHVQilsQHNh0GgPD7bgt9JlA0qka%sAD`P9VY*e6+=WGHJCQyc?TdLZf zAI^+4s}xozI}yZu)V<=AlnA^QTGCf)BWAvQt=ZHl1LYu-!< zEI2f=3ZuiR4%Z5J`Ct?$5O#jj6{74*Z^H$~T@|-nAub)aukT_jVm1iVpP-6P~MxQ(@ zqDUY%s?{hxM3cRRY<<#h+p9}^rMLTHt~RbSs}6#sf}RxLy0}FiZWxa#EqQrxgn*zT zHjhsMFLf{pp*wl1tM*g>0Cp9}VsOp3E*B9O?NgMn78nuFW@$uP{09Zl+9wQcG2&9> z_o!cvBW>~_HhXw{>4NA8Etd|_RjTZxPrm?AM6Dm6hyI*2$*`!(iYp?ac@pG$E< zb(SKTii~v|hZh9R#}||k7OHnIg(|CsC&Y1vW8?;UjE>C{39QNuk|(DTk43UWP8p+) zxZ*9{5~_dC81{Y{tjZn^Lfkov!l=i61TN-U-|<>+k0h@v$)1}C zDLDI)h~d#&;dL`z*Uc3Ld@=R^0Jg_yZBFb{=x)e)uS;j|NVNw(#Y-j8bH>dEK3g3W z)KpACnlE+sVIU9y54dpzbgE+oDVC6N^Xx3&J8D*C%u&(tBEG#gk9sOF z9#!^H4ZKROBY<>T*B@N<`?u7evUj5cNwuy0CCl08RJF!d->Jgps6I5J35J;xiHLcG zR99Q6qVSPJh~z+3P(u?6&#PrhlFp)WFK6!8`L9v+Vj2T2X(pcO#-|uN8J9C|kjY9x z2{d_@&E=L%rJ~})M7H<>fH`0|hiWRCEiv^USbZdVDWl$xe3{!5R@j}nFx41lUCWs} zE56UJMMbLuPd~(bRj~$uDa3gXh6og^jwM`byo}Cpywpy5?APfr%Gv3cwXZ1WY}q-= zxn3ccbGDx9g2Bejwvadt5Zh}7!@+zP$<4Y=?-P+T%7iVtC88Tl! z)Na(Ux_>szL}4L@n@7x}n2uChtA_^3aaEzXQsA)?;JDVPIMGyDGm`1$mQ&H$JGF*p z)vV1Gq`H+igkpUcC=A0Unn@!YnMpGwv0O%+h=en3x5Zm?*}D$a4{1T(-@iTVnIt*NtiuMBcj)w8f~|#24zi~6x}waC{Md0_K4C%jEwBjuCWhA z3r-X)zG)o$7d)zzB4pLbM^=OX0F)c~Z;5fcD*7CYta;G0mUf%}0Bba1a)xe~MEbPY zV4L8=M?`PLaG6q22X}0*Xow9CsT}Z^Is^uxeJ80-LM$zWt{{+YwO3 z&BwJrs2gB7oJPp`*MED%5L@2;EP!^u#8JXd;WY>O_fd6Juxu zB;edksV)1Emo5v80Sb`;4~InM>x5E7Y#O+CF+y6~_J2Ru6NYzGMLez$wQ1piZ4gA8 zA|J4-w|m2h!%`dVs%`qj=1sa_DJ=*v?{N4{p?q!S#6cF;qNat>R-JGGaV9QN5O0-! z(qNMz{v(1(*Qs+R6F6v9W0#s7y6?AjJQvFVkpRp;NF0F1h+C& zB2MuwFbTHXK@qtxPVrL(!oVh|JfqcpOk+_kxU zOZwmlr$$j|DwGoPr%V?Ti3mtWm8y>Gw%u@wD&yM%jjKzk{C*fNHi)c&Gi|gQQ9nH} z97gUNT<-ha-+l{&AvP_QrD)!Yh$ZLq!8Viif)@>cHNkOM7PLuHJ9nyl>*au{%X7er zR7!oGoBePh0Y!wk>PdF#abwLqmW=8{FqGOiM!~-hyhP;ojTmoFo+hK+WmD2e#hk+( z9hS1(x^Xm^zVeM>(}{OK4JlRl)|+(vaqXN)rVZyu;2w!YSZ*2n9lfP%UHq1w6vvY_ zd$ZHI7YN7~=QAa3L9hlw%S7xFRNvv}i`<4=5h;^KLADLp6-L|GNL2g&?N@#9_(`%F z%@CGLmp3wpm>uN!8XImCzv2qjD8B{AW%i2G#nJx&N3MwFHggn5uWMY+CqK_ouNS zDk?1vMQO1rc+$A*4&SZoZb0nor(Kn`b5S16&u18r)dy!$jdHOBu}1MS1s6D%L}eD9Y5~c7azhL=fF$dvCTj;0s@N(ZPC z5Nj(cq+QgFOWAH$38ek0a#p8i;`Mei-0}u6A|5gbICfGX5+TTf0aZr$N>x+?qE~9; zs68=L{DqpbmYa5W$hunxlwH!M<`B>_nM~jGlq(YGmZ1%#Y?J|LR$hu?t3>Ne8Ipq& z)@nwT^l9WggOqi_nNFx?#Voa-q!XO0JoOkSpMC+DsdMONEVM2gh6rGEv&QwJC2^hl zYCp0X%iBXI$7v>@j%=2*k)^W78L-(IM+Nu8gYAVCIEhzz&^o7D;#|DeQrf*t$4+`9 zB>CSzX`HGbOQJ#i`J|B(X_UGaa75fYu+teSLa@?2wFeNU5KNJ#$d+HstBzXqUS~|~ z&uWO>KkX5zQIT@ZQ7MFvH%8`pk&AKeM8d^26U2GNu#BPwr4&W|Vg;Kn_ZfO7dT$+5 z58E@eCZu-!bJ5|i(D5x~*hyrAC&gviq#`zRk6o97yEUt!#8<*B5yqVrOFdapIj<~r zMu_%~&brmw4b3;0wG=a5DS?&2N5{1>e}O)7C=wnyxR_0vxF1$rZ0M$zF5-o~Mt5Y& zo`)@Jwq(pX-%_W!r#M0~#NswJN;Q~!xNSa`gMbxPTM)r%*KA{|3_P~Osx1OZdK;x+SyH6V&dl&B3<^kulitc+abG{RY%Laj#czAu;L?i3Bq2K z8tsZ?KJCPw3wKdWE1f%s{R?-Fip6KFkGB`~XMWUW5L2Xl;64uAt zaQUgZUGe@nX_an75O2KA>Zp`Uh`cb?AfS+;^6aH`-yfzG#~nphz#K)eZ0YZFBH}jP zf=Vybua4rlp`~&HHY;^b`fqOD_6iNWmRu^Bn}XmG7SF2QwE2yH(-0aK()2(AE~sCI z3y#S4ke4Z0&EPl!DauG+6#GMjaasVe?+O4_Yjb}0%LI`wPr! zjhz(Is+~t3hTzxe3K3#w!g>sGED{&?z-PXueH==V> z{+v6MkStc&;E@t_MK5%h07w<<+B;O0Ik~xTTpA}3&_u`LsrE||vgPGy1!=$Y!Y05M z7)0;XQ56&GP48cA?_Okg@Tu2R36o_HmR896puiE}t&a1Q=?tTT+jpUbl z@jg1wA>t+yyu8c6Ad!xXoHAR~P~H@+$+c;Vprdh_+G{az7Vaen%&Wit+Q<>*)RMd0gfR(ALY?#iv$-HR=nVe&;ngtc3+QXQ1c3_Oe#Y!X6S?iGZ z2)}ZN4Ad97P;eHN+O)@LcBJf|oV#FpNgUC9ofR*G47HRbY)mH86;2eU5E-rfKCYP@ zQXn>zs;^W;RZJRDxo>#eJ+J!#_DAf;==YiAxg3fNGaK=+KBbx_DnF&>vlWSLyAYGy zR*lr)f^ftttGX%UM)tMrqndkQ`dM>UgK6C5xnoVS0LzmJfUAv5VBw|Ei0h~otE!w@ zA}a1?D5{B7#4X^yRdctquVXzT(Tt0sJ)d;OPwG%ook4_{1jnR&Q|!P;KM@k+;X>m) z4Hy}vIS+=2gG9$a`Yrn|y{>(#^S^G5QI@PsEV6SR%#33>(BhnV#8X6FxNz|1ErL>r zt`#Vuij*`$Q?z7fka`o9rM~SaU^$d<30S;=~*9{ECLE zh7_%eSi&=Dq-iMKdya3;(-52IDct3^)ctB>5fZm8*C9S;i?_jXY*lcTJ)NjqeDUoR zG^G{Xd5vvqNs8NiPExkw*?Io|0G1iFM-e!O%hQ+N#;naD7TZWxf?eyb#8VfEL|iHl zUAb^vb_JqDgyUj6d#O?{&iF1OHa*2p1;cD=Bok7p4}zi~``>;bf(UUf?(NOq>*s># zN+R(Wn&$*|^6|lK8{&I2FcYYBPE^Ahk7z`cTTX(z@{hc@iX`J{%9rlFIdLhMU<-GN zAgb>PkB18&lPaKr?7=@0wuQJcAVG_ zHYaOjL_%q{-PQWyZgCnG@LpEzQYG7NTngssM z7}Th^n_(VWszqr@8e}N;#gyW4!hpi;Fd0k@jZI`LVfPetFn9Ict;2OudL( zuYNViiGvK$5f_vZ4z)Te(ukh&eP8X51D)oXhc`2%ZUh!*b{&`~34_g&w#Tv(aaAoK zUuHyuRM^!k(;PbMHtEQu?9Z85mqoQdBkR^t$(q2^f7%SoH!5j&?fer&>+-^8D zsONDOqrY8e*tgPelatdWt{sxU>^5fn^EKy}fMa zo>(BQAxT~bbL&+2nAgoDVkzJ5@L#5bA8EK4$*-m#Mj9vVViPU77wnLcc8GW=Yg#H)(wlkU<}_;f5ShxmQ0PWNWzq;~ zR3j5mgMXYEbz!31Q?Yic`p;gx_}rOmPIB&7(_Mbf64gfk07gxtSVo*}6_|yDld{?> zhyMUv%*X6)PMFeElBop0kHl)V;V*B%;`LEwMYhF6fe?J#4&0mF zTW<6E;JEBTKo>2yr&0J|SR`C96ixOb>4%tBBaNeA9?*meh?ehe9l%0u1;Rw?pAGRh zF2oUJoG)=zJo~AJ;sBBpVxqLKd%J?*kfhzpTlae46C&!|Wn!k)Ri$uToVuRXCli+B z-51EW^THAXge(h&h$~K1+X^h>Fbmw*UbU}#-Yh}fu5IzSXg5;7Og72pD2k0-B~#j{ zR(HM&h*mRjk(ZUkUO$z@vXGpF(gTE*PrDVNCXv#Y4ar$R@tsjq^{8@qi2+GL5fFiU zCtL5ytx@Vikbv;RLMAD2;?!qinwglk)%fwZN4EkY_@Sv4S>6=k5C4kIX4&#sCJLaf!@27QKRy_pKDf~xw!1@QOv%}|FlAh>QLjYImKlX{ z$bJhzoN!e|Ra)+W<&G{grffAw*%ou~l$@)@zua)tvG6TUBS)%mP|hmcS9EUA{rI=# z$i`hK6o9DgS*n-4TgRvTxajKn?sm>GGIG@SjTIN6lxU7jT+6GOXDqW0hO;Tu6gmx_ zClK0yJa#XpUL>ael5FbRY_=&Wl}cd{iC3aR@xT87qZ!HGqBKi%+MS=WVl^z#yqpli zAsd{eChH=IB78nHSuHKyeT{0n^kp%D_O(~(ZLcB&%UiNo9D%DCZFd&clu z996CQcOsAUu<6961R@k+CQ?{ryzUN2cjFIb{i8)(eHnzxD*Wy)a50XG#X3$aWx88h zQ7Pfm5jT1J3*>PxZMb-R#p#mlx2J~|kue!+OEsK&x*=Qx5gi5`N_3)nofmqg6VDtA z=v16Z^^eo}p0!GjabvR%a-RiaS#h$gR8t{D9&}U)zke88&Nu2E_Yw93wH)1m))>+^ ziL}eQSD9n(3i~B>$S_6wm_NH4n?+=&mUM3^W!I9^fRjPPDEvWy5B<2=M9G~00O-pS zn>VXD_%22#x%zh$(A`w0=@^hj`0_Rw#I;sq4ISxzlf;BlxVe8JqL9*v%B$}^_@LJl zD3=~40|5~)%wCik9#>`Xap?@29u_7a#tGGzOVtFvj(#}VdZ(VUwv=`U*G*c_Gxp_@ zho`xP$0kOGqS&0r)kRi`cTq&!9H~i0tY_UH2$*E^GWPhh=9WwC)7gViCkZE%=ZJ}G zk42<3H|eM|g>ETVYNORQ&_8^^cSWT)#@S?Cakiahl`u5qCTOBas7tXYRHc5H^c)V; zp|l~^P?wIL^p2TZ2`oPyN=>*cTb{Xgrs>Ux7g!(>6keJ>}a1n|rJ{j4B=K1y`-VKRg085f>4~xqs&W089;zJVHPSBv)DQ z-FJtd^Tn4uYDPuVSQcj){{S+=OWBDb6IjHGoI>sVTHjZw2bPzcox*@ZXRMB zbrD?U7aVYGU6i@2TtaXO?qNhN(LT>km@W+gToJ2{?YG-f`~EmpFl9(c?yCO)n!lRi z=C-17)W&Bq3Yw)S-4@Or2vft==Bl;-0F*J3BtnW>hMxiZKMZlGNoJp~$a=nP z3h7y5@O?ZLvC6eVX7xZJ%JbNj2d;?^|nP@$~ip}sru=&>(ZN1 zw&^|c zJJZK?Tn|)ivZC7=K7JY%;(?Wmj<$+O%Pt}*sv@caD(sc%znyWUbrVoCcBcqPr`d5} zp`oG`#erolF?AA_9d}g?{F1*+e0{5l>S-u`>z_vhO;?@KX304dA;eCM^Sn-KmqWOm zHzK64knt~-7rAT1*dlyu^v2Q2dR^%DmXk4)9LKNF#s^bz$#j||SyVAw+Y6JO6%kW^ zub)+&bryZtz{p{AchQ5HvrJ6_{+YQfR@*}2>DmbX((P$kP zk1DyEH0tb(o3jUH9EqnI%a^rYUFlrx+nE0VK*qB)hn7Y$87L^%T3g!#H=HyCyit3L z^v2}v$=NToFKYhOxsS9DXH8t}^*)y7=t+COqhhoF00uH1C8#FYh-nA`z;U!TRY10? z9^jP5eP;44Lv-IAn)^3)-;`=Dp62~r(rlRrCCGC`k5S5bjVEUsUZ&(I0EZ2WY~v}_ zO?S6t-y8aL$7vZ(b(~FJ?Aw^5<*!A&p)!!>NnNkEd8j$TiQubsL);Z>@m}^Yle~=* zvNXP(>2|wkPf4sMw`N|>Im$tlls1RJaa3AC;yk%}}hWJS>}PioF#Mi&3XsB<}r$%Yn)>7*};C(|-Z3 zQt2FY%Pr*XDF|QEFzk}>qdjsx_gZna_Kg|?u-2o37vHsQT5u2iBsvYLa-P(=&s{Ul zmu5+1zIBvhU4ov?C6NrmMw9ahVpM7*!5ei&T6Glw)l!RG5n8wE9JEOK!`hN(EIiq( z@3TIGZXyd!7=Sj()V-vMh>X2ddZJT@zwM?vS{5CNT)n6^*O7+M6Xc2hn6$`eHTor> ztJw-wm{Fk>oJ2huq@MD)>A0)^0A4Uy*k)$_lg(6}w%QNqY@ZJfuM+oehBE2?Y)qL^ z;%L6Zd6G9)JuW?=bCgM&jLNg@T$&$>M4;1faPr7iK}G4#$@JQ*i>IaAJi_FkKyG-9 zh=n&@%(DnV1}KQ8vAKvGqEviFz8@TAQ8w+}^9gBB-Qds9?E5qv4D1|)kgH}3ybEu* zP5~XttK@z?L!#r&lC^4Wm2+$+X36szvok0MTz(zNghS07E2tYQVA&-Xsv@mv_v7YK zeN*dG{{RQi$sSsp_e*^vI{yG8&d_k+K-)TY3^9zNXtIqgGv|XsJY1 zMXy|UCWQ8!(caN)L__I*W_luH0KmjX$>tE`%w!TRyQ(h4m+g2eqT{@DcW*k9cxwD# z545~bla0b99MLo40VLvFc73jwD({6S8vzm{x9Rs|x~HM?k{gJFaSt&HsPyv0;sT0q z*P#8c=ZA5nsSwd^E3Gc_TZaWgpu>?{UpywqVks$i9P9A#{&-#@BZ|FLecz4~m4QTJ zd4}1vRVa0^zS?6<`aruy&pR;oR?Iq;lqXQoS(+%BmB?I*X-tYO-S(1mxR_gRuYeXY9KMZs+shGR{tL)37FN|x`{D4gF8zbrK0=tEXsn+?W7MbPPg z#FGlPppiF3ru^7fvILBJWhtFEsnW@S!KuSO!;V@lmvy*D&=&h?y2h$g$vznI=IwaW z+?4Z-O|zR0L;^4Od1@3%*UOiY7v`ysB^h2*f6L^KO0*Z!PZp6$mihlp|^%{VlKXWBYXOwbHk6sfMwQ=qEjX8HFLs3oDIdp7z< z^|w?U%!`?hLlUu$`uwTCS5Nz<7}aRdaK$*NfK5?cs?`>~R~P){tNHsr2@Y({55=+u zrqmr#sBm6dQLyCu(R$;9vavo{hs{^D_?(<(9Z;*4b{2+akz`56Z4FHqna%C^Q_Bo9 zD2EwASe?memjWfJ@LYWi+8EnHi(;?yITV}q5=xahzZ^nl4bV?oi#x}D2%>VTV()RK zW>RssTX02~SA@U(;@l#?LHT1zYMh2inDqv3>}+G+v&0k#c3dG**a13HfQkHZ@iyx7 z3)k{z)7fj!HQn?q5SmjV1N|biIgB(2Dua;?#TuMBd96!e^ZWhWE?>xN9UV1hGgl&; z^;nJ+12Wj-iGDnJR`d=o!9}HON}=>Y$5@OM(e~u>viB|1tp5NM%g!^XGlCJTh}|gdfiQWyTdJ)rbJ^5tyH#o%^-N~ztCXc<**b~T z{DYXGa`aqaL_IMDSa+dd+cA zwn%X1;{Y z;%v4H*Avy)tD74mdR{#%GHIL9litnQE^83uXpXFOGE1C!Q(&oaQC6G$tBl)3Js`cL z^vZP^n=)^qibo3@H%0v+Fw-|-8G1L`6N;__H=3y#snu$#rQ_bla*k20O^=oRDwzu* z!B3(!f6m z?L(b(-a2N|vX0LfC4H*wL&J#|#T8PixcKcw#E!<=(H_wqin6Yf$h5Pwk7_KP0|zQ? zmI5X*MbwByZkIR;ti+;`?Q+$PNzbv8nbVq!nWve$9x_K3io^-WN1Rho z#*PX&s(?TjqEnH2ZCwxl01%!@&pLVNWXkdevV7h$8!b;{PUc4?ZE=ng5rK#|9U&E^ zi2ncy6<1`wtJ4`;?T%W;$LBybS*h+|WTPBnUjzUxv?b4KCDb&fXsVrQw_0NC{{R|w z62!_(>4PsQ#5WxVe9f;#Z@aRksHL&ZrRuQ?aDWWESsl~1Z;bhCR2YR<-e zEt$YgAW~&5k8Ua$laeAF(ZDbBCypJsri@8Qd%N9CMJ2KFnHunH^z=A(C~N-Ilv)m|niC45kZI4`xo91uItTUYPkiYP+X{n(ff$ z;31l-W)JA^?UkIg=QEC(&mTGDpD=|Xn~aHYRt_Lgl{jRzq8d>ZDd05Txbb>MHO_ez znIiJMx?>m;tjiS#FpHMV;tDhLWJ_$C{{VF&sy5TW2&MpuMMa{}l`-&ECqBq=?0J3q z{LXw~mlb~Fk0PTRmFGWI7;tVH8n1(5T%v}zs_#|t>5a*&{k^Apx!KcAbP2bfg=Rp) zw>WwY=Lgof4yZzL6<2f?xs^Ir#qh_ZgFn`RH9sp ziob?CFGg`4WjWD*r&a1_%-S@Pl9`a@j?h{=nxGOgOQ;gEu@wwla@Az6qPA4o4x`ew zru`QgD_NpR64$IlPvz#-QiL%LsJXVw*By=x)QXf{(>{AzZmmjeXB?vt@=IZJY^~Rg zRXABDls$zh=*;skgW!_6;{nRUyeII2c;G1JeY-> z+`JLiaorcg)!xIrzW3tHs#)51K__s^aJr`f1~pW+Yz{&6O6;UGR8;9g@WuLNsW}!` z0#mrm*935=v{;B!D3+?86=+R1$8W)HJT^1(rSN}4sbcnKBMAKLekF>%%{+%P7ZL^58ZM-6 zyX;4Ao4D5#ER4K#sLQ620~iGK7=s<`W$Zoc}b-ScPI*_8KPPX7R*NM?}mQ`l(~6R)eU zwO1kG$t-+tu}y2?S1U#T0LfoGX1OLyBPnZ{iVgrkh8dZ12~fS8K}Q$QbFEk4IQY19 z?0p)`QjTZ)P>4X$X zL;$-F!@bMl+*&f~sr3gpMFmx*6+PTH7oNcMiPT+-yDz4?faI+moJ?f7j%6_y+?x}I z^2lZIz)KQlWJ;=u#zaL`=W!cF*%ecF_R7zC9iebi+@CMX6AaujkVz7bW(l*v{K!E` zw2Y2^?%~?BN-a^fpaLc)b9stUSx#5fF4P)dnc|*@nR+|4#i@JDaUdSZ^SJ4J!YD)q zTsUVGj2*ESs;1I{swz_(W3pdw4At4!Hbc)e?>JAh21|!gSeY#0#Qh~EWyQ1ExGP6N zH{?a(IpounR94L)q>?_8N^@{)hFO(%vCeucAk1qZh=qidIROy(r0s{SHr*!6iNr?D z=6GOrL^p{Rwqtwhc74m44=2BUWnqO1981{CIhyc#oX(pGpZU}np(<@88S;b%f06viJDk}6u zGfMpNYs@~2{V0}0w=l|DRgmHWDb#HW1_m}>=+$;A!bUIy@u2O4C|t#JH(*KbP>ig) zT{w^;zBff=y-tXRZ5O~ea~2;<*6N@uoA2R`Rod%ZJ85z<;`b4&)9WqBgz zNvu@WGM-0)^%y7uE_H2)bR|aE3zmUhsL)mMLjc&;@U zWzN%an&TBThMq{-gjy_AGi-@k)IIc}s;z593NO#4G1>7L?xzzzIlJ=bwyTh?@}JY9r@?WVk7(UNh=pnv6eXz65sSyr`FtkIYi;6 zV)>stXN=ag%=v~nz%Ju%C5`<7D46+`+D|)2X1>-r!g%Dt;}}VcurU7b4VHa~2K^BP z7jK?A_ekWH9xJw2KAz21n=0gt(DqN9z-DBp{n-=iAU7(3EIQv})6D@>>xz2)t~r-m zWfM&AJBEaZdAY0$VlZf+ji;$Th@To;O8gTYMwM$)bbDWhpEK$x-dFB5G(74hIMHrA z={VzPDCP9&{@9WinDyquA?r|!bgwC4xTU9O(52dESw<=y=n!$3QfUkIu;RSEd_Sj_ zI;${tru_xjs%0MB#kTVeha!d!IJof{IIQuF6L3^!>Q~4Y#Bs{mSg$0jR!f|0y=>yw zq1IX~wRS1i*le>W44XBDc%b7S7s@si1k^p35872xR4c<&vZu1_wWc@gy78oN?*ngU zm~uLzAn=U3p_MzS(FJSe@~LC(?2WUAr-f8;F3o!1f-|eLtJR-dNonjnQC+1pm}F%( zl+Gh&mLi*Q@Gy57q8%ugC<1u(H0ZeIp4r`|WICZNmudRtFqK2V#H@31F>#H=#JYqk z30B%$8wE|$t|=;7w4&DNvPYrANwsTDq}q*_ zHH$M#8lJ(7V^aB~t`;boLn1^)Q82G}!_OMGRXrP>nejZ78PgpAC2`XX5j={AC92;hdKzmejL?5*homJD0j8?;7W&Wympdh^jaBT;3u#zBgj-l~VSct^6OcE(Ahx_#Q8 zAUf1uvg-WXEX;^Ft;$&SE-|6nO*m#Ct(X`UY~0sss#2Kydn!~mhArXaE#5oXmLKLZ}PkZ2WO4E&5%23eHvm?U`*;Y;>Jnv_i+b-ORw&W6orrum^ zYlor?irxZUO~_NczrBToaZqhOZ^WwaG?mI^W~*y#o$J4|r`H;jwx(k#Zj``CC2?r4 zO{Xlht+*zcO>3a@VUg-YiYhqR0d6U}JSc*V ziKwEdUHYnT=Z>z2p39;F86u1T)~%@1ze~J-%f32h2OZ=swfFEo)l539(Qt`j$Kes= zK!z*Uu55?{@$>P;t|=TP3!eu-xe&e5rUBcSt-Fm^Gtg> z8LBpJKHP;e%=vynq}gED^@*fYlM;F8lx3k|flw7SRp_Mpb+2<6kjx|U#z=yYlg&7g zaO}40()hNbM3fLw6)06&b?J|lwIr%yWc!byfsR@!7W}FGpv_sDK4JPQ8RdtGSVe>5 zw$+TMBDR+*SCMP;Ty8kYli6=5H61J;S7;#`hi)=#+IpK#E0p%C+N~1x-F#7T#KT1^ zqmf!pMg^UxOF5awNCsZ;Ktac-KMxsmB{7Yvs=DeaEv*6y@Y<@?5{bH+$whG#VV2gSl^r~0Ul=T7*UdwaHR$wLE1L4QOz{8PT^h1MsqL2Rov%Z^!Q;^cd z?j|`fR@B9xX*~kb8N)K@?E52T7F;=gna-YS76v3ay>-;Rlv@7)(j`|M3uIul6c~aHkNk{HEEu%d8oIpKjkDRkYC+P{5Rfv$Wb# z5VA?OR>>K%B_*+tDHkG+2Ro4QDSR=fk0-QmebgHY?}$U-YaZL3qIIjY%hE~qSjd?# zI%zy1L(B7XagR9s?j6{IL2Su3Xj^ayIm)Yfhb^miIj7U}sW90i(G@ev&CGvE%JVjA zl;!AX=bkI$U`_Ivf+;TKp03MuPa1v7Zs?n6esZC5T!IdK^vUEnct}SaVWAYb3%f)G zQSeQxYU9b6@|IhPlB|3qMH)<+doo){#ZrOOWlH&`CDmpvY7C1vmcdRNetSGnCK?4U zAyk9A)h+pLx5F0v;X2On-0^aWjJ^gkCEf#(Et6_)R_>k~5-KOp%N%!2PIqLz3&g)Y zLCvC|C4ZtGh*)R&Ar%lU`yo>Ml=d^JTa)m^|^5?l=goD+nrsdyg8WR-JI2 zlQZ+0d79$06Io_&I6;DV0$(JB7h+#Z3Vy9CvLzKxi(*%7eQXvnIn%E#a(kmU?_Fb;(eb7ixzw&$V(_C1r+Xnt7b0 zNXxB@vdE0eF_3X8lu9^?SE8y`wr^Cgnq!{aoH-jCGLBY3UpU8~BCYNf#kwtf>HfZW z==jRgsV&_Pu}TUF+1~tqC%$npI1H}yO~eqoRYw~Vptz1DFZ^+DWmNQ{e58lOYI7~- zr!5v9H5R`fRQz$mf;lM02!&b_qSZ0#l@lbSQ4suK1XWhs>rd&|8cTo~)?15!WSNYG zL@Vt>yPt0ky*tW_{`k3SEbd_ur{N%WAp#l>cq$O|N}XZI?^N-o$@Iqy{{XOb-oRNiUM!d-~ya`FNOv#AohZ;cQ5;kqa?L}2I@24*y zbf+amsaSgn#I%m$Vot*U~-8>Lg6=`^5lOHz$N_~Ay zuYvc+PI6Qpmg$s(PhjF)ifThHY5};2gs{(sltW&$`eQ+MoAhL5{@0qpJJqby+QMC@ z?Yl05ltIhSDMn5RxM@cmQ)TARP?PJ=@W+&FouNkyj-7l$(ciaAyYfe@?VJUA_z2OW z^EGb8!CRTIyC3#phwRgkX88vh=exV2KIDN!D!N|qSlqA zSG|low|`@;O6^%T$Wm<=o@F^RQV5vnxcP=~ofNJW6q{p)h-%w}s;biazB|!3#o_Uk z7TEHv+r7H}+i)<%(5(%PYDK*X#pR$Z4);rOjV z%g)OqnsKze-ZkQ-4{JIqh?G<`UPVs5uAbM#!8Zz)_AjB)>TK#g ze4#x(=1}gjX1w8=m$L(zMgf1bIg$9odQz_}P>ay;Fs>>#qNw5U;Mz286gka8yva@X zroN5sMAmGo&Ti8D$uf;*EdRHi)u&=vY}*sI(O&wZ^rvxajp^C{06Wh0KU?PW5P7za zJ%`)|;vPmA;KH`yhdR|0*#fTqCcP?!kC|F2LADfDS)*oZ_NuOjM}!7tjFU#a5YV{P zJf2|O$*?3qR7X|1@auB-yqD{k>VIfGA?**WI)|w}nYu z4-oZ_JV4m0AO}^gLW+sw`#AaGF_^^1I_zwGQ;$SMRmUE1)Xl>!$d!Cns;gXmyna6q zkFuuy2G>8Kz{27Bo0~sT^&$O0)y%6lVliAcB+{4zh=)3vII!Wxs;5=rJZQfy{Bg15 zxkdIfFiU3)f$l6Lj$G1`SwuiyyC;`LOmV7J>nA7Pa%smbQZEwyGk|6;e>OK5cW+o$ z+cT^ifZZ0Ck2<*HOI`bog8TUO=Ca&Nt=bWi~ z2HR7OK+3I4*on+j3b^}C!h~9*5VFu-5K&bP$|;hmt;w^MsocdaN~cK^D9%|X4H=mcD~=m2z<~jx#6J$LwCjBE=G}(0Q9#Ep_R;J!8QH_p+mtjG z8&PIi+A39_opUZh&7$E|{Fuv-Z>(gv4Yfsl5h&}4MMjNii^?gBOj6YPp{4q99h3D# zQ}sG$>wFB#^t;txgkX)sZK-@aB;cY|OPm+Nsb@@D^}{H`>IA3$$})-idE8 zN}+Cs%kM)v+wHl1s+ZoN>LJsNfZ{D`fs86W2NRRKFm`h7Bd4$$vDtf2G{zC#I?h>o zG9nqrCXL23mZnd_3l6}Q2plF14I30ol@=M3RN@S&>9GLOi+n@kZ!_7NatLv-l^s;(4C>QhgId#j>9&`zvlh`6amka<^ zYUrEjd_jmPn8-l&sFzoSXsB268YQV)ejEJpMgn+X5Y0q^kh=QuMdP!UqO=c(PnOuv zLpJq1I>nXqR!_~0!A~SHlJ{nCY|SCPd6H<|hjlJ!)AkewsJO^rbB0!$hPxixQNx!BM%_=xslXL9M$KM5ZWkr45t5>5la zNl{c(UC~qRSIKCpMD)FwGZK(Sew01|DT9L$=`E;>UWN*kug7eBsMoJW<%b)09+TDK ztH(W0nQe}hWPH&MGAaIB%dySGuM>e2EroxJUiv2@ntXcuy>asOT5b8;%JdHn6~`+M z!tm9N%CsK}d3-64ud=FDshc*x1E}S1sP^ zV3z?IgtS{2ryhfOO`}0eZsi))Q9gyY*B%W+X~fNt?h0Oxv?v_vOVxJY=lJ7~81D%y z8J3*84&1Sr7a&)JV5n}9RBfdV58$X?J_(F+Tc`4q5C@tAS|-Fj@2)k&)6FIqlr%-a zvP6-hpu&o$OKrvf059o#S%Og9-Y#Pj=@FRK$IVozR@H0cKt%rlDr0(-u8kv7+pCHC zFUzqK+{G@1of{~N8wT7@4a7rM(Z+$w9VncLwkoHNEPBVNdJCiSxiMJx-Qq$a4Ki}MvsS@Qv9xdvUEX6(nGr1A+Yo*UL?b7|4I#4Nq5fwZY2 zDH5B8APu&PW~wNOjOpRkTB?M7BU-q=qKmKGVp`WNW*Y#EKy$xFvoGj*q%2v)$kq5r z`FsAe2Nv7yi8SkGl)a+|n>1avUFfK(j#<{m1)MaN~>5OgY4guhO2k~+sp>-Cs=HG5oN!J4yMG?O}NMA0In zv&p>7tz7*c^uA2hjke>2hG+n5L{eoaiglt_YmqUE2g7{6C^&D3niNC6gSs-w_#wiJ1?qk9`THK?AB)E=5CBTKR8{Dr*xZ z#Jo-;<z^{)}#IC0T^iRgw~698n0&6V3>{;V21F5f;_y-duec@k5Hyn~OV63I|VSQ)eG} zUj`_V6xc5?1VsBid@*LziJOx+Sjqg>a9kKLHeRW|K9s4hrNg-4xxB~PFG8k}XlwdaD$bcdQ?&MTHkLuQ5aW|( z5%DfSBaMQ-hV!v*0@fnCi)fVON+PN!Z04Me9h;683O;ob%hK4kjH6sL#CulRwoKWg~S&@a!mmProAP5mH}+?zCkLkUw5Wwz02-%{o95&6=07FDR^3E|cnGr-tV5V~TCt^WdmqtfL5h#G5@l=)0rrMgA)m16s z$xLx6t3=YX-m#~9cxrB9?3dUBQZ>6z7$0AdN)@?rN1{YA6mL4yX%y-v{pX2yJ(8={ zR~i%1W!jfqbz>pL>A=hK^kft>&*^kg!%4GRj|8mIxGDw(eoIE|7W5k+rAToP8W zQ&)>RXJ4}$otQLJP<8(RGD#z*??oI0xw&k@@T{$UzT!8%5pNlC@M+ug?~h;=(S{HeAwM81`t5%u!lf6$aU`k%28JckOZIO5W4T z-4Pbvi`8q4CKcT0pQmy05HijK&%~3DL=q}I3U%9wZBY}Vtvoz2#z{uPDbpfhka|~RK`u9Ivv3nLZitgM*6&{`lKy z+Yhffsw$!?A|2|T^-NsLQZ?Pne(>B(0J)W@$`HD z0Kq|!6)|!pEpFAK{IRz(zL3vHAW!mC!XgM}6DWy$kZ3Wj@Tw&3{6*?Kj`?GmDOn#X z5X@QJ?8~Xmt0H45{_tu5Lmnz5skeuR#}y#EI_f;Qn{c0#A;c|>{{Vgk>Z%oAFP<`W zVIzMaui4;aL!nu&1|eJ~r7ax@RmNrlRyv#4Zv{bIc_uxbbM9%6ZaNZcCump!MJTC- z4!p}m<=uAv7{)V=?lrTkFVpcU&Ga`>mKd34aV2S}f<~4Vxq_O#X4|d1C437PxIHD# zjEJGcKqaY5ePukqKYlq>D?%j815xuTxu&_1#o>%xxD>+sUW!5Sr$ya1Gk~BMX4Pt!L)crxu`rofvqgypk zJw-&$bHw5zcRZD|3PUW6dFP9WX=>4?(Gfr@m!}0c_pzjZ% zO^2YcYUZH39}x1dsmo%W0^!?ot7zIU{{ZdA)zNgAGpUof>26>3oJYCuRM*Y5(?g_dN1txW6h`dxYpbUIh-#iVn99wUmgyf(dl+XpoU`chkmM*? z99cYpFGz=llrd?gBPBXjIw0=L|yqP zsb0JETw$}F<1bmr#zx6{jI%EWW1m60D|Y~KmSN}c!$JZE@6hWw(wlMD9 zN^kD3*{6;^Mh|+G&UPtfnUO&p984o`vJmbnDiZM%aYgX?{ITqg~mm4({AXP*rlWUX9A07Vy;^ddEOVX~-dPA3`5fBn~%55A&3d%Cg@a@4i(|zUe zed17}?sctt z^rkSCHss=5(Sz$QY7EUffnkJ*R$!o81oePKG9u?CT5azp{{RZp6GI*q)Hp^7vN7Si zZ@ehHGT(f1RX;QdZ{_blP(Se0tTfZneJ^AfY*rsPPnupDS$FrKJ^noS-`Uqrv^TSV zXoKx7BGDZ{pJ$x>+wc*yOs3>Sa1f^f5w}=ZQXQR{Z2-_geVWx(Rcq5Rk(6=uX;OZY zv;P43M?N!zV5HfFj+*v;l4ZST^o8W8eCo{VW0q%(&m|d=@$8b4F+tPxYKGZpswb0N)N|$$A)2- z<`Zcm#X=kcE3p6GEz=vzq+)$x#!*#W4lnQ&v zi4~Qi$e9?2A-$^53AV?r32L+iUV^yWs- zFzODSNHYXFm9zr=San4qnl^Dy@4)TP{j-f-iNclyi&a%p1>IGDAC53xchId8*X*2{Z>*UX zUzub>8pO-=W3H1Rku4*@)2K|S9Y7v+5{vJyFAcP@cuLW&LGP{{JzUj-whEnkE`H9%w%^;I=gs?}Dw`OB`5-KS<9 zzIEC@A5XJ1pm-9G#u=cWyVQvk1A?o@$GCEu2R({K>E|Md*TzA|O>&X-aux z9G^+MLo+M}^Cp?*ccCFcM~5_!N1qL7DOEQbRZl8(+a8NU4GL=T3xx;l37RP9+3WBLjD%-7DS@su7D_cAFpB^*b zq{C)NS0-?AD$DUqi>D6o5O9>jyo*&uL{n5s{QPlY$-vP{&6XK6cpOv!6H1cNIX=D^ z)}1b{HaL|QrGgdnjm||8>ZSVCE)#nw@BWqgVY7r+8g%&qm$9RM)4VE(DgANCOH(@+ zZ9R&IhtCimxa7PcmByQY^tIlsZQd7yo1)mLoBS({zpOgc{%g|=)sbYm7DXqOKuunb zSD;XWCMhBKw0D=Vi;)a&#kn4kJ+^$`RNpY;6-nPwGjJ z21m@2Ngi2=ZYDj}Oig7m$njovg#m3WPcC3onXZMHeDb`yQa65H`z=iQFM z@{L8wy_;l^IbvTX;l#Gk#0=pdxLW|IaMit&VO3h9_){DI04!%sMu(RA^j@3g=%8-W z;uc_f7z(`=E@4x0+L-y+EoiU4XD<`^jLaq4ouByF0>CuijWd~~PEI4yC>Cso3l|<`{n$eg+ZzO#J z>>(W{${IW;IERcxdx5)f&c9_F_mo9x*T);i6IJx(=Z+L}R5NY@(1s%Blz-+##u!)T zk)|i}S*^QpXY8>p?AJGlV=zHFuE$HE&>M&qy7=}gn=jcz{{WS7ooGXE!|3i__23rF zpj$N&MHCy7zCC*5bg!wE?2lff!Lu4NNJmK#3U3ZnT60@*)Bc=%KK}rV)^Iak&^kGj z#o2R?z~wp2V8TpWCokg0LZwj?evr%4;j-f@zKaQZC&k8cJgRf2qZtc6W(FxxQ5=1F zK$Wsv7K_z-cU5WA7~8sMn)1Yu=hKON52*xCshmQ-E||N$8ZZ@8Z@bk+D~zdBz2IWC zGszA>md`TkJp&LC5s)Y`5g*@4l_5178%C5rS^Cc%s1>3p;@<}l5{$7oVkP*8oPhP$ z!M4pmT&+tc+ekm^BwBL&3nwpd}9~f|4@GHxlt8ja3ec zrWEVOxazfIDPnOG{uciL#wXEnwKe@lNva*9_2GRa+Q*>L+5T%Z z$g+H=3pWg&@UiN^**63c2$gR0Lr2`G8rZx=$L13}<u4(dSOfYeis#F7nsYJhI2Q^kC-^d#*9Ah(Ww)eUltV>w1W37Dm^ z67`F(1;j-MSql@FeyF0Vfl5_R78&Pgd0b?sGAA#KP~i<4*en?e6@u>=+~nz7{y!RH zB=U-E%5omHy_g<19w3BbDf**t75gJWQ0~&Tr{lgn5Sr}|Jj~K|prT=-8+VG14~t}O z9XV3H0CxTu-A{7HJPVAYS*0;^Sj3H(vkWHd4F#%7U#lJ0mtW% z*KdXi%EegwAS%>6Ly>}{7Nvcm-lU&jhB@C>y&`%Gq&=tLJ27TBImyO2kjXR5Flf@t z&`_}u> zoBm|%8*lo$fwZlli z6BaP-T8_k;DS{(lM2WJgn(QdHt})qrGN#qVM+Tj8Piu%lwZA@-Gzr} zP+Qaqa3@Ylj6hkp#kBLrJ*xV*rkynVZM3$;_su^e zh{NG3Rh((l{Y=uXHWZ-hR5+K?mD{7Te`wywvAT1lJ)q=SvT)??R~Rz6d{MaKFw?}Y z8lv<~#=kscnO8BhEbJGWp+y>JgO=uL%#=}IQ+|~C7Ckp%;Va;9N|q&BS-5HPJojwk z=wh*sr3Zc9I{eY{FEB({K-h@fK#6t9;FwrBtP2t)R|p$)z=Ry?wMG8`6y92Hfc{M7OHcl@qAQ#i+BopL%Ts^i9{c9nNrQsO}6Ff@231_I$$ zzSu7xxpv2*GdpHD=`-1R*{OPzL;kYlD_|f5;tHZJ!{kbd273EtHkE%~$8S z{C;@Zx+5}?GnVFM5k7`uET#sC+s9$sU?ufk`_-m3hZIuuPe!0K#G6Y)^y$WN0mBQ9 zstZw1I&aq#E6*gb()L@7%F*qZax6qE=s@WwRkcH^?yJ5DyE5Xgk7JR!VX`hE#Q^V7 zd6Be!d*j0oDVEK%WRh2x<~NjNdjRA)Ghpswh_@oqYPg3c%2e{R>~^$viqkI6`3p^Q zPN9VDzteK~=*FTYvcrv5RlWmZurF0JqIpuQi>5-?F3r(%7NwaxT%_{`&7^$4Njl`c zB}$iq(Q(b5 zv?lwGC;tF!eP`)AvW{P7L)oqlSo~Y8xYD)=Y?=#>(YkF^R8^+b{hVxREWR12RY}^L zNHw98C~a5ycw^^bH)yZEXDbu=jLD>M^7Vli;G9dHcXHvPtx#` zYx_QU*=*;-$eov=b2wyZjKcJ`R>-#@g|!@uR6qnuxypc*LQ`FYQCGtoJ=l{N-PpM1 zcXG5=X~@$FWVRfU__tyhb`Hf5_5>@sEf>E{vGc#v(dhcsF55Gi?q|@fy_Y9>=1nS+ z$z-sT==6mMYQHgxiV!CUgpm&c!=q|ufQZ@NsZhoOsNZZ|iHh(Uff z75+1Cw|!L{U-2r6hKs)4dhN%AGR?9aGMP-aSsRvQE@sH-WE8?4cLN;B!i#PNthnb7 zh^N&~poW3)P11>r7GcWs!Ys<*W!Rn!Dn+=wH3Sh(d6-n`+eV2S&R&j$&&| z^K3~TWt%uWIXpZ#-VU#>qi!5C=5HX;wBnlBw4!ZGw3dJEkLbkhS(|d6mg+Q$PZ=*5 zsaj0EoMX`J91}cNf+f~{VWyl|s)C;l6+>zu4mfh56#oFLLzf!4qK@9}RW*q0=jha# zc81g};U<>q#-hq{`OEWuY@Q5s?=V9|Bs5$^BXNzwHtKMdww!H~Qw|zfrecbV@jo%l zW254R1=ib!D3>+Y4^+f5q^y$7PFv}*pboN*=4(dLq@-tq{x|n${G*5F1HYWUZ zy`S#mwaSqLzWXPC@LX)*)M1JIr|Pq2I##3 zd@GJjmEdDZ?;0j;nkEr((HW8H({XPDh~usinTeH&S4~sJP`XoZjwrL5+*vasQ6_A> zM6Q%a>b;kWQ>t@Qe?7Y0iE+7`W@D!MkrecVBr^%LM;5PoyNsy{w5T;xzsN00Q*2?e z+Kn3v9B(r>a3aOjQim4owHEbLPc+}dbgzyYj)5g(Dacxf9$B1WVBERKA3!m3id6*~ zB7E(x{Wr$z$-1ozIARz|CFhA!ffVwftBYE6Paak2jd0SlB-i@YtT~D%ZlzpK5H>2jwM12_SL5);qRl#|JAgF_H1v2e78s+Oh}w#ZDe_gtPgxG<>81HP zki0_)5=wzpxNG^}A0InhL`P43A{pL9+)K(4S?!1fWK_A6jS9^v(R-_p8t4kBu~nqM zYVk*~bdf5QV4A+KpQ!r*JC`@R9e zs{&2`0O0ak8n#FUavW@0t!v=6C&L_0g(VHIr|p-*-&1~&I8?w!3x;T&m84QxgfC|; z4UmMy*=?D8g;a!4gaw&HkxGc4{hzwNG{(AqH#_#`*1W@=eHvP~muI=_PBiZ6d=u=F zB+1x`t7hsnaZMyW{2@ls9HmX<-7UF3$49n*mTfB2QQf@L*Y`HPe&gnCtY?tmVZE;J zf_;X_>}i=hMCNTIn?rW5MQ1+9Gfd7$F@+d-R((^|xCo6ZLe+&-y!p{qwd%OAdPEw| zuBF4C@yW)6?(2S`Sx}( z?3bM-BC3P^pN(sbH3Sv)a!V4u^XASp2sJ&5fLM$C*{Z!MqiQ&IQ+Zq|QVVt!gKz-_0_i;(0QY9j%Ds72M#EPyE z1qR={4%4d)qGkxYA*R@N&}&0?={$b}NFdGkRb7mkM4FK=fP-OLe93XP^m0)udrjMp zii;0z5c`P9G=wMZ2^D@l+-V*qaxHn{4p%3hI1rF<@Zb=_e#9t*s=ZY{7_?4voS!3Q z#%J?vxfv3?R0T#{5I1kR6P~nA>UB&@;#%Qj!p~_9R2K!2`QjHs6XsJN07slT_WAaw@TRzT$FE@5$kj{n~u!ct=XK+zQ>uQ3I zD_*wHEf?RXnryguJI4;JUMkM3x$Er(mvT&xLNhLDj_h-ovhYeJTu6Aqmr9?5fK;)T z%-&$C)rxhfbn1zZm7SmDGMUe9Z7h-gft*0R^wqeZ`^pTVl-fiyXu`EaMNqEWQySHm zn30qt=VE@1H2YR`cTaLOKAvZM`7M`4y23uJOfO}t2@;D{3p^KU*B2RnqiC*mgoqej zYmhi`DyGwt`TIan3#UB-L#+Z->l*P085`~Z6wH< z<45~C=FI9)bNt^qawZa5Ft0k=j|`z2H=O}cWKJS6wt-w!Lo=dyd8FLq1RjVaUJW7LU0Q(VHYKxLU* z&A25qh!TcmVb~VIK^EuPPGuD5`O^>AF4S5tm34Daa(v%2LT2 zTopmx6rXJty$Msnag$ma!;jx-^ViZj=|J>iF11d3I%@u#$l!AXzCz3d%TppULS|Pc z5Kgw){*K@YFzSF9-|b!Dp|aYd8YMBuxr14~1Ct|1A>$ySodZ{R%xF8U+KRPKP@95z z_)~s~iG*E=sJD$xtX-*n9~nm!q@(UW?06@olZkWHT_4>h%DK z)m=9_sUkN`*LrCG0BSGzdo?;*LE1mjXC07TY*7w2O){QN;NqP#qJ_*xvgneis{2OQ z!7GO0c2r|^b1rW%f5JUDi&iB%dl@2&Dm2t&EG~3m_DM)+p-7iS4Hs&tFJ73}9kMjD z&=sEao@prTYui2pC+3-ax*(gDW|%z16AdzX7Nf+8ikCWUB6A7@C z>bb&Gy|i1=QGR^-c67%%>PKrWch?;}ltWH3Y?4VMoy;fF*@Q8(4+%128VVTD4a9NI zBvdnipxCOVFI1w}5}>AQtan+oJvKS&ZJGTHy`CJ%dCw@jmYRT+!$v{NW6`OROa@fT zCqUt{&~|GwbXs6lxN=t85h_q_T5scv;=!vQuT1fjVDe^a zk>vc<+5;s?BC{fJWit7+Yf#aXc%^dGW*8iG73E#|K^1FmK1OP9Vjk6#A4-hQe>Cjx zpCY6YI=B%5ng=h$H!O>V39CkN2>SAHxIkv7eJll9`&7-yG z<06uctehv!wwaFp{b$+YN}>t0Enu% z`5W7_Ciai*$j(aEy*KP}svyecc&20Chs&n(P=+xtHjQz_YEB<+sILKu1*-vr|h|E3*6*6IFl0$)_`jZCKR#J>4VpOSAZ!YH_IfTS9a0Y?SLn zbJ=<;P_>UW!N}a4K|Kx;?>R7WSwwL`8$dQ01qTd}4J@LSaf|lCjE2nGCk-zskU=@? zD2_qKr|QJtO4Syr-A{#f$5oCBta?KXOIxm^Y5Q5*JhKlig*qwkC@$aHe4WoZzH=Xy z<#~TF=IHp?@XeDaftaNwW(kI$Cc&oGiM{4UMXK*w(2+5?H3DTgKE}D0U+N_iZ%UkK z3AV`H8~HW_s`MpIvFO#_@;v&Ev1iWw?=6@NK_W|HfZJWg$Y%vp=879*Y4$7awc0z; z@2E5FN$l+#1qm>m$e+vcD>#&T&=fpNYtD(b?U|#XimD22w|F>-Om9u-aOyqdUgoKW zV%Lo03p1HY*oB!q%sd0pjI#26kugFxTaD7$aIJD1Vv zkR?$athB-oQZX@dxR@qpFwxNv4o3yRQ$CDaf`>+O4TH{6z=;V} zM;0A8Jy)l3cIcGCt@&~l4eE&dX{XvpB#g=O*w52b*cWY8QI^eLVWmsfp3F+lh@Ked z4@{G~)u7&veMX&jZ`SwC6zOFP?YC<sy_)dmH3EbkQu}&R=6RN?>E7B@m$xJt=FCG!8uk>7vt! z(z{{Sik5DOwM3};CD&PIq1p8;{iw7UyGrW(qfIk*q)sL9nOUiJX@!c)V$?KxMMB0a z$icWk;`+P%0T&w)OT=khd|mYI>t3g3OD791_s=a== zDJ!CCOL*A%#&e(=Y1*4IWcdlVo%F&2VHE`{av{WX*P#*WvupiBYbu~&dZP29Epfi| zZ?ook?Fp$b%=-I_%^6x?P0e7EWhc4E)LY`BxyBn3p+uorrizEwwM=whXx$f( zc4N}X##5i)j9=%|!MB*t=gVGbqs zD_*sSNlPYY{X)xd=PQiU>AO<+teZb3Vc?@ZUC?D-1#ugH)!vF>U1Y$~c!q+jjZ>+; zwtGWQw1$0_nbl^-QKl3vr0~!Z>Q9W2gwrwKP?)tv6Il zF~AYe5wr><33_fL=hvnc^*GZnIWsOrXBda&Fp|}Xbs^kwxP^&o7+NGnR7E#c1H+|i zy%QU^(dpT@Ogls8JntjbXPj;M7GFuMD-X{907EoRjB^Y)F2pNNS!-^o+N16+>5HWd z)3FTgEh+RVXijgFGZUM#E^clv8gk4e&RdrANK6TcM|ftA+>pqKX5SKsz6cAx=$?$> z=x6Nz0H&`XV^QP8gGL|%1F zDvdngy)31VvIk@T07Cx&Yl+UJOXV4FTe36`K$wIAPjmL5OJM>zm)s`dkbz(u;KVqr zMBNUxup33Z)}WVe!XAy!MptZp)LPe-WU~zAIMWQ1JBF6!S+u(~3>&d9%48n0>#oCl zZ&+5`R_p*kKw9+@Twy~qiA(hx2eA*K2hshkx-ku&b!$6jD0t|3)c#Kq5XNp82d;sf zM8dM5+QOJ1db4fSRZ&#cS7cga)!LKLZP+6yNu&YU)+1Q6QOx6(7HH%SV1bQUGiJ@~ zzN`>2dbp^lh^_*8tTv$6ydK7&gT2DEZx2CygS91ieV%voD;4`$mTZ42g zv85A)6*X}T)d+ST0iyLBOmG)hDN6D=vnBRfoa)YTiPp^RHiwu%!@;6U;aQpbn~alW zU#xhc-!w|xcY+S|O8Db(>b7Kr%+vijj_kLQpfcWO<25FY%lT$blL?g4CBz0HA{&`J zrmloTib>oDFEBMTPH^f}@Uq28#XTbyb{f%mY%Emu;B`l0EoGH4*hf>lCw73=Y^#(w zbKsl=MED|KnMO_pfb50Rn<(0 ztgF((jNd!acl94J zXNWeW&{Ev9I7xg<@tkyit~&n!BDS_IRZSHUNo$Oy1mvkG@zaTQF*!GlU+FdNovXf) z{HG+&`P)+`Gf5to$l6GWL_DRHfM#!AT&k+L1omO2F_|V$ zG}B_7Js!(w#Kp|P3L@-!h>9FQTkP9KF)D@U)fXD=ic`bTrADlGl%4hMQERy4){>m1 zDpK8iJU;GPGQNT9r)X_LmgHR}lZI!Uw(7>FPnNjh%~=)MAN7784~A`nMvKJV7i6l@ zcaEpda$Za9>okxz3lhd;l`AmL!%U2zUl&#-u!(8bUIbJyP9mih6%{;o#KC7!Hgx)m za-{t&d<_enb8J>ammK1G3o`~9Q3ZIRp0sOPD(s16Dz#c;GSF>3nCo`3WxXz0>(CHW zIF~(gIgke*X@=WZ6(QSo#@bhn0)fOZ3aV9UwmxkL#-*F}A1|x3iLU!cX>Pj0>x}P7 z;4)0&TQ892XCS5NI<=^vX&n$@_}G+RS8WZmLsdjT_KQVYV)Z)HOxK|^w8;92n6mIY z5e*9;2;{Cj-h(DyZh(!w!vrd;MyP<4*>@~`dh4pd$}#To9a>H~W7?IBA6PYbH1Y-t zH!Q@*;+4;E~W^jKh#b$^{;#)@8YC2a8QCyr{Y#1TRf3UyQ$Xtbs<{?ZW7GZQ3|GCW6KR~->-yeUN8ez?A}+oH*)V_Hh` zux3fi0}+^5f)n;?Bo7uOPs$(fV?U>Xe6`0k>V_xqA_c95(@gX3BH_0D5sZMO02^9-2!hJD)ETRrPXwvdH=IAEA>U z?8Hu`%O=p7Pc2R-O9==1ay^9zQWwk-4VZUMGk^hd-mEAhGu3v++Hy8g*?L!;=Gr@} zGCfh9!N5VeD9#xb$i`chOx$^rNQO=3#n)eiD0-uTL{)JXv_l+m9Qw#L>N#;)WR0)b z3s~dybFuGh{b21qn=`{YjjeD{Ic7%_E2Hy?yRp8!{B%RyjyRCWeyULiM7_0E(xzaE z^#lGJ-qU@PG^4Nom&8L$Yg2Xp6Xd3qKo0s3Zd)qGm0A2B&b!v7m4;}OL1*Ur8ksZjgwhvLH z3>dVThKnC8DsHn8@2)DJ~wpz74KS)k_7@_BS7Y|As*EJ70z5zNFg z;|a%qJN(OC+B~M$h#NDm6OG^MlN# zG$=`{k#R(l$jCKp8--T@n})CncqZICinMg`o_0U&uN#nk8QR;}dKP^Vk>jUv(z*18 ze<6o@4rcbpcPAeRkcoI4tNcT-%+~h-0=1?%(vMW-9?Zz7 zRJ>HXQadvy`ax$|=g|Y5G+eVJo#@5MNcNd9LTq6m=JI73!Fpk+U?FwxToeM|H- z#ojdy1;Iq&Ji{*ERRp7Lp7sJRs!c;NOVY|v*IfqAns%9oC|?;iXD&_&g`G1meYjbW zAb=z68j68}sihE(s+3gORTE3S3gaX#z0_Bl)$Ub%em@LDmU~FXNv6+cRGCDv5giEI ziF5GEfGU-^gpkK?K3|?XSFw}QNmiojjAnR`vKnKiv#7sO5#toaQ5$(7>Vl{>O7p5w zEcjz;Pb9828?)%=p%b+3T+O|T7b5BqGbfp4Nyq5;c!*dx9cCg6h3uQXpm9lAQY5LZ z^l*1y4J+yU)cN*E*F87Sno+D7iI|Cmwl$@ZxYN*(kj*g`%gwxi=mD9!>J8|kfB07D zyHg)RQ;e{=4DvWs&TAb5)Qqzg+4nQSN#GzNf3^^gKsehl%>(buoQHkJmFn!{h^(Mc+f_mqL&Ww&ziOxj zQyQZpW*LTX?XQugWEsVo+>Ih3-H2_t$7JxVD+G$3uHzoBVcg2z+nYF>s-8ZIl(NBG z&YqE!u5>r5qI_QjW?TzX8Q4AdmG^pj2is6bc0*nPxPY4%Ol%?T5{plzTy2&k%+ z#)p7Mukt$mhgR$S%4f}=o@O#y-`Du)>QqOLlo z$HPG>*Kb#I?rkheQjI8g9a4UTp2N8tO{Tholr?`+CC4h3#LOU>lxFB7g@{0gaq2jp zsqF#F5fv-CDyG=QWIAvI-QPJh6(>J^s_CI}2zi>Q`xnqLt+Q&c&OT~pjAUq$2aMZVBJH~Ufj7SLUq1Z zmL-vMw-#$GpXoewbQ{7c82mkkacw%#_bX#XKi518J9RiOEWaMWCe)_1mU77wMrp|;t6kb7-RN{E}M$mq4EHx`G>b%m`2mdYfLLqugb1BjX=rRlc>;EE!|dDhx00xIxZ zswEL@3N3N7QBulVo@hmw*K5fJe4KWK%u`vUy{L$2__pE(Dh??gVb+$2E;eOFAW%x8 z(RNW(t}P4+~!wWsaVt{kcG znAKX5jHAm&{f2qlFGO?1vrFZjrGM?BX%z_!kT7z|bB^0|6ns?g+QYbodu<`gmaWl$ zT&qz^CN&0|=Uq|Dg$FyzS-K(t8Irp?j&c?-p<)nrtj7ZZx$E5=HO z3sB#66~=?oJsZ@`YS3x4r%AG_^LW_#gCeZA5Zi7VB7&+~syEh%l&;?d-yB>NddD>X z0CPCCC2Jd((e>!aW3@hsYf8`aoL*MWSqm&p^L(;SExNAEp=HXAy~DJTr(0OI))`9m zP+id%9mDAB?5Pcv{SJkyIzyW@>pU@>A#)7hGQf;fam2vPTFa5jlK8f$f=dq$ZIUqV z*O)pA;usz^$(5BEW=Bl+rjOPsW=?i|l1P$D)Fi?VTFIjQ*w0}t? z)2_*y$J#em^L}%O)X-v8nlikNxMvPooMj0&2w9YLNth_V4Gj8GcxH|Zja2G_YMjb7 zI+~H1;+lTva|tZerA_ls=x6#HI_*i@FHGlp52kvTmvUqtW`||C*g1p{L8LlZp*dz0nfGs$7)hrZe{7 zATu0<-+wK-D*Ncut`sZWLQW~xz#c?OP&#b8QyeTzR%DP)U1A;rXEc+_o{+;y-iu|! ziB{q!5bklI**6>nP9lv}Q^|aMv8r-BvokrAWtwg?_=cqOsZ2!ChOc=UScGu_vsUi1 zs9+0qJh7%4mRVRJ?1`?k=d%8AmKIi%42}uBy3{-bEV4A82JBK`-BK#^xZ^Ikzx_?T zF?7s1uTkf^bnZ`j8eueH$OZ+dh=?SKexT@9$dVO3kP#>+vR}3?aN#cVPO~d_>|O>Z zmGZ`OfQEpLh{`d`WN~+4++I~^ZAy^%sIOJUt2C^9ds8WF$4y}6F^JjD3FT$h;%qcz zC^r)FB8eJ)`S@a`yv(Da>X9~688j>|Njbbq!U($(+!!0F4oZ|osE*2{CsZ#AQx^D% z+*VkN{V@{k-MIG54TuTE7ZMUJ0cgBIaJNKH1qH<^rwpdKyyjyp)9K^cw=~Q%Kj;-X z)?sewc0|-zC;A$QRW_{`Wkn8&gv}Z!pJrj|>}gD@TNsY3hZ@XeN-RfJs2qaYC92Uev!3nDpzMt1eU`IMWRHY%Da$hpGWVrSnM8h^Hoal@ z08Gr=;Z+q0R2Gy@MWQ8Xjbp7$Y9y_hY+iYqOe0x_WyWEOE^7R62X>%@=+U*M7J=X& zEJSLxQy@yJmg$+uJ3?hF?V&N6NLel_8et6VG{7cM(XBGR#`Ru)0;;OtL`6mY>}7ci zB+BKPDVb(oW@{tN%t8K|fuF%4H4^f12Z;&CWSd$75E7ySQmB0s6*raK)}Hb(!qOdi z&K|unn9PzoDdx;lGB!0#y=l0B^@mAG6-iFlDoa&b)qWmH4oK|49UQ?;*z(S_>`w52Zc4vnQkbx8|*7?QYc#R?YHxl#UPdOgnP;R>Ah5(f6MK z<%4k?05=pH;wi0*y%Lz^oo?*^0NF!JXR;FPt*APaonfOLb|QG>%52<*CJDfN6}5(W zArh+NYT_+hGy_CcPVOd_)ul~+{SG}!k(7>$%^k9Gl4*bTJ1k8ie@aG6js`w4=w?i# z3D`%QJ|mnq(ZvHc{h&13or-kci<`+kBbq-clCdk9>07bu4+xOx=c_~eO8`L)1iDt; z!yG!8`cLot9Ejs7#zr})UXjRIg!3#+^wUlmm$jE7V&)CE7z{JVb=Wh7ZGD?-umjIk z7pj=;wQ+QpdSkVVE5IxsUD8aUFZF=1+?K20Q|;SwN9pFd9Fd7 zWqgthP2eAwzYz;69x*iY2Fr>S*iMG4Uo@&>Kh&Il{{X>^wu_hP`2PTdPp@qKb(iN1 zt(_$Ko75t5jFG7Xz8)S40fB;T<GG3a1vQx~ZzyY-Ur>N+)b-hM2)=PF>XqJgE%; zY?~1|K3Xs_O*GMwqexugV)QztR1%ek)=uLg3>Q$8c{`nazo|x{{@eqs0 zm1T=eIA-9r90=mptH_aPm0yBW;nJ7}sQN;?RO;O3QJN-M-I-(AZZak^R?M~xfFPcE zjsd7EhH9(B9jjU{^-OIor0w_gCF2cS6{#ATJjyUx7ImqUXQdKomZRZit{oVMiD_aK z9Rxv2IExt(Q|i2Btx}Y-O39ftsu~7eD3vu21c=iOoD)aGL|u^yMOSV7aWL9An65q_ zLyW6Co(FP{RdB)8%6Vl`o`w1;kfjopsyF1njsy-*%FyWfL*#iNqwToU&BMbBTz1W~ zZpE}xv_oF0jU%+G-v0o80_&J2xi2hE;L=wgBZi6sxK8F!)x_pNp{mst5mhRlYv+uU zA?B>bkRZZel-?L9c3KA8WtPOYMY$82s+~S~(pz4%zW)Hhaj9flTZDVmk``wyf{QR{ zTe-+&1hp4rwzNb_^h{TpOeb^bf6?=Z7#E<-9s`H;r#*Gz87Q1l1b*3-5!&0>aJLl}Ht9i)bWAheF zfP+=pq!{{R}raMG_{wg?4n1WXd!HFEv^30RHe$=Z88=Kk0j+7D5? zLqN(Wv&ad2B(@$pUJc5`T86nBMQR)y2VAg`wQ$i@KpRS;0%IR0q8gk*W(hV|33P0| z*WZSSm%b}$I)IKZIn!_oC2LLg-EnZ*J!c=kfuw5K^JiEYrlrW2Ea&LV%QBX>t@^yS zDtZPG?Kb2|w1LWqhzl7JMDRxyDM}_R5gJ{Wp)#u(LAx@v z)qR{%RZ(cS{4u3HrImgC4Qk^2qE}{hmUT-tWDP(60JAAxUzs;2DO|!)>hVzm@o*y_ z2jUW_=Q68}BBHNKswY*)lS6Zi=d;wcBzjpSn85(Vddhy1Byhx*)Lx>gx(z9B#W10b zR2;4M@Dr_=$g;MyYJO3ON#0e?6Nw~iEluE9ep-!+j1w+nU&@+ns=-j(h1m%q?uvad@NP1%%NeW?n~iO)JAA-Hwxjh4lNIcwpCFP z5lbJMcl+=zHLPFt1Gdh+>b_xu&RUnPnet~cf^D|jdNOksv=Cw`i#O<;IfPhjsZ@Q$ z=xbXhQ|&D{({kfvIlSUcawAGoxcKN|Ax)7zlY!tqILfVR)g{Dza?Nu(UrD!Vmx0Iz zdrWFUs5GXGmUEl5BB+F(F)2#z@Yyk~J3#iC*7=`i`SzMYYOZXGhKQ6gDM)YAQSSrL zVocT=#C=;L87IE~2j-_cCzwpSSWgi%o5c3%t% zk3*;{oJ4Hij}3toIn?Y$3$cvmVaZZ5cOy(Pq_N3vT6$pv4G!`f?Laj7pBNhFR0MM6 zRX|!T%D(k+^f5JMMlrsms+t~*r>YW-G?)6GpR6pJ6xvozm=?HT>t>WtTZL;>uUudn zHKy8irx}12Q#d)>vlk(nM&qHHJ_}(G3bv{zDqTwa6C8E4YESh1f51j}W?3$Ei7u$k zbtE95;m&gm%o)mkSp}$e+D(ua)aSfwQx)>^$GSnCWVwD+%$%Sg4~9+>IWT3b#`g&J zsPyNi_~X{cLQXrsAMhy8cy-S5SRA_i$-KP=;kMjtOH7IbTvX#epou`O5k`sO@WzXf z${0x&nrDb7_)jW+jEHTNP~xKA;+mg=>;cl4=HV;T%-&wkWoOJ}TCbqeJw=+cHG$H7qhm?2h)2DeZ0ZT1ZVG)5 zt#QVykBv%Jx8Jxvus82~goK@mR7u_YGkE|I$qEDDnG z-l3|f-n$MoH*4AaOm4Ks%AGd`UoCB>;Mur^AJ8(UAl+6kbtz5}c{B)po|L?PDRxaN1!DAjt7kHzrdV zs|_^?9@-GLg4>J8X!4?NNS)2`oGZ|)RX?elbmb!m$eIroFx1(kieC(m%A~Hc`4lWify>4h^^cT zv{l}ib@7z0uP+~=S@M%3Wo(xPC~_M*IQOi?xcZbCHsnk&iMU3IdPFp*wKr5;T&J?# zI$`M}&@4EL%+-K3afkl^R$y$EKfNtKSz2w;Inx;R*jY6U-Xz9amlq|vH5m@v9CYe% zY_b$VC=+N(yxXs=DfhRnd~lI@cSFWC^pi}dkfjh@XOb61Hw@Frz8=e$r=N;rue`En&9g!RvX2Qo!Sbfw&fB*0 z@Jt7t7F5@`ekDo|&wigw7K0U_^$!vqvq1HMIxUDq=X1Tb3)3c?BUT6q1r=0y^*+8F zxK1GT2*g7euLQ_x?9i*r&{z53#5`r~1)~oOM3HV^=Zck>+lu`~GK&Im7@-~XMIr?9 z{{Z9n;IN=%L^hz&X>btlPo53p6_U4bg0|X%=$B4mLc)?PLIaJ)lButG!?xb?e@q%S zJ0g*&IN*a(32AJcGC{Y>mBN`Kyh5`Z6;S=1z@mSj=Za}xh$gHnaV#Tb#2m|Eq9-a) ze*T|41&D+=t6ZEo-MetxN(ocX4|yV!MRy{hTw9o#yz*^A;n{8}KHM@YION69KB^>? z-v!zgtitaBA`tkG+gkHHOGT#t0F5vlkC(P#4)kl(G_9gkxe+{ha9%*{JI=63Y@@uy zzV*r@@$S8NeEIQ z@*3|(_Eq_B<%s&LBnZQy!%9$v&i8m}`SQZmEkQd71Y!-Mh=Pi3-dmTwglO3tTSVLT zQGYbWX0o``u~{AwPB4WKQnt3<>0dqY!5F3l;gz9OPNiu5)$^_rym^&=V6jSsk1LLn zEl5m}QCH)=5}2V7+_m3gu+&DDwuw-;^21hE)K}0611)?SayCA1gc9#apnYyw65g13kNNM1y<$oaNAV)JcwR@ z`fIihx>w>X!oI{BGr(k=aj~x{L>+>PwN%-BRafuDzxx%GAw5lqDQK|7xbKB&lW+lp zBve`@-FeH;t~IBNsSC9G3XJS}6D!Lh$J7!wG{6>tbGLL~jd%Fqxs{-z83=bH-!Mf= z6OIX>r-E)9C(8|Dq?N2&tdA4fDh2lx!f_hdey-NVp#k_)hm2ll*~V8hi;Rhg&C?zv zasfEyiFHLiohT_xZ$}>KZ(Hx&3Zd$jX$03VNg0sI^)e->W}BmAjBX>$yKbA*mwM9} z#MiQzO(WJaXQ|Fay7H-;&qLl$ua5Uty)mUdr5H)iFQwo93yn)2ysz15th<=XZ!gTS zkx1Iy%Q5g*@Yb~gy7cL9U8{`ZA1-Puh-^KXWv-E zOly*sS(Qb4)uR}$RJl`nww*28uUt(U*m`Y0s3%PaDP$b`mh)`uI2&@cdTj9-i!ZI< zibzPCiX!)Fv|k)vT$${(w=yvS-v@y;Kb$G${$ofV8+z)sxRS#sn^m424*K5t%|qmhVZza&AJhN zs^B*e+m_TG3MS$pMa-WSUY$0_%}nAYVw$>74eK+!n{tL+J+|xD@%rJy8X|zwG!7`I zbf`No#TVm>zJYQ%5c6&eWGvBE-)NSXUH4Ch_$1-E!xrCUtm;kqrpZ;p%1|OA+qg+% zAko@YTNkY)N)q^rU@&doFBD5;j;bk;pLu?mP9)q#;lncH(FO*DtKDAe`14nMD%{B3 z4(;HSPNa5uFI~3V6JY^k9*A>-_39nPY?H^LSEupv#22BNhggWhO8}~TL`sg|(-we@ zlWw@JylocAOGK9HeSV)DBt&F9E#l-UqJ>pT9U zC66Vxs<>7a+xh-_VyuIKR7JN)`B?>3M$+U<1y{vsOj3F&!LV)Q6;$?q^)}g6df>7F ziY_I{Q74&*F$y4wCoos9&%+fQnYi7t7mcM(ScI*s`TqdhiCjhjinI)EF)>}++p7M~ z6r$X1zJMSpXD}tTR9}wt^Tk;RMTt~X1aK}CR9lfKN{iJ=aM$w*7&1rE8>K{kUO(3Z zK+sv3JF{XzL+^`bS2VvLp4dLVWnNpld)&17dE!Cp0gEzXj+KI^ONW=oufxL(%h3Z4 zEx6A{<0H6U5UdLYueDD_<|i17bsrQ^F!o3uAa9BhDqZ*o)!i z;es(S1n28eNO!cVTYOi~{V^$&QzM9ZyGg`sOOx51mnZSB^TLzQivrlhUvA;v<@5P- zU;r#pJU2Y2Vo1%)@PFP`8;u3f#mi6-YZ~;&XSWX))@SNgRICLc*zCIXL ziG|`3tSL}G#1l%AdF_XADJ#qoqm8iP@+zrwR+m$J5^!614dr=ERaVy1o{8sQhAA*b zHe6@~$Xa;BsJt?uT%S=&?S^gSE0m#c+LrNC!9LIDrY7JLjuda!833s4gLid$SN$-M z@yg>MJZ0{$>l1QcmsMY`8)LZ4$2`ltNNY@63ZtEE`d9G8ZZL(gCkT0xyvtD^hmBVX z56UnKCrB*;-h z=^0)Mt*+(FJN`!$Mmix1(jAEJw$(%x`CuCyW1Qj>zyPRUWDs`xuGp;1${&KT&NJ;i z2#q;toi_aW;oN9Kn;Bjt(}90c;-#g5#)OJ9Y2;XCB}4CAOY{5i(*>b?h!){kFI5(r z14@ApQQv>Z9(Nvwu&)tu2jX4Q%|$rMoYOf}rhRjth|L z<97Ozh|-8oCwVJ|kXSE3p*$bm#>Gp}TPu2faZI6aa80;HMI+}D=OeFQA1oq9ZeF&N z)K*$`E5j~RD%;?@(RS&GlCxxi$D(S5?zX+vPmUGBLyWX;p(&phiE$|@iq^GCc+{^eE$HR3_DQ?$r4R&i_7Z@ zq6xoIPmV3E0Id-ZYik%l?--W13#Ikj$I7?^4%rem+e}>6{cXGYs(IorSn*tDTP0<- z?G#RCN~2#7hTb^yuu%Z&lfhsTC0s8mcm6*N3EY-6Lh#up;s682>(MszRsOi9WG&iG z9~fQP1(YQk?}iCnXQ82u#)=`w2X1!ULa3)yr=2k5$lGwZ=^}lbt5yA3r`T737#H~q#iXfZZghW3LzPNwxPrOb;-ry2e z(Yu%Z(!Fs>1&VBwPF)WWiaiuC$ArggO3@nE=UQP#Ii6B%)GS*# zbwd){ubTMbR`YtIbyey(Ua#d@%qObm(CagAHTv%QWu??w_ z8dl=&@6zs+TvUjN2ZUKj8yOYk;IDZwGC6>zFs-ddSY{nixtDIM@k-(w@J_a5<4oQN zoWf;r?bU09MTq=-z2}pL;;9<*xY-bx{61gP3fxl>0ASl9YE)lng-UhUeEF~r)+!9> z;n_E#VN#6_?p{K)Ulc{~_+eruYZNWRL%PT&^%opU*1PX-(+IENwlP@>z0YKXg6$7)e)UbrOubU|_A48ba=!=YbI(HF1m{P2-1 z^`z2e6yO-E0z+Q&mXUAbTh)I)IP9rk zWH6Gl0kZUN@BPcwa5g&-UWkZpt%#EG6T5K+~aWY;Gt9=ed|rAojiOoNw(OChvAE-%nGX5^N9GZEA#1!Cct1KEKmE! z+tn2X#*39c{r*2Z0*#0PF<8|!1XN#SLY3)7^21^PwE-4f7*|!*RYNA*PEu4)=)G`{ zMz+|t%W-C*+-#XdRTT5weDGMYo_Pn^l(PFaJBz^=ee35E&}m$*D zPBh}BgMTS}i>4`*d?_+wF?J%_iE5JHw@P6o0eR>*98Xt=B~_|>M(QK@^}uc_4(=Gs z$RYyO<2Hq9d=(SmJ!`fo28>v_hqU60W|d!P<=3hu7ykfO5ee&fXA2Bqo85hWzZAd) zM-Cz8_{SdFSe7ed1=qoCw|e;ELcawH;jl9&6{o6Z$b|%H(wwW|y)di=CSQYb@FI^p z(QiG|uZG_pu_0k$V*-rAM4=UFcQA@2%Ct)Dzm^67hl36w#4|1d5ZOpfxsiGzC2

  • gn zLYxQUSB40eIO<*UURv*5LScbynkP`)uRY7Y{{S2{paqzQ8~s`Wi&XC+a;o_C^T8>T z&OAvP2cvhJzP@GOE^zl!}=D3t)$dIuSF+dRh zs>zD2cw#)ou`f@C_)Z{;oNgmy){YZss*1eSs{a7K7+egL7p(9_(6L-pxRAonk9BL~ z<%&^{!ILEOfJ}pF?zWv1Wb00=*Z%;H0g6q^oN=RtajL5OIC>zGRXTijuUrT>CACKz zZu3Ph9l({Ma?vT*t{uRtGYNsR;L6*E7l08C+tm`OUHNvZQ}D-~UYSP_3&z@kD%jYD z;*{xC^0jb~nH+j=5S4Naz(~<9aimpsYu29c^WAYyGG`eF4sek1F^vPNoXyY&b)q7# zYR`t4}W~{_Y_;226u~s`%W3t`p8B1e47ZeXYZ?8!NXE#6Y^>!hyC)RUfnE zS}*MWIE=?LFycmf| za-sskK|?a{ts0|D)cv!3!nCJU{q5_DgA)S~&-Zn3n!dKf_eaLP-!;Wq7AnO0yg8J< z72-;wDRWp!({IOYBxBDr9Izt{(x?@9+}(QaUljgdy@3E(c53he3sAsDio7=g1a`Z} z#TReK5MtdY5*{hW%W5wS(&Fx_P;FW!00Uy^{{Vf13L0~ryNjFCufyxnF-=upao!|M zVuCKhAXg1;-9Lr^1VKW;-466;MWKl_1R+~|hO1mwfSF4hyj*qlTB4wc*fp<$e3prX z$79eVEPVy$Vd4#^8d~kmMNbq_>G7xj+-pBPMaK%tjZ3?uYt!={stUOc$WKK9SMrH`0+h#x}TW+79 zt|>DUC2lAcmPocfVsR~}lKCp&03<_PLO~Q7rG1%HNW862ELMe?#0Z0au5DVTs@r_K zCfnUaPM?MXtcb*1Tg}@J4$ z5W+^pDU3rR(u;gGD%_;M!_OX;;Uk%c;kIodbTMr$-OK zny6kMeiI~Scrk!Z1L7}l%XtVFf-lde8U^7O2#KrI7WHsLl)Kxn@$$gHNQk0`ao36r z#KiX!RH=C`-7!u0t8zkX^BkDp&5r^&Kg6-x~l4`yiPVk8!ts)l{$3g!5?i7 z^iwx7jqC#D7njHQ?5Tzbt|04;@Y!J*U6eV9gw~s?{(SHQ)|?@TC=ldws!l|BqF2Fd zS`SYw0|YzKZN^vC+r5-Ro%{hPrJvv;pVt6a2Z}PN1@+R;n{f}=fov^6>l$hW*f-Y=bY{=W=wF>LmeJ%zAt=NrDt1ARBZ^ zN+|CIOGlL*=G^z`vaZ;!D+vxfI5-C9%5m=O_BqVfzp6K*m}zRZk^mzQM~=${(k z8Y(jvCxIR$2qmdrAG0e0h%`!8yDI&0M5EYnQJ1Q9MW~8%2gm)q@hB8Zg5xC+J!l;F z5~2u~!oB+WZHNuL*rRC*s7k7aLU!HbTbHVTOlX0j9%dM!g_z~A4N=4{B36t1YgPGR z3@yUQ#u=i~NwH+euI{GwU(WbI%8j=UCVVJo-n~^2NUgSu;EKC=ZS}=Bq2YzGdLmo| zR&GQnS1o*Nga{14aAC)t8c}UkL|Pt2@KmDtczNQhF-sK!kqpKIYVuVaB=GS?Tm^F+ z8+s|bT#N2)#i@SJ$9=zs7Ahhc;Svy4A_Y%o!U49mG$#X? z)}plk0DLTS&qBlljJRY2PZS{)PYU^B<){>5X3V_cltf1m$8H%Vd6wOhnEChpz^A9tv){t zAPaF3F%d>jOb^97sc@>>vX`Al3fy!A2!mxBrf3v!q1T#~6k4L-Xb`Q(LN^d>xG@nR zYQ5g+qHR^C3vm}jTFcPr4XUCMT(>7O_m^*VJJ>h@M5gUtjk6376M%+oJ{Rd?6uV0VL4D`-8nKoLLBZ_LM z0xozW_*eL00x7*VhmI3&243?@ZX;?@3(IodVtK04xTO&?hm00PVFVVd?H)rbSEV-o zUU&pl7{?oJ=%TdbR*vBHR*}F5Vq0^2Go|J#mv3W+K^} zecQQesn=?B>-5K*T$V#E&rXDxbk$6Vir+eYYMZ7MV{kn~6xtEO#z&*f5+U&k^d)r^ z`h5C-98+MR-aZT?Af!NuTr#D}@Fc^^O^R*8#tY>S0|+q&R8t{c+~489mxdN9a8nK^ z_qbLS+8V=?X;)KaH9$b~XtA&)S3j-AZBM}P$7ZUSFL@^*wWWN0ccJb@i4K|uG z+&V-`W>!9gT(2342`N!}ZBL)Ya99RrA$Y`ZOPdEqt|N{uZAD5Z>Ah?4ruZ;3L2yDc zCIy4NQBA%lc@=g`Q+oCJU}zqJdM+8lPga$jGLj>TBSaFXGA_&hy(@%nDqt}N^KhVS zwrR`6xl74u@bTZRxU~>S^Tb39JR&_D%~=OZ!EL?7mzt~c@Wp0gmA4&cDiqr=+nBAh zefH_*pBzg-dByRFhz4A7Q~`GySOB+dpMJ@YI!z_2LQW({v!z@UG!$CX!}IrH1d7!KPS3Xa|HEJv0xS!A4thvJnickLvH&d9B7@t* z2sD*$kt8%3MOb*Spj2>4i^Ta$bTjJV1t@ zVD|he@WzP()T)5naOguqGj$CG;zBVL{{UL;hZoo;%$eaJrBMCbJW+hNRi!-fHXjk3 zejs9iAx0o5iQcCw_4C^hT7%);&Sko*B%#f@BA?2&N?}+?qY*lXZVuK|1$&%5uBxWV zzg}u$j61~|@;JZ?CWy7++|d_;B9BV)rX7&EgcTWchXTkEaRn8!CA1NG)}A%Nhlh@h zj97LdUQ|R=2O-e8so=lY!wDgdw z5TxxZCP^5Hf#G%Tf}BZ!B596?H(ZSskD zQ|HTy@lg`Eb4Lat0D`JzTG)%@vf_A-$fXw@D`mjo*sZFfsR~#mw5=^&@X-@S8*t(Z zVyyw%cCsD%{C2OO%LtN;JbXhW*-Ay{2$fL<#}e}RC;Y#T0TZt{-vvy!_KlY^*W{g6 zwdslh245Eo6cI5*=%GBkqNQl}s7;pCnY-em~{FkgSV?d4Zom_ z5Ei5;g+<%O-Mh-452iiA9UzUCh{Q{w?r6jtA#TekomCWi?wkB~#I$Bohi*drKM~^v zL~wYXuX63+we!U&IO!$IP%%ly>S7^nyZEn%cdiGiN2R&MBZMzY+yivzX~cB|g=x`# z^~D*S!ZX%|$afj$pdl63x~q4W?)Z6NS`x}G49VzQq2Yj>L{V3sxJTljI{p|ALd3Fw zEx2VEDyWd++94YFA}a2Q@%%AdK%o(r#qCX(Y-Y{gQ z(JYbGZWJM+Qi=2V{P9tFN-eWpH>4rNL1x*@B%p}fB8XwND0Qt-5o@xdeDDt^&fuX< zC0X_~-fqP~d8<;lQB%)vhnnM-s;0OSc%i4c?nr4HB+dzAh`dLeMED}A`BewQ7U|Zh zYMdcB4(3=_ke0V_66B{!P<}P9#~RV439{0;VvN?z@G3&HCM-o$_HEljU&V1v{dCT8 zZV@{Y%AVfmdYw1;e>KM?VCjuOpjzRdjlK&rJ3^n~f({sUw>}#w3lkd4y#tC(jduOM zxNiqcr2?P*vFEaR*9tu-@>pX^B|6g;gIM#O=1xWjI#F)B#|M$q8i38~W^!zJaPuJ! zN+^n3a#P3U{IG|tS-#6(MzH!M%Q+xZ{4cD~2%|UYx=%e@t9un*9vovfS2A zssZ0Ct6lf%zYf1FV>|+2;9a1#gDAxd%j?F$A9sj^qKjJYiTEx(PijV3aq#~D@{BgB zqr#=lUp#T18lok{^`?Ewj+!|1_|EFyJX95T-J+`XrvCtbJuq3fC%=1b&ta5+@8P)m z5t30#wO=LMui3^vPgE3iE)dz4SZuoV6!sL6Q4si!C6^lSPd^MSH1=H;6eH`5o$eAS zx6OA-?bqRmlqQ9gti(_m`ok9Y5`|KrkHgA}tF|acdb3W1By>zm!&DR+_}#Z&iM|!& zgDB2KAggltFb2%dibZ!S_|wf7%O1vIA_`WF#0Y@{YwYYQ0x!Q$D)qvaREE}~HxTqY z=>-`3Z#3OeOKZt!DMc-|Roy-qq~p-7wjQpaP8siUcym!c9e>vkRD{t;pM_C4adCzK z0VrL0xsemQ)}AYcj*b~za1=l^M_QoL(j;GvyLG{#H#`t|f+6R^+r5?;%lqR-PQ*Uw$dZD7zlmh%|>1{V6hRTokJCQ4Zy%$d&2- z_@v|*MG`}!SRT4egwTof*;)lhsfRfy>#!=XKE%Mr3R z+E}7LZrXMJIL&8l3T(%=&$NYvdxQ-wS)pCB(wlT#P;xEU;09uD;aIU2mcvx&l<~zY z4GIws0E9xTCCH!-33KiIQ=6_7Aj!9j)(H)^+uh61?5@eTkITaqX`-1?Azp(QqU!$2 zm)wPEC2GGe?S7c5EWo!4PeeS*iYkS~s8=O+>ETN4g>=PYlssBCpyWI=jt0uSVz;7h zsJZ$jZCf5dC+ij;J9T$Qm85B#&!bR|Q ztL5;()rN7gTnBqQqriZwK#tv9My#~AG2P4a|MfUM>{v~%1g+O+B2s{C=aDy|HrD;5c!g+VLH z>eI#Es-#U?Be^9h;=HM~cCI`VEd$LkpZGYa2TVZ?L|m$uj>+=#$37V9WvL!R(7gEI zHuDU!yh`(N5NxNPiZ4uAqO|8b!=>dSiCdDQLKj`{ZS>z9h+^r;r6b1PRn0DQ42mrh zigy!q**fBy$fqP+GMBg~T3SKB=b1kIYNr9I47pP=3n*zMewW#Go+;sgS#oko!*W#O zEj{3+JTNK1Ga`dBNsEpnFz`<}=_bvJb5|6&5dcI<4B`OME+n^q%`v6m8IaAQrQBh2 zr+4~e(+cc_7u!R`bgjbTbi!`nxc~(R$+irV;_1kmjj;8l)a^eMr;weB*U|*U3{7BmU80)76>IY`EEidqPdo zQq=L?K6ny@xS%X?*_%|tBIl=3rsm+JCse9+r}e~#)vZXD!;qZXCc)VS(C+^Ly)mbg z(UK{xPjs_aGkCk}kx+vahKi(IJGj5}nsfPE@r~f2Z}ty`NMvh7(%ye9_Je z(-)Wvs*JprwYAH-rv6x=8LN378Q^9baBcy%yh3a&*;l6iJt>It3bz(QvTD{%^=p{S zPXX}=?X#A?ec#Pj9_VcClBVj7{+?i{m)#I{?M=}|N8`7KCU{D*L6Eykr!wieHgY><{?>s|q6;(U*>En+?w@@-%OewJkG++ktRU6P0(zWp)$LE4rM-d*Fd5nTA z$@XKaZKVuF#OdSHWl!?`*sTi|%VIHHa}suraPB~+*COrVN@EE|!)T`sm?Vsk_nDzQ zo;IRXe7-BUTzKZ1my}>34jiVjFBj_2gwaV;s#D1lzl!0)gOq_I7nti*k{m=}AopoD zAxdxO^TmQcS*Ed1BcS4q5}wy}$Iz#Nxk@)TaW?CsZN#|9DVl;4ZisOguH*1Z0f`BA z_ECJ+m|xLq;S|0p;WW9o8YWOI4)0aol(jp{*XNIw=$JK>Z_#kiL@36_@dN->NRa_R zYvbadOb9krz!=8oMjLMqO^DxA-8bDl5f=cgAtWrUg~etjfmA*sr3#2DsFd(k+P*j~ zM+`$D5ZtZN-LkorL{UXg9=oSc9}Ep#cRf<~A_bSYS_e#Wv=s z|#bT@mNWj*}a&bXxPO7`?oJQdBL{o1P!6WqI2Y`zzg_*@UtGl5ZF3>zxRXC# zygiDz>txAX2$rW^`Y(d-T6yBl6Q-FJ2^?Ys9N@Kjp&0=hSHEwL%T@CFW06l3;t8JE z%_z$As1Y{g%-ko#wiW(zL`tfn^jaY$Jp6HK4G)$?!m?1Yk20=>>&9-I?zH|G)neRA zjI=F|=#1JbUF)*>t6b!kiFgX8^;}w?(me4Ce*xH2ZIxc^QUU(}$h-TvUOQ;>xMgyAmedd2lK)ky#N|8$QDUsYFT|F|Eig^$q+n zS-kBg60`JVQzE|bz2W4w`u+Hvjk0ZWH=QLcm$4|DDc#w3uj7S?&AD-S^V2L76xq}fC?qFjnX(sLqJ zQCIk4B&3P4a&Aedv*h)G;NEC}wxTp-sn_ArI^vAeOLA;c@uB8u$Zn=rrNg;xPrDp= z)|_6V%*zbJOeD;;>rH0nO)0pSDvJ3oEi(+Buz&bm!3N+Lz1_z$6&o~6wnWQT6o_1y zGGspUZeo$P3sEQg-vm{zHb^WgDxq2_Pl(}!h+HBeqV!H|8A8M*AsdRFcEYR5B7#GA zPEo_KSVDH%+GWkw)vf_JMzu;?_KR<>45JHWXrUmGr-@;~MYjs!r&YABTowW0id>j7O%^IFeV+V&NCsCB*`H(zJN!BwO{x zsMsxGP*ep?PQEL@cNfWCM4QJ;0(R?=@X+SAHnBvvIpb6nrr#eQ3@OP)W-c*0I6_?9 zLb(+M>mrm;aFd>$R;%*qf-tSU5FVyhSP19$gdw>S^C@QAkwLd(Gz;2ed%A>#RlRbn=e#|e)fUUM?_HpUu_brQ|r25dJ4rjSj@Et5ZJdJ z5`1O_P2vP`z}|+cD7{yGk$Pf7#md=i+kqC0_`F8QlA=lC3r>r=s(v-YLMVhJrl)MU zUSyl$gEZs;r&S-BY`+AUx!Q}D3K6CtB-*V&5yJnX=>J=UA%rj z3|1GGUf4p!Mf0|GQl%79&mRR!^{>;W0ig;q9vzn1ZRX*Ts=4ga^aWK_PHO$>)hUH3 zgakZLM0&c4f>z;FR54ZFl<;2+D+!GiGnB*$n89&LpsJ0Y(boC`UA0o4JM_b{0NaV` zEjEF*3cNG~r`)~VHa00ip+h?7s<7p#CZa2G)h_e;{rL5hQ1MD`BrBlv?WN>MifOfJ z-QJ5z?}A9E@F+vi1ZNPd3xbe(~LFq;i+;rH~zNdiMT0K?4t zXoH4|23p|>GC~Hc%(X=7v=!*RF;-s*9Lz#QMNeBnIxn+Ix6`G3zZ^?<9knYt0K{Y7 zuxQ(yifAp3wf-^7z+p>y4paNLOYzJJL4QK&2`NMEzSQ zQKD9-@J}3Kvu!b+!KVyd;wlFB4W;E;W9d=EsjW>TE0%|{#MoRe6GmuYt_8_$$e6de z2^!m+J`sV|meU-_yv5vCA>x~JhU27)DYu>jg+lKt)9n8M99EJYkn0rtea93Qp6~F( z3`9Y5E6Y{*t|u&84GKi_=2vl-r+e*TYUv1E=ls~U6%nYAmA1sLZvLJ=A3RH#zV1>L zPWN{W2%Kw$YgF+~>vjN*-eYdqU_c|~D%vGn7Tdep5pz?!fCh2MW=U-uzs=JMQA`V! z8hIgMTmUb*cPpM)Qiw7uTs^zEU<6-yg>6LM+&ds$(XFG Date: Thu, 7 Oct 2021 13:59:19 -0400 Subject: [PATCH 09/12] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 90d8f95..5b5838e 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,8 @@ Pennkey: onlyname ## Overview * **Leaning Tower of Pisa Recreation** +* **Inspiration** + [Live Demo](https://onlyname1.github.io/hw02-raymarching-sdfs/) From 709702cfa14152dac7954b0acefe14c0d45ff9f3 Mon Sep 17 00:00:00 2001 From: An Duong Date: Tue, 12 Oct 2021 23:20:51 -0400 Subject: [PATCH 10/12] redo --- INSTRUCTIONS.md | 81 +++++++++ README.md | 88 ++-------- dist/index.html | 20 --- src/shaders/flat-frag.glsl | 348 ++++++++++++++++++++++++++++++++++++- 4 files changed, 442 insertions(+), 95 deletions(-) create mode 100644 INSTRUCTIONS.md delete mode 100644 dist/index.html diff --git a/INSTRUCTIONS.md b/INSTRUCTIONS.md new file mode 100644 index 0000000..a1f3369 --- /dev/null +++ b/INSTRUCTIONS.md @@ -0,0 +1,81 @@ +# CIS 566 Homework 2: Implicit Surfaces + +## Objective +- Gain experience with signed distance functions +- Experiment with animation curves + +## Base Code + +Please feel free to use this code as a base (https://www.shadertoy.com/view/fsdXzM) + +The code we have provided for this assignment features the following: +- A square that spans the range [-1, 1] in X and Y that is rendered with a +shader that does not apply a projection matrix to it, thus rendering it as the +entirety of your screen +- TypeScript code just like the code in homework 1 to set up a WebGL framework +- Code that passes certain camera attributes (listed in the next section), +the screen dimensions, and a time counter to the shader program. + +## Assignment Requirements +- __(10 points)__ Modify the provided `flat-frag.glsl` to cast rays from a +virtual camera. We have set up uniform variables in your shader that take in +the eye position, reference point position, and up vector of the `Camera` in +the provided TypeScript code, along with a uniform that stores the screen width +and height. Using these uniform variables, and only these uniform variables, +you must write a function that uses the NDC coordinates of the current fragment +(i.e. its fs_Pos value) and projects a ray from that pixel. Refer to the [slides +on ray casting](https://docs.google.com/presentation/d/e/2PACX-1vSN5ntJISgdOXOSNyoHimSVKblnPnL-Nywd6aRPI-XPucX9CeqzIEGTjFTwvmjYUgCglTqgvyP1CpxZ/pub?start=false&loop=false&delayms=60000&slide=id.g27215b64c6_0_107) +from CIS 560 for reference on how to cast a ray without an explicit +view-projection matrix. You'll have to compute your camera's Right vector based +on the provided Up vector, Eye point, and Ref point. You can test your ray +casting function by converting your ray directions to colors using the formula +`color = 0.5 * (dir + vec3(1.0, 1.0, 1.0))`. If your screen looks like the +following image, your rays are being cast correctly: +![](rayDir.png) +- __(70 points)__ Create a scene using raymarched signed distance functions. +The subject of your scene should be based on some reference image, such as a +shot from a movie or a piece of artwork. Your scene should incorporate the +following elements: + - The SDF combination operation Smooth Blend. + - Basic Lambertian reflection using a hard-coded light source and SDF surface normals. + - Animation of at least one element of the scene, with at least two Toolbox Functions + used to control the animation(s). + - Hard-edged shadows cast by shapes in the scene onto one another using a shadow-feeler ray. + +For the next assignment you will build upon this scene with procedural textures and more +advanced lighting and reflection models, so don't worry if your scene looks a bit drab +given the requirements listed above. + +- __(10 points)__ Following the specifications listed +[here](https://github.com/pjcozzi/Articles/blob/master/CIS565/GitHubRepo/README.md), +create your own README.md, renaming this file to INSTRUCTIONS.md. Don't worry +about discussing runtime optimization for this project. Make sure your +README contains the following information: + - Your name and PennKey + - Citation of any external resources you found helpful when implementing this + assignment. + - A link to your live github.io demo (refer to the pinned Piazza post on + how to make a live demo through github.io) + - An explanation of the techniques you used to model and animate your scene. + +## Useful Links +- [IQ's Article on SDFs](http://www.iquilezles.org/www/articles/distfunctions/distfunctions.htm) +- [IQ's Article on Smooth Blending](http://www.iquilezles.org/www/articles/smin/smin.htm) +- [IQ's Article on Useful Functions](http://www.iquilezles.org/www/articles/functions/functions.htm) +- [Breakdown of Rendering an SDF Scene](http://www.iquilezles.org/www/material/nvscene2008/rwwtt.pdf) + + +## Submission +Commit and push to Github, then submit a link to your commit on Canvas. Remember +to make your own README! + +## Inspiration +- [Alien Corridor](https://www.shadertoy.com/view/4slyRs) +- [The Evolution of Motion](https://www.shadertoy.com/view/XlfGzH) +- [Fractal Land](https://www.shadertoy.com/view/XsBXWt) +- [Voxel Edges](https://www.shadertoy.com/view/4dfGzs) +- [Snail](https://www.shadertoy.com/view/ld3Gz2) +- [Cubescape](https://www.shadertoy.com/view/Msl3Rr) +- [Journey Tribute](https://www.shadertoy.com/view/ldlcRf) +- [Stormy Landscape](https://www.shadertoy.com/view/4ts3z2) +- [Generators](https://www.shadertoy.com/view/Xtf3Rn) \ No newline at end of file diff --git a/README.md b/README.md index ae3da83..94a5663 100644 --- a/README.md +++ b/README.md @@ -1,81 +1,21 @@ -# CIS 566 Homework 2: Implicit Surfaces +# Leaning Tower of Pisa - SDF Recreation -## Objective -- Gain experience with signed distance functions -- Experiment with animation curves +By An Duong -## Base Code +Pennkey: onlyname -Please feel free to use this code as a base (https://www.shadertoy.com/view/fsdXzM) +## Overview +* **Leaning Tower of Pisa Recreation** + +* **Inspiration** + -The code we have provided for this assignment features the following: -- A square that spans the range [-1, 1] in X and Y that is rendered with a -shader that does not apply a projection matrix to it, thus rendering it as the -entirety of your screen -- TypeScript code just like the code in homework 1 to set up a WebGL framework -- Code that passes certain camera attributes (listed in the next section), -the screen dimensions, and a time counter to the shader program. +[Live Demo](https://onlyname1.github.io/hw02-raymarching-sdfs/) -## Assignment Requirements -- __(10 points)__ Modify the provided `flat-frag.glsl` to cast rays from a -virtual camera. We have set up uniform variables in your shader that take in -the eye position, reference point position, and up vector of the `Camera` in -the provided TypeScript code, along with a uniform that stores the screen width -and height. Using these uniform variables, and only these uniform variables, -you must write a function that uses the NDC coordinates of the current fragment -(i.e. its fs_Pos value) and projects a ray from that pixel. Refer to the [slides -on ray casting](https://docs.google.com/presentation/d/e/2PACX-1vSN5ntJISgdOXOSNyoHimSVKblnPnL-Nywd6aRPI-XPucX9CeqzIEGTjFTwvmjYUgCglTqgvyP1CpxZ/pub?start=false&loop=false&delayms=60000&slide=id.g27215b64c6_0_107) -from CIS 560 for reference on how to cast a ray without an explicit -view-projection matrix. You'll have to compute your camera's Right vector based -on the provided Up vector, Eye point, and Ref point. You can test your ray -casting function by converting your ray directions to colors using the formula -`color = 0.5 * (dir + vec3(1.0, 1.0, 1.0))`. If your screen looks like the -following image, your rays are being cast correctly: -![](rayDir.png) -- __(70 points)__ Create a scene using raymarched signed distance functions. -The subject of your scene should be based on some reference image, such as a -shot from a movie or a piece of artwork. Your scene should incorporate the -following elements: - - The SDF combination operation Smooth Blend. - - Basic Lambertian reflection using a hard-coded light source and SDF surface normals. - - Animation of at least one element of the scene, with at least two Toolbox Functions - used to control the animation(s). - - Hard-edged shadows cast by shapes in the scene onto one another using a shadow-feeler ray. +## Implementation +The Tower of Pisa was recreated using a fragment shader that rendered the scene through raymarched signed distance functions. The scene also includes basic Lambertian reflection, hard shadows implemented via raymarched shadow feeler rays, as well as basic materials. The tower is made up of the smooth blend and union of SDF cylinders. The floors of the tower were created using the repetition of a singular floor through the SDF limited modullo function. The tower leans over time via a sine function. The crowds of people were also created by repeating an SDF cylinder over an area. The crowds jump up and down by offsetting their position with a triangle wave function dependent on time and a specific person's position. -For the next assignment you will build upon this scene with procedural textures and more -advanced lighting and reflection models, so don't worry if your scene looks a bit drab -given the requirements listed above. +## Citations +[Useful SDF Transformations](http://jamie-wong.com/2016/07/15/ray-marching-signed-distance-functions/#rotation-and-translation) -- __(10 points)__ Following the specifications listed -[here](https://github.com/pjcozzi/Articles/blob/master/CIS565/GitHubRepo/README.md), -create your own README.md, renaming this file to INSTRUCTIONS.md. Don't worry -about discussing runtime optimization for this project. Make sure your -README contains the following information: - - Your name and PennKey - - Citation of any external resources you found helpful when implementing this - assignment. - - A link to your live github.io demo (refer to the pinned Piazza post on - how to make a live demo through github.io) - - An explanation of the techniques you used to model and animate your scene. - -## Useful Links -- [IQ's Article on SDFs](http://www.iquilezles.org/www/articles/distfunctions/distfunctions.htm) -- [IQ's Article on Smooth Blending](http://www.iquilezles.org/www/articles/smin/smin.htm) -- [IQ's Article on Useful Functions](http://www.iquilezles.org/www/articles/functions/functions.htm) -- [Breakdown of Rendering an SDF Scene](http://www.iquilezles.org/www/material/nvscene2008/rwwtt.pdf) - - -## Submission -Commit and push to Github, then submit a link to your commit on Canvas. Remember -to make your own README! - -## Inspiration -- [Alien Corridor](https://www.shadertoy.com/view/4slyRs) -- [The Evolution of Motion](https://www.shadertoy.com/view/XlfGzH) -- [Fractal Land](https://www.shadertoy.com/view/XsBXWt) -- [Voxel Edges](https://www.shadertoy.com/view/4dfGzs) -- [Snail](https://www.shadertoy.com/view/ld3Gz2) -- [Cubescape](https://www.shadertoy.com/view/Msl3Rr) -- [Journey Tribute](https://www.shadertoy.com/view/ldlcRf) -- [Stormy Landscape](https://www.shadertoy.com/view/4ts3z2) -- [Generators](https://www.shadertoy.com/view/Xtf3Rn) +[SDF Functions](https://www.iquilezles.org/www/articles/distfunctions/distfunctions.htm) \ No newline at end of file diff --git a/dist/index.html b/dist/index.html deleted file mode 100644 index 062fed2..0000000 --- a/dist/index.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - Project 0: Getting Started | CIS 566 - - - - - - - diff --git a/src/shaders/flat-frag.glsl b/src/shaders/flat-frag.glsl index 50434bd..31aed58 100644 --- a/src/shaders/flat-frag.glsl +++ b/src/shaders/flat-frag.glsl @@ -1,6 +1,11 @@ #version 300 es precision highp float; +const int MAX_RAY_STEPS = 256; +const float EPSILON = 1e-4; +const float FOV = 60.0; +const float MAX_DISTANCE = 20.0; + uniform vec3 u_Eye, u_Ref, u_Up; uniform vec2 u_Dimensions; uniform float u_Time; @@ -8,6 +13,347 @@ uniform float u_Time; in vec2 fs_Pos; out vec4 out_Col; +struct Ray +{ + vec3 origin; + vec3 direction; +}; + +struct Intersection +{ + vec3 position; + vec3 normal; + float distance_t; + int material_id; +}; + +// HELPERS // +vec3 rgb(vec3 col) +{ + return col / 255.0; +} + +float triangleWave(float x, float freq, float amplitude) +{ + return abs(mod(x * freq, amplitude) - (0.5 * amplitude)); +} + +// SDF CODE // +mat4 rotateX(float theta) { + float c = cos(theta); + float s = sin(theta); + + mat4 m = mat4( + vec4(c, 0, s, 0), + vec4(0, 1, 0, 0), + vec4(-s, 0, c, 0), + vec4(0, 0, 0, 1) + ); + return inverse(m); +} + +mat4 rotateY(float theta) { + float c = cos(theta); + float s = sin(theta); + + mat4 m = mat4( + vec4(1, 0, 0, 0), + vec4(0, c, -s, 0), + vec4(0, s, c, 0), + vec4(0, 0, 0, 1) + ); + return inverse(m); +} + +mat4 rotateZ(float theta) { + float c = cos(theta); + float s = sin(theta); + + mat4 m = mat4( + vec4(c, -s, 0, 0), + vec4(s, c, 0, 0), + vec4(0, 0, 1, 0), + vec4(0, 0, 0, 1) + ); + return inverse(m); +} + +vec3 bendPoint(vec3 p, float k) +{ + float c = cos(k*p.y); + float s = sin(k*p.y); + mat2 m = mat2(c,-s,s,c); + vec3 q = vec3(m*p.xy,p.z); + return q; +} + +float sdfSphere(vec3 query_position, vec3 position, float radius) +{ + return length(query_position - position) - radius; +} + +// from IQ +float sdCylinder(vec3 p, vec3 a, vec3 b, float r) +{ + vec3 ba = b - a; + vec3 pa = p - a; + float baba = dot(ba,ba); + float paba = dot(pa,ba); + float x = length(pa*baba-ba*paba) - r*baba; + float y = abs(paba-baba*0.5)-baba*0.5; + float x2 = x*x; + float y2 = y*y*baba; + float d = (max(x,y)<0.0)?-min(x2,y2):(((x>0.0)?x2:0.0)+((y>0.0)?y2:0.0)); + return sign(d)*sqrt(abs(d))/baba; +} + +float sdRoundBox( vec3 p, vec3 b, float r ) +{ + vec3 q = abs(p) - b; + return length(max(q,0.0)) + min(max(q.x,max(q.y,q.z)),0.0) - r; +} + +float plane(vec3 p, vec4 n) +{ + return dot(p,n.xyz) + n.w; +} + +float smin( float a, float b, float k ) +{ + float h = clamp( 0.5+0.5*(b-a)/k, 0.0, 1.0 ); + return mix( b, a, h ) - k*h*(1.0-h); +} + +// from IQ +vec3 opRep(vec3 p, vec3 c) +{ + return mod(p+0.5*c,c)-0.5*c; +} + +vec3 opRepLim(vec3 p, float c, vec3 l) +{ + return p-c*clamp(round(p/c),-l,l); +} + +vec3 opTwist( vec3 p ) +{ + const float k = 10.0; // or some other amount + float c = cos(k*p.y); + float s = sin(k*p.y); + mat2 m = mat2(c,-s,s,c); + return vec3(m*p.xz,p.y); +} + +vec3 opRevolution( in vec3 p, float o ) +{ + return vec3( length(p.xz) - o, p.y , 0); +} + +float pillar(vec3 pos, float rotation) +{ + return sdCylinder(pos, (rotateX(rotation) * vec4(0.57, -0.3, 0.0, 1.0)).xyz, + (rotateX(rotation) * vec4(0.57, 0.3, 0.0, 1.0)).xyz, 0.02); +} + +float towerFloor(vec3 pos) +{ + float rotation = radians(45.0); + float tFloor = sdCylinder(pos, vec3(0.0, -0.05, 0.0), vec3(0.0, 0.05, 0.0), 0.64); + float p1 = pillar(pos, 0.0); + float p2 = pillar(pos, rotation * 1.0); + float p3 = pillar(pos, rotation * 2.0); + float p4 = pillar(pos, rotation * 3.0); + float p5 = pillar(pos, rotation * 4.0); + float p6 = pillar(pos, rotation * 5.0); + float p7 = pillar(pos, rotation * 6.0); + float p8 = pillar(pos, rotation * 7.0); + + return smin(tFloor, min(p1, min(p2, min(p3, min(p4, min(p5, min(p6, min(p7, p8))))))), 0.05); +} + +float towerBody(vec3 pos) +{ + vec3 displacement = vec3(0.0, 0.4, 0.0); + float middle = sdCylinder(pos, vec3(0.0, -1.5, 0.0), vec3(0.0, 1.9, 0.0), 0.5); + float levels = towerFloor(opRepLim(pos, 0.5, vec3(0.0, 2.0, 0.0))); + float top = sdCylinder(pos + vec3(0.0, -1.3, 0.0), vec3(0.0, -0.05, 0.0), vec3(0.0, 0.05, 0.0), 0.64); + return smin(middle, min(levels, top), 0.05); +} + +float towerBase(vec3 pos) +{ + float middle = sdCylinder(pos, vec3(0.0, -0.5, 0.0), vec3(0.0, 0.5, 0.0), 0.64); + return middle; +} + +float tower(vec3 pos) +{ + float rotation = radians(-25.0) * (sin(u_Time / 50.0) + 1.0) / 2.0; + vec3 rotatedPos = (rotateZ(rotation) * vec4(pos + vec3(0.0, 3.0, 0.0), 1.0)).xyz + vec3(0.0, -3.0, 0.0) + vec3(0.0, 0.2, 0.0); + return min(towerBody(rotatedPos), towerBase(rotatedPos + vec3(0.0, 1.8, 0.0))); +} + +float people(vec3 pos, float size) +{ + vec3 movement = vec3(0.0, 0.08, 0.0) * triangleWave((u_Time + 3.5 * fs_Pos.x + 1.2 * fs_Pos.y) / 25.0, 10.0, 2.0); + float crowd = sdCylinder(opRepLim(pos + vec3(0.0, 2.4, 0.0) + movement, 0.25, vec3(size, 0.0, size)), vec3(0.0, 0.0,0.0), vec3(0.0,0.05,0.0), 0.02); + return crowd; +} + +// SCENE // +#define FLOOR plane(queryPos, vec4(0.0, 1.0, 0.0, 2.5)) +#define BODY tower(queryPos + vec3(0.0, 0.2, 0.0)) +#define THING min(people(queryPos + vec3(-1.3, 0.0, 1.2), 3.0), min(people(queryPos + vec3(2.0, 0.0, -2.4), 2.0), people(queryPos + vec3(-1.5, 0.0, -1.5), 4.0))) + +#define FLOOR_NUM 0 +#define BODY_NUM 2 +#define THING_NUM 3 + +float sceneSDF(vec3 queryPos) +{ + float dist = FLOOR; + dist = min(dist, BODY); + dist = min(dist, THING); + return dist; +} + +void sceneSDF(vec3 queryPos, out float dist, out int material_id) +{ + dist = FLOOR; + float dist2; + material_id = FLOOR_NUM; + if ((dist2 = BODY) < dist) + { + dist = dist2; + material_id = BODY_NUM; + } + if ((dist2 = THING) < dist) + { + dist = dist2; + material_id = THING_NUM; + } +} + +vec3 sdfNormal(vec3 pos) +{ + vec2 epsilon = vec2(0.0, EPSILON); + return normalize( vec3( sceneSDF(pos + epsilon.yxx) - sceneSDF(pos - epsilon.yxx), + sceneSDF(pos + epsilon.xyx) - sceneSDF(pos - epsilon.xyx), + sceneSDF(pos + epsilon.xxy) - sceneSDF(pos - epsilon.xxy))); +} + +// RAYMARCH CODE // +Ray getRay(vec2 uv) +{ + Ray r; + + vec3 look = normalize(u_Ref - u_Eye); + vec3 camera_RIGHT = normalize(cross(look, u_Up)); + vec3 camera_UP = cross(camera_RIGHT, look); + float len = distance(u_Eye, u_Ref); + + float aspect_ratio = u_Dimensions.x / u_Dimensions.y; + vec3 screen_vertical = camera_UP * len * tan(FOV); + vec3 screen_horizontal = camera_RIGHT * len * aspect_ratio * tan(FOV); + vec3 screen_point = (look + uv.x * screen_horizontal + uv.y * screen_vertical); + + r.origin = u_Eye; + r.direction = normalize(screen_point - u_Eye); + + return r; +} + +Intersection getRaymarchedIntersection(vec2 uv) +{ + Ray ray = getRay(uv); + Intersection intersection; + + intersection.distance_t = -1.0; + intersection.position = u_Eye; + intersection.normal = vec3(0, 0, 0); + intersection.material_id = -1; + + float t = 0.0; + for (int i = 0; i < MAX_RAY_STEPS; i++) + { + // get position + vec3 pos = ray.origin + t * ray.direction; + if (t > MAX_DISTANCE) + { + break; + } + + float dist; + int material_id; + sceneSDF(pos, dist, material_id); + // if dist is on surface of sdf, then we're done + if (dist < EPSILON) + { + intersection.position = pos; + intersection.distance_t = t; + intersection.normal = sdfNormal(intersection.position); + intersection.material_id = material_id; + break; + } + t += dist; + } + + return intersection; +} + +float hardShadow(vec3 origin, vec3 dir, float min_t, float max_t) { + for(float t = min_t; t < max_t;) + { + vec3 pos = origin + t * dir; + float dist = sceneSDF(origin + t * dir); + if(dist < EPSILON) + { + return 0.0; + } + t += dist; + } + return 1.0; +} + +vec3 calculateMaterial(int material_id, vec3 normal, vec3 lightDir) +{ + float ambient = 0.2; + float lambert = max(0.0, dot(normal, lightDir)) + ambient; + + switch (material_id) + { + case FLOOR_NUM: + return rgb(vec3(82, 143, 47)) * lambert; + break; + case BODY_NUM: + return rgb(vec3(226, 227, 200)) * lambert; + break; + case THING_NUM: + return rgb(vec3(88, 230, 232)) * lambert; + break; + case -1: + return rgb(vec3(149, 228, 252)); + break; + } + return rgb(vec3(153, 139, 83)); +} + +vec3 getSceneColor(vec2 uv, vec3 lightPos) +{ + Intersection intersection = getRaymarchedIntersection(uv); + vec3 lightDir = normalize(lightPos - intersection.position); + vec3 light_t = (lightPos - intersection.position) / lightDir; + float hardShadow = hardShadow(intersection.position, lightDir, 0.1, light_t.x); + vec3 col = calculateMaterial(intersection.material_id, intersection.normal, lightDir); + return col * hardShadow; +} + void main() { - out_Col = vec4(0.5 * (fs_Pos + vec2(1.0)), 0.5 * (sin(u_Time * 3.14159 * 0.01) + 1.0), 1.0); + vec3 lightPos = vec3(-5.0, 7.45, -5.0); + + vec2 uv = fs_Pos; + + vec3 col = getSceneColor(uv, lightPos); + + out_Col = vec4(col, 1.0); } From c765f0952e82da922e55bd06e85de8b0b8c16f25 Mon Sep 17 00:00:00 2001 From: An Duong Date: Tue, 12 Oct 2021 23:23:44 -0400 Subject: [PATCH 11/12] redo 2 --- INSTRUCTIONS.md | 85 +++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 25 +++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 INSTRUCTIONS.md create mode 100644 README.md diff --git a/INSTRUCTIONS.md b/INSTRUCTIONS.md new file mode 100644 index 0000000..790c8e5 --- /dev/null +++ b/INSTRUCTIONS.md @@ -0,0 +1,85 @@ +# CIS 566 Homework 2: Implicit Surfaces + +## Objective +- Gain experience with signed distance functions +- Experiment with animation curves + +## Base Code + +Please feel free to use this code as a base (https://www.shadertoy.com/view/fsdXzM) + +The code we have provided for this assignment features the following: +- A square that spans the range [-1, 1] in X and Y that is rendered with a +shader that does not apply a projection matrix to it, thus rendering it as the +entirety of your screen +- TypeScript code just like the code in homework 1 to set up a WebGL framework +- Code that passes certain camera attributes (listed in the next section), +the screen dimensions, and a time counter to the shader program. + +## Assignment Requirements +- __(10 points)__ Modify the provided `flat-frag.glsl` to cast rays from a +virtual camera. We have set up uniform variables in your shader that take in +the eye position, reference point position, and up vector of the `Camera` in +the provided TypeScript code, along with a uniform that stores the screen width +and height. Using these uniform variables, and only these uniform variables, +you must write a function that uses the NDC coordinates of the current fragment +(i.e. its fs_Pos value) and projects a ray from that pixel. Refer to the [slides +on ray casting](https://docs.google.com/presentation/d/e/2PACX-1vSN5ntJISgdOXOSNyoHimSVKblnPnL-Nywd6aRPI-XPucX9CeqzIEGTjFTwvmjYUgCglTqgvyP1CpxZ/pub?start=false&loop=false&delayms=60000&slide=id.g27215b64c6_0_107) +from CIS 560 for reference on how to cast a ray without an explicit +view-projection matrix. You'll have to compute your camera's Right vector based +on the provided Up vector, Eye point, and Ref point. You can test your ray +casting function by converting your ray directions to colors using the formula +`color = 0.5 * (dir + vec3(1.0, 1.0, 1.0))`. If your screen looks like the +following image, your rays are being cast correctly: +![](rayDir.png) +- __(70 points)__ Create a scene using raymarched signed distance functions. +The subject of your scene should be based on some reference image, such as a +shot from a movie or a piece of artwork. Your scene should incorporate the +following elements: + - The SDF combination operation Smooth Blend. + - Basic Lambertian reflection using a hard-coded light source and SDF surface normals. + - Animation of at least one element of the scene, with at least two Toolbox Functions + used to control the animation(s). + - Hard-edged shadows cast by shapes in the scene onto one another using a shadow-feeler ray. + +For the next assignment you will build upon this scene with procedural textures and more +advanced lighting and reflection models, so don't worry if your scene looks a bit drab +given the requirements listed above. + +- __(10 points)__ Following the specifications listed +[here](https://github.com/pjcozzi/Articles/blob/master/CIS565/GitHubRepo/README.md), +create your own README.md, renaming this file to INSTRUCTIONS.md. Don't worry +about discussing runtime optimization for this project. Make sure your +README contains the following information: + - Your name and PennKey + - Citation of any external resources you found helpful when implementing this + assignment. + - A link to your live github.io demo (refer to the pinned Piazza post on + how to make a live demo through github.io) + - An explanation of the techniques you used to model and animate your scene. + +## Useful Links +- [IQ's Article on SDFs](http://www.iquilezles.org/www/articles/distfunctions/distfunctions.htm) +- [IQ's Article on Smooth Blending](http://www.iquilezles.org/www/articles/smin/smin.htm) +- [IQ's Article on Useful Functions](http://www.iquilezles.org/www/articles/functions/functions.htm) +- [Breakdown of Rendering an SDF Scene](http://www.iquilezles.org/www/material/nvscene2008/rwwtt.pdf) + + +## Submission +Commit and push to Github, then submit a link to your commit on Canvas. Remember +to make your own README! + +## Inspiration +- [Alien Corridor](https://www.shadertoy.com/view/4slyRs) +- [The Evolution of Motion](https://www.shadertoy.com/view/XlfGzH) +- [Fractal Land](https://www.shadertoy.com/view/XsBXWt) +- [Voxel Edges](https://www.shadertoy.com/view/4dfGzs) +- [Snail](https://www.shadertoy.com/view/ld3Gz2) +- [Cubescape](https://www.shadertoy.com/view/Msl3Rr) +- [Journey Tribute](https://www.shadertoy.com/view/ldlcRf) +- [Stormy Landscape](https://www.shadertoy.com/view/4ts3z2) +<<<<<<< HEAD +- [Generators](https://www.shadertoy.com/view/Xtf3Rn) +======= +- [Generators](https://www.shadertoy.com/view/Xtf3Rn) +>>>>>>> d6d1f4369c6f85aa7c0591fc6ca457dd133f45f7 diff --git a/README.md b/README.md new file mode 100644 index 0000000..0cd9692 --- /dev/null +++ b/README.md @@ -0,0 +1,25 @@ +# Leaning Tower of Pisa - SDF Recreation + +By An Duong + +Pennkey: onlyname + +## Overview +* **Leaning Tower of Pisa Recreation** + +* **Inspiration** + + +[Live Demo](https://onlyname1.github.io/hw02-raymarching-sdfs/) + +## Implementation +The Tower of Pisa was recreated using a fragment shader that rendered the scene through raymarched signed distance functions. The scene also includes basic Lambertian reflection, hard shadows implemented via raymarched shadow feeler rays, as well as basic materials. The tower is made up of the smooth blend and union of SDF cylinders. The floors of the tower were created using the repetition of a singular floor through the SDF limited modullo function. The tower leans over time via a sine function. The crowds of people were also created by repeating an SDF cylinder over an area. The crowds jump up and down by offsetting their position with a triangle wave function dependent on time and a specific person's position. + +## Citations +[Useful SDF Transformations](http://jamie-wong.com/2016/07/15/ray-marching-signed-distance-functions/#rotation-and-translation) + +<<<<<<< HEAD +[SDF Functions](https://www.iquilezles.org/www/articles/distfunctions/distfunctions.htm) +======= +[SDF Functions](https://www.iquilezles.org/www/articles/distfunctions/distfunctions.htm) +>>>>>>> d6d1f4369c6f85aa7c0591fc6ca457dd133f45f7 From d594d99b3357501ab79d64217d102693a75baeb9 Mon Sep 17 00:00:00 2001 From: An Duong <60829666+onlyname1@users.noreply.github.com> Date: Tue, 12 Oct 2021 23:24:45 -0400 Subject: [PATCH 12/12] Update README.md --- README.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/README.md b/README.md index 0cd9692..98161a2 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ Pennkey: onlyname ## Overview * **Leaning Tower of Pisa Recreation** + * **Inspiration** @@ -18,8 +19,4 @@ The Tower of Pisa was recreated using a fragment shader that rendered the scene ## Citations [Useful SDF Transformations](http://jamie-wong.com/2016/07/15/ray-marching-signed-distance-functions/#rotation-and-translation) -<<<<<<< HEAD -[SDF Functions](https://www.iquilezles.org/www/articles/distfunctions/distfunctions.htm) -======= [SDF Functions](https://www.iquilezles.org/www/articles/distfunctions/distfunctions.htm) ->>>>>>> d6d1f4369c6f85aa7c0591fc6ca457dd133f45f7